Aby zainstalować serwer ProFTPD z obsługą TLS na Ubuntu, należy przeprowadzić szereg kroków: instalację oprogramowania, konfigurację użytkowników, wygenerowanie certyfikatu i odpowiednią modyfikację konfiguracji serwera. Poniżej znajdziesz kompletny poradnik krok po kroku wraz z wyjaśnieniami dla każdego etapu.
1. Aktualizacja systemu
Zanim przystąpisz do instalacji, warto upewnić się, że wszystkie pakiety systemowe są aktualne:
sudo apt update -y && sudo apt upgrade -y
To gwarantuje najnowsze wersje i poprawki bezpieczeństwa.
2. Instalacja serwera ProFTPD
Instalację ProFTPD rozpocznij komendą:
sudo apt install proftpd -y
Po zakończeniu instalacji uruchom i sprawdź status serwera:
sudo systemctl start proftpd sudo systemctl status proftpd
(Wersję programu sprawdzisz przez proftpd --version
).
3. Konfiguracja serwera ProFTPD
Główna konfiguracja znajduje się w pliku /etc/proftpd/proftpd.conf
. Otwórz plik edytorem:
sudo nano /etc/proftpd/proftpd.conf
Zalecane przykładowe ustawienia:
ServerName "ProFTPD Server" UseIPv6 on Port 21 SystemLog /var/log/proftpd/proftpd.log DefaultRoot ~
Dzięki tym ustawieniom serwer rozpocznie pracę na porcie 21 i „zamyka” użytkownika w jego katalogu domowym.
Po zmianach zrestartuj usługę:
sudo systemctl restart proftpd
4. Utworzenie użytkownika FTP
Dodaj użytkownika, który będzie korzystał z FTP:
sudo adduser ftpuser
Podaj hasło i uzupełnij (lub pomiń) dodatkowe dane. To jest użytkownik lokalny Linuxa, używany do logowania przez FTP.
5. Instalacja i konfiguracja TLS/SSL
5.1. Instalacja niezbędnych modułów
Zainstaluj wymagane pakiety:
sudo apt install openssl proftpd-mod-crypto -y
Moduł proftpd-mod-crypto
dodaje obsługę TLS/SSL w ProFTPD.
5.2. Generowanie certyfikatu SSL
Wygeneruj własny certyfikat SSL (ważny 365 dni):
sudo openssl req -x509 -newkey rsa:2048 -sha256 \ -keyout /etc/ssl/private/proftpd.key \ -out /etc/ssl/certs/proftpd.crt \ -nodes -days 365
Podczas generowania należy podać minimalne dane certyfikatu (np. nazwę hosta, organizacji). Pliki klucza i certyfikatu będą potrzebne w konfiguracji ProFTPD.
6. Włączenie i konfiguracja TLS w ProFTPD
Dodaj (lub zmodyfikuj) w pliku /etc/proftpd/proftpd.conf
poniższe linie (najczęściej w dolnej części pliku):
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key TLSRequired on </IfModule>
- TLSEngine on – aktywuje mechanizm TLS.
- TLSRequired on – wymusza użycie szyfrowania dla wszystkich połączeń.
- TLSLog – logfile dla działań związanych z TLS.
- TLSRSACertificateFile / TLSRSACertificateKeyFile – ścieżki do Twojego certyfikatu i klucza.
Zapisz zmiany i zrestartuj serwer:
sudo systemctl restart proftpd
7. Testowanie serwera FTP z TLS
Po konfiguracji sprawdź działanie serwera korzystając z klienta FTP wspierającego TLS (np. FileZilla, WinSCP, lftp).
- Połącz się podając nazwę hosta, użytkownika, hasło oraz wybierając protokół FTP przez TLS/SSL (FTPS).
- Sprawdź, czy transfer plików oraz logowanie przebiega bez błędów, a certyfikat jest akceptowany.
8. Dodatkowe zalecenia bezpieczeństwa
Zalecane czynności:
- Zmień domyślne porty, jeśli serwer ma być wystawiony na świat.
- Skonfiguruj firewall (np. ufw), by pozwalał tylko na port 21 oraz wymagane porty dla pasywnego FTP.
- Rozważ użycie mocniejszego certyfikatu oraz jego cykliczną wymianę.
- Dezaktywuj anonimowy dostęp do FTP (jeśli nie jest potrzebny).
Wyjaśnienie kluczowych pojęć
- FTP – protokół do przesyłania plików, domyślnie nieszyfrowany.
- TLS/SSL – protokoły zapewniające szyfrowanie transmisji, znacząco podnoszące bezpieczeństwo.
- Certyfikat SSL – używany do szyfrowania połączeń; można użyć własnego lub od zaufanego CA.
Ten przewodnik pozwoli ci bezpiecznie uruchomić serwer ProFTPD z szyfrowaniem TLS na Ubuntu – tak, by połączenia i transfer plików były chronione przed podsłuchaniem oraz nieupoważnionym dostępem.