Proftpd e TLS (FTPS)

Proftpd e TLS (FTPS)

In questo articolo spiegheremo come proteggere le comunicazioni via ftp utilizzando un certificato TLS autogenerato. Questa procedura è necessaria in quanto il protocollo FTP classico trasmette le informazioni in chiaro, e questo è un problema per la sicurezza. Qui non verrà trattata l'installazione e la configurazione classica di proftpd, ma solo l'implementazione del certificato. La guida è per ubuntu, ma è molto simile anche per le altre distro. Innanzitutto bisogna creare la cartella che conterrà i certificati:

sudo mkdir /etc/proftpd/ssl

Il passo successivo è quello di generare i certificati attravero openssh

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

 A questo punto dovrete riempire i campi del certificato con i vostri valori:

Country Name (2 letter code) [AU]: # Codice Internazionale a 2 cifre (e.s., "IT"). 
State or Province Name (full name) [Some-State]: # Lo stato (e.s. Italy) 
Locality Name (eg, city) []: # La cità (e.s. Roma). 
Organization Name (eg, company) [Internet Widgits Pty Ltd]: # La ragione sociale della vostra attività. 
Organizational Unit Name (eg, section) []: # Lasciare vuoto 
Common Name (eg, YOUR name) []: # Il nome del dominio (e.g. "ftp.example.com"). 
Email Address []: # La Vostra Email

Poi dovete rendere leggibile i certificati solo da root:

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

 Ora si deve caricare il file di configurazione TLS nel file di proftpd, perciò modificate il file /etc/proftpd/proftpd.conf

sudo nano /etc/proftpd/proftpd.conf

E decommentate (se presente) oppure aggiungete (se assente) la seguente istruzione:

Include /etc/proftpd/tls.conf

Adesso create il file /etc/proftpd/tls.conf come segue: 

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

N.B. Se usate l'opzione

TLSRequired on

saranno abilitate solo le connessioni TLS e saranno disabilitate quelle normali. Utilizzate l'opzione

TLSRequired off

oppre commentate la riga per avere entrambe le connessioni attive.

Ora è sufficiente ravviare proftpd per concludere l'operazione.

sudo service proftpd restart

  Configurare Filezilla per accedere con Protocollo TLS  Create o Modificate la connessione che vi interessa, selezionare in "Criptazione" - Richiedi FTP esplicito su TLS. Trattandosi, ovviamente, di un certificato autogenerato, filezilla vi avvertirà con un messaggio simile al seguente: Selezionando "Considera sempre sicuro il certificato nelle sessioni future", non riceverete più l'avviso.