original in de Mario M. Knopf
de to en Jürgen Pohl
en to pl B.J.F. Stobiecki
Mario lubi si� zajmowa� Linuksem, sieciami i innymi tematami zwi�zanymi z bezpiecze�stwem. W wolnych chwilach zajmuje si� dwiema witrynami: neo5k.org i linuxwallpapers.de.
FTP u�ywa protoko�u TCP (Transmission Control Protocol) jako kana�u transmisji, co zapewnia przyj�cie danych dla odbiorcy. W zwi�zku z tym nie ma potrzeby, aby FTP zajmowa� si� kwesti� utraty pakiet�w, b�d� kontroli b��d�w podczas przesy�u. M�wi�c prosto TCP upewnia si�, �e ka�dy pakiet przyjdzie tylko raz - bez b��d�w i we w�a�ciwej kolejno�ci.
Przesy�anie danych dzieli si� na trzy r�ne typy, gdzie zako�czenie trybu stream (strumieniowy) oznacza si� markerem EOF (koniec pliku), za� dwa pozosta�e oznacza si� przez EOR (koniec rekordu).
Dodatkowo s� dwa tryby przesy�u:
Tryb ASCII jest u�ywany do przesy�ania plik�w tekstowych, za� tryb binarny jest u�ywany do przesy�ania program�w i podobnych danych. U�ytkownik nie musi wybiera� r�cznie trybu, gdy� obecne klienty FTP rozpoznaj� typ pliku, kt�ry ma by� przesy�any.
Poniewa� uwierzytelnianie u�ytkownika i has�a nie jest szyfrowane to nale�y zwr�ci� uwag�, i� jest to potencjalne zagro�enie bezpiecze�stwa. Jest to pow�d do zastanowienia si� nad bezpiecze�stwem FTP. Z tego powodu w pa�dzierniku 1997 roku opublikowano RFC 2228[2], kt�re opisywa�o ulepszenie bezpiecze�stwa dla protoko�u FTP.
Nazwa vsftpd oznacza "bardzo bezpieczny FTPd", co stanowi jeden z g��wnych za�o�e� jego tw�rcy, Chrisa Evansa. Od samego pocz�tku tworzenia i projektowanie tego serwera wysokie bezpiecze�stwo stanowi�o g��wny cz�on dzia�ania.
Jednym z przyk�ad�w jest fakt, i� vsftpd operuje w trybie chroot, co oznacza, �e program (w tym przypadku vsftpd) ma przydzielony nowy katalog root. Dzi�ki temu nie mo�e on uzyska� dost�pu do program�w znajduj�cych si� na zewn�trz tego katalogu - jest tak jakby 'zamkni�ty'. W przypadku w�amania si� na taki serwer, potencjalny agresor by�by odizolowany od reszty systemu i nie pozwoli�oby to na rozszerzenie wymiaru szk�d. Wi�cej informacji na temat chroot znajduje si� w artykule pod odno�nikiem [3]. Artyku�[4] jest zalecany dla tych, kt�rzy s� zainteresowani mechanizmem bezpiecze�stwa vsftpd
Z wieloma cechami, kt�re s� wymagane dla bezpiecze�stwa us�ugi serwer�w FTP, vsftpd znacznie si� wybija nad innymi serwerami. WU-FTPD[5] mo�e by� tutaj wymienione jako negatywny przyk�ad z powodu wielu luk w jego bezpiecze�stwie wykrytych na przedziale wielu lat.
Po zdobyciu �r�de� i odpakowaniu tar, przechodzimy do utworzonego katalogu i uruchamiamy make. Oto przyk�ad wymaganych polece�:
neo5k@phobos> tar xzvf
vsftpd-x.x.x.tar.gz
neo5k@phobos> cd vsftpd-x.x.x
neo5k@phobos> make
neo5k@phobos> mkdir /var/ftp
neo5k@phobos> useradd -d /var/ftp ftp
neo5k@phobos> chown root.root /var/ftp
neo5k@phobos> chmod og-w /var/ftp
neo5k@phobos> make install
Strony man i nasz program powinien by� teraz skopiowane do w�a�ciwego miejsca w systemie danych. W przypadku nieprzewidzianych komplikacji r�czne kopiowanie plik�w mo�e za�atwi� spraw�.neo5k@phobos> cp vsftpd /usr/sbin/vsftpd
neo5k@phobos> cp vsftpd.conf.5 /usr/share/man/man5
neo5k@phobos> cp vsftpd.8 /usr/share/man/man8
neo5k@phobos> cp vsftpd.conf /etc
# Komentarz
# Zezwoli� na anonimowy dost�p ?
YES/NO [tak/nie]
anonymous_enable=NO
# Zezwoli� na anonimowy upload? YES/NO
anon_upload_enable=NO
# Zezwoli� na anonimowe tworzenie katalog�w?
YES/NO
anon_mkdir_write_enable=NO
# Zezwoli� anonimowym u�ytkownikom na inne operacje zapisu
- jak zmiana nazwy i kasowanie? YES/NO
anon_other_write_enable=NO
# Zezwala� na zalogowanie si� u�ytkownikom lokalnym? YES/NO
local_enable=YES
# Czy u�ytkownicy lokalnie powinni by� 'zamkni�ci' w swoich katalogach?
YES/NO
chroot_local_user=YES
# Najwy�sza dozwolona przepustowo�� w bitach na sekund�
dla u�ytkownik�w lokalnych. Domy�lnie = 0 (bez ogranicze�)
local_max_rate=7200
# Og�lne zezwolenie na zapis? YES/NO
write_enable=YES
# W��czy� wiadomo�ci katalogowe ? YES/NO
dirmessage_enable=YES
# Baner witaj�cy zalogowanego u�ytkownika.
ftpd_banner="Welcome to neo5k's FTP service."
# W��czy� monitoring? YES/NO
xferlog_enable=YES
# Monitorowanie wszystkich dzia�alno�ci FTP? YES/NO
# Ostro�nie! To mo�e tworzy� ogromn� ilo�� danych.
log_ftp_protocol=NO
# Potwierdzaj ��czenie wy��cznie na port 20 (ftp data)
. YES/NO
connect_from_port_20=YES
# Czas po kt�rym bezczynne sesje s� roz��czane
idle_session_timeout=600
# Timeout dla danych
data_connection_timeout=120
# Dost�p przez Pluggable Authentication Modules
(PAM)
pam_service_name=vsftpd
# Samodzielna operacja? YES/NO - w zale�no�ci od trybu operacji
(inetd, xinetd, Standalone)
# Serwis FTP autora jest uruchamiany z xinetd, dlatego tutaj jest
NO.
listen=NO
neo5k@phobos> vi /etc/inetd.conf
# ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd ftp stream tcp nowait root /usr/sbin/tcpd vsftpd
# vsftp daemon. service ftp { disable = no socket_type = stream wait = no user = root server = /usr/sbin/vsftpd per_source = 5 instances = 200 no_access = 192.168.1.3 banner_fail = /etc/vsftpd.busy_banner log_on_success += PID HOST DURATION log_on_failure += HOST nice = 10 }
# # Samodzielna operacja? YES/NO
listen=YES
neo5k@phobos> /usr/sbin/vsftpd &
Je�li �cie�ka wyszukiwania zosta�a prawid�owo wpisana to nast�puj�ce polecenie uruchomi serwer:neo5k@phobos> vsftpd &
Kolejnym wpisem mo�emy sprawdzi�, czy �cie�ka wyszukiwania zosta�a poprawnie wprowadzona:neo5k@phobos> echo $PATH
/usr/sbin:/bin:/usr/bin:/sbin:/usr/X11R6/bin
neo5k@phobos> ftp phobos Connected to phobos 220 "Welcome to neo5k's FTP service." Name (phobos:neo5k): testuser 331 Please specify the password. Password: 230 Login successful Remote system type is UNIX. Using binary mode to transfer files. ftp> ls -l 229 Entering Extended Passive Mode 150 Here comes the directory listing drwxr-xr-x 11 500 100 400 May 07 16:22 docs drwxr-xr-x 9 500 100 464 Feb 01 23:05 hlds drwxr-xr-x 39 500 100 4168 May 10 09:15 projects 226 Directory send OK. ftp>
Oczywi�cie, to wprowadzenie ukazuje jedynie u�amek �rodowiska danego przez vsftpd, gdy� ten serwer FTP daje nam wiele mo�liwo�ci konfiguracyjnych. Zainteresowani g��bsz� analiz� vsftpd powinni odwiedzi� stron� projektu[6] i przejrze� szczeg�ow� dokumentacj�.