|
![]() |
|
![]() Mario M. Knopf <netzmeister/at/neo5k/dot/org> O Autorze: 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. T³umaczenie na jêzyk polski: B.J.F. Stobiecki <bjfs/at\op.pl> Zawarto¶æ: |
vsftpd - Wprowadzenie do Bardzo Bezpiecznego FTPd![]() Notka:
Ten artyku³ jest wprowadzeniem do "Very Secure FTP Daemon"
(Bardzo Bezpieczny Daemon FTP). Zacznê od ogólnego opisu FTP
i vsftpd. Nastêpnie spojrzymy na instalacjê, konfiguracjê
i opcje startowe vsftpd. Zakoñczymy krótkim testem funkcji.
|
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ê.
|
Strona prowadzona przez redakcjê LinuxFocus
© Mario M. Knopf, FDL LinuxFocus.org |
t³umaczenie:
|
2004-07-07, generated by lfparser version 2.46