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

  1. Ubuntu Server 16.04 64bit
  2. uprawnienia sudo / root

Co zrobimy w tym samouczku

  1. Zainstaluj ProFTPD i TLS.
  2. Skonfiguruj ProFTPD.
  3. Dodaj użytkownika FTP.
  4. Skonfiguruj TLS w ProFTPD.
  5. 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
Komentarze