File Transfer Protocol je nejstarší, a poměrně komplikovanou, službou Internetu. Užívá se pro přenos souborů mezi vzdálenými počítači v obou směrech. Použití služby FTP závisí na právech na jednotlivých počítačích. Pracuje na principu klient - server. V Unixech se používá balík wu-ftpd (vyvinutý na Washingtonově universitě v Sant Luis a mající status volného software). Ftpd démon se spouští superdémonem inetd a tedy musí být uveden v /etc/inetd.conf.
Po spuštění ftp se pro přihlášení k vzdálenému stroji používá uživatelské jméno a heslo. Heslem je obvykle pro anonymní přihlašování e-mail adresa klienta nebo guest. Často stačí napsat cokoliv co obsahuje @.
Mnoho počítačů umožňuje anonymní přístup klientům. Pro anonymní přihlašování je zřízen speciální účet ftp, ke kterému se přihlašuje klient jako
anonymous, nebo
ftp.
Účet ftp na serveru je potencionálním zdrojem ohrožení bezpečnosti serveru, a proto musí být zřízen za dodržení určitých pravidel.
Pro anonymního uživatele se obvykle zřizuje skupina uživatelů (např. anonftp), jejímž členem je jediný uživatel a to ftp resp. anonymous. Zřízení uživatele ftp vyžaduje tedy v souboru
/etc/group uvést
anonftp::19:
/etc/passwd/
ftp:*:404:19:Anonymous FTP user:/home/ftp/:/bin/false
Uživatel má zablokované heslo a nepoužitelnou přihlašovací utilitu /bin/false.
Démon ftpd označí adresář /home/ftp jako root (použitím utility chroot)
Pro stahování souborů je zřízen adresář ~ftp/pub, u kterého má kllient jen právo čtení.
Pro zápis musí být zřízen jiný adresář, jehož obsah je pro klienty neviditelný, aby se zabránilo nelegální šíření nekontrolovaného software.
Por stahování souborů je vhodné používat komprimační program gzip, který se umísťuje do adresáře ~ftp/bin.
Bezpečnost serveru vyžaduje
· pro údržbu a správu FTP je určena skupina administrátorů (např. ftpadmin)
· pro anonymní klienty se musí zřídit zvláštní skupina uživatelů (anonftp)
· vlastníkem adresáře ~ftp i všech podadresářů a souborů musí být root a skupina ftpadmin. Nastavení práv
pro soubory -rw-rw-r--.
pro adresáře drwxrwxr-x.
· Pro zápis musí být vyhrazen zvláštní adresář, např. ~ftp/incoming s vlastníkem root a se skupinou určenou pro anonymní klienty anonftp, Přístupová práva k tomuto adresáři musí být drwx-wx---. Pak anonymní klient má v něm právo zápisu, ale nevidí obsah adresáře.
· Démon ftpd na FTP serveru vyžaduje pro stahování jednak příkaz ls a jednak komprimační program gzip. Oba jsou umístěny v adresáři ~ftp/bin. Tyto programy jsou sestaveny staticky a zkopírovány do daného adresáře, nebo využívají dynamických knihoven, které musí být v tomto adresáři.
· Dále je zapotřebí pro klienta zpřístupnit soubory group a psswd, ze kterého čerpá informace příkaz ls. Proto je potřebí z těchto souborů vybrat jen ty položky, které se týkají potencionálních uživatelů a vlastníků souborů v adresářích ftp a tyto zkopírovat do souborů ~ftp/etc/passwd a ~ftp/etc/group. Doporučuje se také změnit jména účtů v těchto souborech, aby se snížilo riziko zneužití.
· Nastavení souboru /etc/ftpusers . V tomto souboru jsou uživatelé, kteří mají zakázaný přístup pro relace FTP. Mezi nimi musí být i root, neboť se hesla při FTP relacích šíří volně a je možný jejich odposlech.
· hlavním konfiguračním souborem je /etc/ftpacces ve kterém se definují třídy uživatelů a počítačů, jimž pak lze selektivně upravovat přístupová práva,
· loginfails 3 počet pokusů k přístupu
· class local real, guest, anonymous jméno domény lokální klienti
· real kteří mají účet
· guest něco mezi anonymous a těmi co mají účet
· jméno domény se vztahuje na počítače, ze kterých lze provést přístup a musí být v reverzní doméně
· class remote totéž pro vzdálené
· readme README* login oznamují po přihlášení kdy byly soubory modifikovány
· passwd-check enforce - nutné zadat heslo včetně @
warn - varuje při nesprávném hesle, ale akceptuje
none - bez hesla
trivial - kontroluje pouze @