GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare ProFTPd con supporto TLS su Ubuntu 15.10

FTP è un protocollo molto insicuro perché tutte le password e tutti i dati vengono trasferiti in chiaro. Utilizzando TLS, l'intera comunicazione può essere crittografata, rendendo così l'FTP molto più sicuro. Questo articolo spiega come configurare ProFTPd con TLS su un server Ubuntu 15.10, come aggiungere un utente FTP e come utilizzare FileZilla per connettersi in modo sicuro con TLS.

1 Nota preliminare

In questo tutorial, userò il nome host server1.example.com con l'indirizzo IP 192.168.1.100. Queste impostazioni potrebbero differire per te, quindi devi sostituirle dove appropriato.

Poiché dobbiamo eseguire tutti i passaggi di questo tutorial con i privilegi di root, possiamo anteporre tutti i comandi in questo tutorial con la stringa sudo, oppure diventare root in questo momento digitando

sudo su

Userò l'editor nano per modificare i file di configurazione in questo tutorial. Se ti piace usare anche nano e non l'hai ancora installato, esegui questo comando per installare nano.

apt-get install nano

2 Installa ProFTPd e OpenSSL

OpenSSL è necessario per TLS; per installare ProFTPd e OpenSSL, eseguiamo semplicemente:

apt-get install proftpd openssl

Ti verrà fatta una domanda:

Esegui proftpd:<-- autonomo

Per motivi di sicurezza, dovresti aggiungere le seguenti righe a /etc/proftpd/proftpd.conf:

nano /etc/proftpd/proftpd.conf
[...]
DefaultRoot ~
ServerIdent on "FTP Server ready."
[...]

La prima opzione abilita il chroot degli utenti FTP nella loro home directory e la seconda opzione abilita un messaggio ServerIdent che non contiene alcuna informazione sul software, la versione o il sistema operativo del server FTP utilizzato in modo che un potenziale aggressore non ottenga questi dettagli sull'argento piatto.

3 Crea il certificato SSL per TLS

Per utilizzare TLS, dobbiamo creare un certificato SSL. Lo creo in /etc/proftpd/ssl, quindi creo prima quella directory:

mkdir /etc/proftpd/ssl

Successivamente, possiamo generare il certificato SSL come segue:

openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

Nome del Paese (codice di 2 lettere) [AU]:<-- Inserisci il nome del tuo Paese (ad es. "DE").
Nome Stato o Provincia (nome completo) [Stato-Stato]:<-- Inserisci il tuo Stato o il nome della provincia.
Nome località (ad es. città) []:<-- Inserisci la tua città.
Nome organizzazione (ad es. azienda) [Internet Widgits Pty Ltd]:<-- Inserisci il nome dell'organizzazione (ad es. il nome della tua azienda).
Nome dell'unità organizzativa (ad es. sezione) []:<-- Inserisci il nome dell'unità organizzativa (ad es. "Dipartimento IT").
Nome comune (ad es. IL TUO nome) []:<-- Inserisci il nome di dominio completo del sistema (ad es. "server1.example.com").
Indirizzo e-mail []:<-- Inserisci il tuo indirizzo e-mail.

e proteggi i file di certificato generati.

chmod 600 /etc/proftpd/ssl/proftpd.*

4 Abilita TLS in ProFTPd

Per abilitare TLS in ProFTPd, apri /etc/proftpd/proftpd.conf...

nano /etc/proftpd/proftpd.conf

... e decommenta la riga Include /etc/proftpd/tls.conf:

[...]
#
# This is used for FTPS connections
#
Include /etc/proftpd/tls.conf
[...]

Quindi apri /etc/proftpd/tls.conf e fallo apparire come segue:

nano /etc/proftpd/tls.conf
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol TLSv1.2
TLSCipherSuite AES128+EECDH:AES128+EDH
TLSOptions NoCertRequest AllowClientRenegotiations
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired on
RequireValidShell       no
</IfModule>

