Konfiguracja serwera FTP
File Transfer Protocol (FTP) to standardowy protokół sieciowy służący do dwukierunkowego przesyłania plików między serwerem a stacją roboczą w architekturze klient-serwer. W środowiskach Linux najpopularniejszym, wydajnym i bezpiecznym rozwiązaniem jest instalacja usługi vsftpd (Very Secure FTP Daemon). Wdrożenie bezpiecznego serwera FTP wymaga ograniczenia możliwości anonimowego logowania oraz odizolowania zalogowanych użytkowników w obrębie ich własnych katalogów domowych.
1. Instalacja pakietu vsftpd w systemie Linux
W systemach z rodziny Debian lub Ubuntu serwer FTP instalujemy z oficjalnych repozytoriów oprogramowania. Domyślnie usługa po instalacji uruchamia się automatycznie i nasłuchuje na standardowym porcie dwudziestym pierwszym. Proces instalacji wykonujemy za pomocą menedżera pakietów apt:
sudo apt install vsftpd -y
2. Bezpieczna konfiguracja demona FTP
Główny plik konfiguracyjny usługi FTP znajduje się w katalogu etc i nosi nazwę vsftpd.conf. Standardowe ustawienia po instalacji zabraniają zapisu danych i pozwalają na logowanie anonimowe, co stanowi zagrożenie. Musimy zmodyfikować ten plik, aby zezwolić na logowanie wyłącznie użytkownikom lokalnym systemu, odblokować uprawnienia zapisu (wgrywania plików) oraz zablokować poruszanie się po strukturze katalogów serwera (tzw. chroot jail). Kluczowe linie konfiguracyjne w pliku powinny mieć następujące wartości:
anonymous_enable=NOBlokuje możliwość logowania bez podania loginu i hasła (konta gościa).
local_enable=YESZezwala lokalnym użytkownikom systemowym z pliku passwd na logowanie.
write_enable=YESUmożliwia wgrywanie, tworzenie i usuwanie plików na serwerze FTP.
chroot_local_user=YESBlokuje użytkownikom możliwość wychodzenia poza ich katalog domowy.
allow_writeable_chroot=YESZezwala na logowanie, gdy katalog domowy użytkownika ma nadane uprawnienia do zapisu.
Po zakończeniu modyfikacji konfiguracji w pliku tekstowym, zapisujemy go i restartujemy demona usługi, aby zmiany zostały zaimportowane przez system operacyjny:
sudo systemctl restart vsftpd && sudo systemctl enable vsftpd
W celu weryfikacji poprawnego uruchomienia usługi, możemy wywołać sprawdzenie jej aktualnego statusu w systemie:
sudo systemctl status vsftpd