VSFTPD

Úvod

VSFTPD je zkratka anglického názvu Very Secure FTP Daemon. Jedná se o rychlý, stabilní a velmi bezpečný FTP server, který je standardní součástí distribuce CentOS a který je obsažen ve velkém počtu dalších distribucí. Největší předností tohoto serveru je opravdu snadná konfigurovatelnost a poměrně velká funkcionalita, kterou nabízí. Velikost démona vsftpd v binární podobě je něco málo přes 100KB a i přes tuto malou velikost dokáže vsftpd hravě obsluhovat přes 2500 současných konexí.

Přehled základních funkcí vsftpd démona:

  • podporuje pasivní i aktivní mód
  • může běžet buď samostatně nebo přes superserver inetd (xinetd)
  • podpora lokálních i anonymních uživatelů
  • podpora virtuálních uživatelů
  • podpora konfigurace virtuálních IP
  • možnost nastavení rozdílné konfigurace pro každého uživatele
  • možnost nastavení rozdílné konfigurace nebo limitů pro každou IP adresu
  • limitování (škrcení) datového toku
  • podpora šifrované komunikace přes SSL
  • podporuje IPv6

Trochu teorie

aktivní mód FTP

V aktivním módu se klient připojuje k serveru z náhodného neprivilegovaného portu (N>1024) a to na port serveru 21, který je určen pro předávání příkazů. Klient po této úvodní komunikaci otevře port N+1 na kterém bude naslouchat a toto číslo portu pošle (příkazem PORT) serveru. Server se poté připojí zpátky z portu 20 (což je port pro data) na daný klientem zaslaný port.

aktivni FTP mod

pasivní mód FTP

Pasivní mód (příkaz PASV) funguje trochu jiným způsobem. V tomto módu FTP server neprovádí otevření datové komunikace s klientem, ale o vše se postará klient. Tento způsob byl výhodný v tom, že se nemusel řešit poblém s nastavením firewallu, protože obě spojení otevírá klient, zatímco v aktivním módu bylo zapotřebí otevřít port pro naslouchání na straně klienta. Současné stavové firewally bezproblémově řeší díky "connection trackingu" jak pasivní, tak aktivní mód.

V pasivním módu otevírá klient dva náhodné neprivilegované porty (N>1024 a N+1). Přes první port je kontaktován server na portu 21 (port pro předávání příkazů) a místo toho aby klient poslal příkaz PORT, který by serveru řekl na jaký port klienta se má přihlásit, tak se pošle příkaz PASV. Výsledkem tohoto příkazu je, že server otevře náhodný neprivilegovaný port (P>1024) a pošle zpátky klientovi příkaz PORT P. Klient poté iniciuje komunikaci ze svého portu N+1 na port P serveru a po tomto kanále si následně budou předávat data.

pasivni FTP mod

Instalace

Balíček VSFTPD je součástí instalačních médií a tedy i součástí repozitáře base. Instalaci provedeme jako uživatel root následujícím příkazem:

yum install vsftpd

Defaultně je vsftpd démon vypnut ve všech úrovních běhu systému, takže je zapotřebí jej nakonfigurovat pro jeho automatické spouštění po startu/restartu systému, což lze provést například tímto příkazem:

chkconfig --level 3 vsftpd on

Ruční nastartování serveru můžeme provést následovně:

service vsftpd start

nebo

/etc/init.d/vsftpd start
Naposledy změněno: 11.2.2007 10:40