Se usi TLSRquired, sono consentite solo le connessioni TLS (questo blocca tutti gli utenti con vecchi client FTP che non hanno il supporto TLS); commentando quella riga o utilizzando TLSRquired, sono consentite sia le connessioni TLS che quelle non TLS, a seconda di ciò che supporta il client FTP.

Riavvia ProFTPd in ​​seguito:

systemctl restart proftpd.service

Questo è tutto. Ora puoi provare a connetterti usando il tuo client FTP; tuttavia, dovresti configurare il tuo client FTP per utilizzare TLS (questo è un must se usi TLSRquired su) - vedi il prossimo capitolo come farlo con FileZilla.

Se riscontri problemi con TLS, puoi dare un'occhiata al file di registro TLS /var/log/proftpd/tls.log.

5 Aggiungi un utente FTP

La configurazione ProFTPD utilizzata in questo tutorial autentica gli utenti rispetto al database utenti del sistema Linux (/etc/passwd e /etc/shadow). In questo passaggio, aggiungerò un utente "tom" da utilizzare solo per l'accesso FTP.

useradd --shell /bin/false tom

Questo aggiungerà l'utente "tom" con la shell /bin/false. Questa shell garantisce che possa accedere tramite FTP ma non tramite SSH. La directory home di un utente è /home/[USERNAME] per impostazione predefinita, nel nostro caso /home/tom. ProFTPD è configurato per incarcerare l'utente nella sua home directory, quindi non può accedere ai file di sistema al di fuori di /home/tom. Se desideri impostare una directory home diversa, utilizza il comando seguente:

useradd --home /srv/tomftp --create-home --shell /bin/false tom

Questo comando imposta una directory home diversa, nel caso di questo esempio la directory /srv/tomftp per l'utente.

Il passaggio successivo consiste nell'impostare una password per l'utente tom, eseguire il comando passwd:

passwd tom

E inserisci la nuova password due volte, quando richiesto.

6 Configurazione di FileZilla per TLS

Per utilizzare FTP con TLS, è necessario un client FTP che supporti TLS, come FileZilla.

In FileZilla, apri Site Manager:

Seleziona il server che utilizza ProFTPd con TLS; nel menu a tendina Tipo di server, seleziona FTPES invece di FTP normale:

Ora puoi connetterti al server, FileZilla ti chiederà una password.

Se lo fai per la prima volta, devi accettare il nuovo certificato SSL del server:

Se tutto va bene, ora dovresti essere loggato sul server:

7 Scarica questa configurazione come VM

La configurazione descritta in questo tutorial è disponibile per il download per gli abbonati HowtoForge. La macchina virtuale pronta all'uso in formato OVA/OVF è compatibile con VMWare e Virtualbox.

Dettagli di accesso della VM

La macchina virtuale ha un utente SSH con il nome "administrator" e la password "howtoforge". Questo utente SSH dispone delle autorizzazioni sudo.

La password dell'utente FTP "tom" è "tom".

L'indirizzo IP della VM è 192.168.1.100, l'IP può essere modificato nel file /etc/network/interfaces.

Modifica le password di tutti gli utenti prima di utilizzare la VM come sistema live.

  • ProFTPd:http://www.proftpd.org/
  • FileZilla:http://filezilla-project.org/
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Come installare MediaWiki con Nginx su Ubuntu 16.04

  2. Come installare Proftpd con TLS su Ubuntu 15.04

  3. Come installare ProFTPd con TLS su OpenSuse 13.2

  4. Come installare ProFTPD su Ubuntu 14.04

  5. Come installare ProFTPD su Ubuntu 15.04

Come installare ProFTPd con supporto TLS su Ubuntu 15.04

Come installare ProFTPD con TLS su CentOS 7.2

Come installare il server VsFTPD con TLS su Ubuntu 18.04 LTS

Come installare ProFTPD con TLS su Ubuntu 20.04 LTS

Come installare ProFTPD su Ubuntu 20.04

Come installare Nginx con Let's Encrypt TLS/SSL su Ubuntu 20.04