Serwer FTP z anonimowym dostępem (vsftpd) – konfiguracja i bezpieczeństwo
vsftpd (Very Secure FTP Daemon) to popularny serwer FTP w systemach Linux, znany ze swojej prostoty, szybkości i bezpieczeństwa. Jedną z jego funkcji jest anonimowy dostęp, który pozwala użytkownikom na pobieranie plików bez konieczności logowania. Jest to przydatne rozwiązanie dla serwerów udostępniających publiczne pliki, takie jak dokumentacja, sterowniki czy oprogramowanie.
W tym artykule dowiesz się, jak:
✅ Skonfigurować vsftpd do obsługi anonimowych użytkowników
✅ Ograniczyć dostęp tylko do pobierania plików
✅ Zabezpieczyć serwer przed nieautoryzowanym dostępem
1. Dlaczego warto skonfigurować anonimowy dostęp FTP?
Anonimowy dostęp do serwera FTP może być przydatny w wielu sytuacjach, takich jak:
✔ Publiczne repozytoria plików – np. sterowniki, dokumentacja, obrazy systemów operacyjnych.
✔ Udostępnianie zasobów wewnętrznych – np. w organizacjach, gdzie nie ma potrzeby uwierzytelniania użytkowników.
✔ Prostota – użytkownicy mogą pobierać pliki bez zakładania konta i podawania hasła.
❗ Ważne! Należy zachować szczególną ostrożność, aby nie udostępnić wrażliwych danych publicznie.

2. Instalacja vsftpd na Ubuntu/Debian
Jeśli vsftpd nie jest jeszcze zainstalowany, możemy to zrobić za pomocą komendy:
sudo apt update
sudo apt install vsftpd -y
Po zakończeniu instalacji sprawdzamy status usługi:
sudo systemctl status vsftpd
Jeśli serwer nie działa, uruchamiamy go:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
3. Konfiguracja anonimowego dostępu w vsftpd
Główny plik konfiguracyjny vsftpd znajduje się w /etc/vsftpd.conf
. Aby włączyć anonimowy dostęp, otwieramy go w edytorze:
sudo nano /etc/vsftpd.conf
Modyfikujemy następujące ustawienia:
a) Włączenie anonimowego dostępu
Zmieniamy wartość anonymous_enable
na YES:
anonymous_enable=YES
Dzięki temu użytkownicy będą mogli połączyć się z serwerem bez konieczności logowania.
b) Wyłączenie dostępu do zapisu
Aby zabezpieczyć serwer przed nieautoryzowanym przesyłaniem plików, dodajemy:
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
Zapobiega to tworzeniu nowych katalogów oraz przesyłaniu plików przez anonimowych użytkowników.
c) Ograniczenie dostępu tylko do katalogu publicznego
Dodajemy:
anon_root=/srv/ftp
To ustawienie określa katalog, do którego będą mieli dostęp anonimowi użytkownicy.
d) Ukrycie listy plików systemowych
Zapobiegamy przeglądaniu plików systemowych przez anonimowych użytkowników:
hide_ids=YES
e) Ustawienie pasywnego trybu FTP
W przypadku problemów z połączeniem dodajemy:
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
Zapisujemy zmiany i zamykamy plik (Ctrl + X
, Y
, Enter
).
4. Tworzenie katalogu dla anonimowych użytkowników
Domyślnie katalog dla anonimowych użytkowników znajduje się w /srv/ftp
. Jeśli nie istnieje, tworzymy go:
sudo mkdir -p /srv/ftp
Nadajemy odpowiednie uprawnienia:
sudo chown -R ftp:ftp /srv/ftp
sudo chmod 755 /srv/ftp
Dodajemy testowy plik, aby sprawdzić, czy serwer działa poprawnie:
echo "Witaj na anonimowym serwerze FTP!" | sudo tee /srv/ftp/README.txt
5. Otworzenie portów w firewallu
Jeśli korzystamy z zapory ufw
, musimy otworzyć port FTP (21) oraz zakres portów dla trybu pasywnego:
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
Sprawdzamy status firewalla:
sudo ufw status
6. Restart serwera FTP
Po dokonaniu zmian restartujemy usługę:
sudo systemctl restart vsftpd
Sprawdzamy status serwera:
sudo systemctl status vsftpd
7. Testowanie anonimowego dostępu do FTP
Teraz możemy przetestować połączenie anonimowe. W terminalu wpisujemy:
ftp adres_IP_serwera
Gdy zostaniemy poproszeni o login, wpisujemy:
anonymous
Hasło można zostawić puste.
Następnie sprawdzamy listę plików:
ls
Powinniśmy zobaczyć plik README.txt
, który wcześniej utworzyliśmy.
8. Dodatkowe zabezpieczenia
⚠ Zabezpieczenie przed atakami brute-force
Aby ograniczyć liczbę jednoczesnych połączeń od anonimowych użytkowników, dodajemy do pliku /etc/vsftpd.conf
:
max_clients=20
max_per_ip=3
⚠ Wyłączenie listowania katalogów
Jeśli nie chcemy, aby anonimowi użytkownicy mogli przeglądać katalogi, dodajemy:
dirlist_enable=NO
⚠ Monitorowanie logów
Regularnie sprawdzaj logi serwera FTP:
sudo cat /var/log/vsftpd.log
Podsumowanie
Konfiguracja anonimowego dostępu w vsftpd pozwala na łatwe udostępnianie plików publicznie, ale wymaga zachowania ostrożności.
✅ Anonimowi użytkownicy mogą pobierać pliki bez logowania
✅ Bezpieczeństwo zapewniają ograniczenia zapisu i dostępu do katalogów
✅ Proste zarządzanie publicznymi plikami
❌ Nie należy udostępniać wrażliwych danych anonimowo
Dzięki tej konfiguracji możesz stworzyć bezpieczny i funkcjonalny serwer FTP, który umożliwi łatwy dostęp do plików publicznych.