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 PureFTPd per accettare sessioni TLS su un server CentOS 6.2.
1 Nota preliminare
Dovresti avere una configurazione PureFTPd funzionante sul tuo server CentOS 6.2, ad es. come mostrato in questo tutorial:Hosting virtuale con PureFTPd e MySQL (incl. quota e gestione della larghezza di banda) su CentOS 6.2.
2 Installazione di OpenSSL
OpenSSL è necessario per TLS; per installare OpenSSL, eseguiamo semplicemente:
yum install openssl
3 Configurazione di PureFTPd
Apri /etc/pure-ftpd/pure-ftpd.conf...
vi /etc/pure-ftpd/pure-ftpd.conf
Se vuoi consentire FTP e Sessioni TLS, imposta TLS su 1:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 1 [...] |
Se desideri accettare solo sessioni TLS (senza FTP), imposta TLS su 2:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 2 [...] |
Per non consentire affatto TLS (solo FTP), imposta TLS su 0:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 0 [...] |
4 Creazione del certificato SSL per TLS
Per utilizzare TLS, dobbiamo creare un certificato SSL. Lo creo in /etc/ssl/private/, quindi creo prima quella directory:
mkdir -p /etc/ssl/private/
Successivamente, possiamo generare il certificato SSL come segue:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Nome del Paese (codice di 2 lettere) [XX]:<-- Inserisci il nome del tuo Paese (ad es. "DE").
Nome Stato o Provincia (nome completo) []:<-- Inserisci il nome del tuo Stato o Provincia .
Nome località (es. città) [Città predefinita]:<-- Inserisci la tua città.
Nome organizzazione (es. azienda) [Default Company Ltd]:<-- Inserisci il nome della tua organizzazione (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 o il nome host del tuo server) []:<-- Inserisci il nome di dominio completo del sistema (ad es. "server1.example.com").
Indirizzo e-mail []:<-- Inserisci il tuo indirizzo e-mail.
Modifica le autorizzazioni del certificato SSL:
chmod 600 /etc/ssl/private/pure-ftpd.pem
Infine riavvia PureFTPd:
/etc/init.d/pure-ftpd restart
Questo è tutto. Ora puoi provare a connetterti usando il tuo client FTP; tuttavia, dovresti configurare il tuo client FTP per utilizzare TLS - vedi il prossimo capitolo come farlo con FileZilla.
5 Configurazione di FileZilla per TLS
Per utilizzare FTP con TLS, è necessario un client FTP che supporti TLS, come FileZilla.
In FileZilla, apri Gestione server:
Seleziona il server che utilizza PureFTPd con TLS; nel menu a tendina Tipo di server, seleziona FTPES invece di FTP normale:
Ora puoi connetterti al server. 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:
6 link
- PureFTPd:http://www.pureftpd.org/
- FileZilla:http://filezilla-project.org/
- CentOS:http://www.centos.org/