Jak zainstalować ProFTPD z TLS na Ubuntu 16.04 LTS
Przesyłanie plików przez FTP (File Transfer Protocol) jest prawdopodobnie najpopularniejszą metodą przesyłania plików na serwer. ProFTPD to popularny i wszechstronny serwer FTP, który jest dostępny jako oprogramowanie OpenSource i obsługuje TLS (SSL) dla bezpiecznych połączeń.
Domyślnie FTP jest niezabezpieczonym protokołem, ponieważ hasła i dane są przesyłane zwykłym tekstem. Dzięki TLS cała komunikacja może być szyfrowana, dzięki czemu FTP jest bezpieczniejszy.
W tym artykule opisano jak skonfigurować proftpd z TLS na Ubuntu server 16.04 LTS .
Wymagania wstępne
- Ubuntu Server 16.04 64bit
- uprawnienia sudo / root
Co zrobimy w tym samouczku
- Zainstaluj ProFTPD i TLS.
- Skonfiguruj ProFTPD.
- Dodaj użytkownika FTP.
- Skonfiguruj TLS w ProFTPD.
- Testowanie.
Zainstaluj Proftpd i OpenSSL
Proftpd i OpenSSL są dostępne w repozytorium Ubuntu, więc możemy je zainstalować za pomocą polecenia apt :
sudo apt-get install -y proftpd openssl
Po rozpoczęciu instalacji zostaniesz poproszony o uruchomienie ProFTPD jako inetd lub standalone serwer. Wybierz opcję samodzielny tutaj i kliknij Ok .
Konfiguruj ProFTPD
Po zainstalowaniu ProFTPD będziesz musiał dostosować konfigurację, aby był w pełni funkcjonalnym i bezpiecznym serwerem. Plik konfiguracyjny ProFTPD znajduje się w katalogu / etc / proftpd / - edytuj plik proftpd.conf .
cd /etc/proftpd/
vim proftpd.conf
W wierszu Nazwa serwera zamień wartość na nazwę hosta lub domenę:
ServerName "My FTP-Server"
Odkomentuj wiersz DefaultRoot , aby włączyć więzienie dla wszystkich użytkowników:
DefaultRoot ~
i uruchom ponownie ProFTPD za pomocą komendy systemctl w następujący sposób.
systemctl restart proftpd
Dodaj użytkownika FTP
Dostępne są dwa typy użytkowników FTP, anonimowy użytkownik FTP i „normalni” użytkownicy FTP:
1. Anonimowy FTP: serwer FTP zapewnia dostęp każdemu bez konieczności posiadania konto użytkownika i hasło. Nie należy tego używać na publicznie dostępnym serwerze, ale może to być opcja dla serwera domowego lub firmowej sieci LAN.
2. Użytkownik FTP: tylko osoby posiadające konto użytkownika i hasło mogą uzyskać dostęp do serwera FTP.
Przed utworzeniem użytkownika dla serwera FTP należy dodać / bin / false do pliku / etc / shells .
echo “/bin/false” >> /etc/shells
A teraz utwórz użytkownika z określonym katalogiem domowym, wyłącz dostęp do powłoki, a następnie udziel go serwerowi FTP.
useradd -m -s /bin/false zenko
passwd zenko
Powyższe polecenie utworzy nowego użytkownika o nazwie zenko z katalogiem domowym / home / zenko / i bez dostępu do powłoki / bin / false.
Teraz skonfiguruj ProFTPD, aby umożliwić użytkownikowi zenko dostęp do serwera FTP.
cd /etc/proftpd/conf.d/
vim zenko.conf
Dodaj ten plik konfiguracyjny, aby umożliwić użytkownikowi zenko logowanie i przesyłanie / pobieranie pliku do / z serwera:
<Directory /home/zenko> Umask 022 022 AllowOverwrite off <Limit LOGIN> AllowUser zenko DenyALL </Limit> <Limit ALL> Order Allow,Deny AllowUser zenko Deny ALL </Limit> <Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD> AllowUser zenko Deny ALL </Limit> </Directory>
Zapisz plik i zamknij vim. Następnie uruchom ponownie ProFTPD.
systemctl restart proftpd
Na tym etapie możesz już używać FTP, ale my zrobimy to bezpieczniej, używając TLS w następnym kroku.
Skonfiguruj TLS za pomocą proftpd
Aby korzystać z TLS, musisz utworzyć certyfikat SSL.Wygeneruj certyfikat SSL za pomocą polecenia openssl :
openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
Powyższe polecenie wygeneruje plik certyfikatu proftpd.crt w katalogu / etc / ssl / certs / i certyfikat plik klucza proftpd.key w katalogu / etc / ssl / private / .
Następnie zmień uprawnienia do pliku certyfikatu na 600 :
chmod 600 /etc/ssl/certs/proftpd.crt
chmod 600 /etc/ssl/private/proftpd.key
Teraz wróć do katalogu / etc / proftpd i skonfiguruj ProFTPD, aby używał wygenerowanego certyfikatu SSL.
cd /etc/proftpd/
vim proftpd.conf
Odkomentuj wiersz TLS:
Include /etc/proftpd/tls.conf
Zapisz plik tls.conf i wyjdź.
Następnie edytuj plik konfiguracyjny TLS, aby włączyć bezpieczne uwierzytelnianie:
vim tls.conf
Odkomentuj wszystkie te linie:
TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key TLSOptions NoCertRequest EnableDiags TLSVerifyClient off TLSRequired on
Zapisz i wyjdź. Ostatnim krokiem jest zrestartowanie serwera ProFTPD:
systemctl restart proftpd
Testowanie ProFTPD
Aby przetestować konfigurację, spróbuj połączyć się z serwerem FTP za pomocą oprogramowania takiego jak FileZilla (tutaj używam FileZilla ) i wypełnij adres IP serwera, nazwa użytkownika, hasło i port:
Server IP : 192.168.1.246 username : zenko Password ****** Port : 21
A następnie kliknij Quickconnect. Zostaniesz zapytany o potwierdzenie certyfikatu SSL - wystarczy kliknąć ok .
Zobaczysz, że jesteś zalogowany na serwerze FTP za pomocą certyfikatu TLS / SSL.
Linki
- Projekt oprogramowania ProFTPD. Link