Konfiguracja serwera FTP z ProFTPD w systemie Linux
Linux

Konfiguracja serwera FTP z ProFTPD w systemie Linux

Konfiguracja serwera FTP z ProFTPD w systemie Linux

ProFTPD (Professional FTP Daemon) to popularna alternatywa dla vsftpd, oferująca większe możliwości konfiguracji i elastyczność w zarządzaniu użytkownikami oraz dostępem do zasobów. Jego konfiguracja przypomina Apache HTTP Server, co sprawia, że jest bardziej intuicyjny dla administratorów systemów.

🔹 Dlaczego warto używać ProFTPD?
Zaawansowana konfiguracja – możliwość stosowania reguł dostępu i autoryzacji.
Obsługa wirtualnych użytkowników – możliwość konfiguracji użytkowników FTP bez kont systemowych.
Integracja z bazami danych – wsparcie dla MySQL i PostgreSQL.
Obsługa TLS/SSL – możliwość szyfrowania połączeń dla zwiększenia bezpieczeństwa.

W tym artykule omówimy:
Instalację i konfigurację ProFTPD w Ubuntu/Debian
Podstawowe ustawienia i opcje konfiguracyjne
Konfigurację użytkowników oraz zabezpieczeń
Testowanie działania serwera FTP


1. Instalacja ProFTPD w Ubuntu/Debian

Na początek zainstaluj pakiet ProFTPD:

sudo apt update
sudo apt install proftpd -y

Podczas instalacji pojawi się pytanie o tryb uruchamiania:
🔹 Standaloneserwer działa jako osobny proces (zalecane).
🔹 Inetd – uruchamiany na żądanie przez superdemona inetd/xinetd.

Jeśli nie wiesz, którą opcję wybrać, pozostaw Standalone.

Po instalacji sprawdź status usługi:

sudo systemctl status proftpd

Jeśli serwer nie działa, uruchom go ręcznie:

sudo systemctl start proftpd
sudo systemctl enable proftpd

2. Podstawowa konfiguracja ProFTPD

Plik konfiguracyjny ProFTPD znajduje się w:

/etc/proftpd/proftpd.conf

Edytuj go:

sudo nano /etc/proftpd/proftpd.conf

🔹 Krok 1: Ustawienie nazwy serwera
Zmień linijkę:

ServerName "Serwer FTP Linux"

Możesz wpisać dowolną nazwę serwera.

Czytaj  Protokoły składowe TCP/IP: Kluczowe elementy komunikacji w sieciach

🔹 Krok 2: Ustawienia dostępu
Zalecane ustawienia dla lepszego bezpieczeństwa:

DefaultRoot ~
RequireValidShell off
UseIPv6 off

🔹 Krok 3: Zezwolenie na logowanie użytkowników
Aby umożliwić dostęp tylko lokalnym użytkownikom:

<Global>
  RequireValidShell off
</Global>

Dzięki temu użytkownicy FTP nie muszą mieć powłoki systemowej.

🔹 Krok 4: Ograniczenie liczby połączeń
Aby zapobiec przeciążeniu serwera:

MaxClients 10
MaxClientsPerHost 2

Zapisz plik (Ctrl + X, Y, Enter) i zrestartuj ProFTPD:

sudo systemctl restart proftpd

3. Tworzenie użytkowników FTP

🔹 Krok 1: Dodanie nowego użytkownika

sudo adduser ftpuser

Nadaj użytkownikowi hasło i skonfiguruj katalog domowy.

🔹 Krok 2: Ograniczenie dostępu do katalogu domowego
Dodaj użytkownika do pliku proftpd.conf:

<Directory /home/ftpuser>
  Umask 022
  AllowOverwrite on
</Directory>

Teraz użytkownik ftpuser będzie miał dostęp wyłącznie do swojego katalogu.

🔹 Krok 3: Sprawdzenie dostępu
Połącz się z serwerem FTP za pomocą klienta, np.:

ftp localhost

Wpisz nazwę użytkownika i hasło, a następnie sprawdź dostęp do plików.

Konfiguracja serwera FTP z ProFTPD w systemie Linux
Konfiguracja serwera FTP z ProFTPD w systemie Linux

4. Konfiguracja serwera ProFTPD z SSL/TLS

Aby zapewnić bezpieczne połączenia FTP, skonfiguruj SSL/TLS.

🔹 Krok 1: Instalacja OpenSSL

sudo apt install openssl -y

🔹 Krok 2: Generowanie certyfikatu SSL

sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -days 365 -nodes

🔹 Krok 3: Włączenie TLS w ProFTPD
Edytuj plik konfiguracyjny:

sudo nano /etc/proftpd/proftpd.conf

Dodaj na końcu pliku:

<IfModule mod_tls.c>
  TLSEngine on
  TLSLog /var/log/proftpd/tls.log
  TLSProtocol TLSv1.2 TLSv1.3
  TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
  TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
  TLSRequired on
</IfModule>

Zapisz plik i zrestartuj serwer:

sudo systemctl restart proftpd

5. Konfiguracja firewalla dla ProFTPD

Jeśli korzystasz z ufw, otwórz porty FTP:

sudo ufw allow 21/tcp

Dla iptables:

sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT

6. Testowanie serwera ProFTPD

📌 Sprawdzenie logów serwera FTP

sudo tail -f /var/log/proftpd/proftpd.log

📌 Połączenie przez FTP
Z innego komputera spróbuj połączyć się za pomocą klienta FTP (np. FileZilla) lub użyj konsoli:

ftp adres_IP_serwera

📌 Połączenie przez FTP z SSL/TLS
Jeśli używasz szyfrowania, sprawdź logi TLS:

cat /var/log/proftpd/tls.log

7. Zalety ProFTPD względem vsftpd

Cecha ProFTPD vsftpd
Łatwość konfiguracji ✅ Intuicyjna, podobna do Apache ❌ Plik konfiguracyjny mniej elastyczny
Obsługa baz danych ✅ Tak (MySQL, PostgreSQL) ❌ Brak
Obsługa wirtualnych użytkowników ✅ Tak ✅ Tak, ale mniej elastyczne
Obsługa TLS/SSL ✅ Tak, łatwa konfiguracja ✅ Tak, ale trudniejsza konfiguracja
Obsługa IPv6 ✅ Tak ✅ Tak
Zaawansowane reguły dostępu ✅ Tak ❌ Ograniczone możliwości
Czytaj  Konfigurowanie połączenia internetowego w Linuksie ręcznie bez dhcpd

📌 ProFTPD to lepszy wybór dla zaawansowanych konfiguracji FTP.
📌 vsftpd jest prostszy i bardziej odpowiedni do podstawowych zastosowań.


Podsumowanie

ProFTPD to potężny serwer FTP z zaawansowanymi opcjami konfiguracji.
Łatwa konfiguracja użytkowników, TLS i integracja z bazami danych.
Doskonały wybór dla bardziej skomplikowanych środowisk.

Jeśli potrzebujesz bezpiecznego i elastycznego serwera FTP, ProFTPD jest świetnym rozwiązaniem.

Polecane wpisy
Jak sprawdzić parametry podzespołów Linux
Jak sprawdzić parametry podzespołów Linux

Aby sprawdzić parametry podzespołów w systemie Linux, można skorzystać z różnych poleceń i narzędzi. Oto kilka sposobów: Jak sprawdzić Czytaj dalej