proFTPd - /etc/ftpusers
Zdravím,
pustil jsem se do ftpserveru (beru to jako zábavu spojenou s tím, že se něco naučím), mám nainstalovany proFTPd na debian squeeze, čtu si postupně dokuemntaci konfigurace ale stále mi vrtá hlavou obsah /etc/ftpusers.
proftpd.html
říká
/etc/ftpusers
Seznam uživatelů, kteří se k serveru nebudou moci přihlásit. Každý uživatel je uveden na samostatném řádku. Z bezpečnostního hlediska je vhodné zakázat přinejmenším přihlašování roota, raději ale zakažte všechny uživatele, které nezbytně nepotřebujete k životu.
a komentář přímo z daného souboru:
# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).
Bylo mi řečeno, že blokace roota je doporučena z toho důvodu, že pokud se snaží připojit někdo kdo se nudí, je root to první co honapadne. Tedy pokud zablokuji roota, musi uhadnout login+heslo. Tedy mu to stížím oproti situaci kdy bych roota povolil a pripadny škudce by hadal jen heslo.
Plus mi ještě vrtá hlavou použití takového ftp jen pro pár uživatelů, např 2. Používání blacklistu když chci přístup jen pro dva učty je přeci vrcholně nepraktické.
Chápu to dobře, nebo je tomu jinak?
No nepoužívám Proftpd, ale Pure-FTPd, ale předpokládám, že princip bude stejný:
V rámci zabezpečení loginu se zakáže přihlašování k ftp serveru lokálním účtům toho linuxu (myslím tím lokální účty uživatelů), př. root, guest, hanka, petr, atd... - UNIX - PAM Authentication + NoAnonymous
Pro fungování ftp se založí speciální účty bez adresáře home, které přesměruji na požadované adresáře - PureDB a tam je uzamknu (chrootnu). - ChrootEveryone
Nevím jestli v každé instalaci /verzi, ale podle příkladu co jsem vygooglil má proftpd v sample souboru ftpusers tohle:
Takže roota můžeš zakázat i takhle (uvažuješ správně, je to z tohoto důvodu), nemusíš k tomu nutně použít ftpusers.
Co se týče blacklistu vs. whitelistu userů, o tom jsem nic nenašel - zdá se, že proftpd whitelist nepodporuje, ale jistě to říci nemůžu.
no je mozne spravovat učty přes myssql/ldap/pam a mozno dalsi. Osobně planuji MySql až zmaknu tohle. Jen mě zarazilo že to whitelisting nepodporuje.
Důvod, proč se zakazuje root je jednoduchý. Řídící spojení FTP je čistě textové a není šifrované. Takže KDOKOLI "po cestě" je schopen odchytit heslo roota (obecně každého uživatele, který se přihlašuje přes FTP). To je velká bezpečnostní díra, takže se velmi doporučuje FTP uživatele vytvářet zcela mimo systém (např. v LDAP nebo SQL), naopak pokud možno NEpoužívat systémové účty, a pokud, tak buď: a) použít šifrovaný přenos přes SSL, nebo b) takovým uživatelům znepřístupnit shell. Ideální je kombinace a+b.