FTP e sicurezza · 4 min read · Dec 14, 2025

Come configurare PureFTPd e FileZilla per utilizzare sessioni TLS su CentOS 7.2

Questo articolo spiega come configurare PureFTPd per accettare sessioni TLS su un server CentOS 7.2. FTP semplice è un protocollo insicuro perché tutte le password e i dati vengono trasferiti in chiaro. Utilizzando TLS, l’intera comunicazione può essere crittografata, rendendo così FTP molto più sicuro.

1 Nota Preliminare

Dovresti avere una configurazione funzionante di PureFTPd sul tuo server CentOS 7.2, ad esempio come mostrato in questo tutorial: Server FTP con PureFTPd, MariaDB e Utenti Virtuali (incl. Gestione di Quota e Larghezza di Banda) su CentOS 7.2

2 Installazione di OpenSSL

TLS ha bisogno di OpenSSL; per installare OpenSSL, eseguiamo semplicemente:

yum -y install openssl

3 Configurazione di PureFTPd

Apri /etc/pure-ftpd/pure-ftpd.conf…

nano /etc/pure-ftpd/pure-ftpd.conf

Se vuoi consentire sessioni FTP e TLS, imposta TLS su 1:

[...]
# Questa opzione può accettare tre valori :
# 0 : disabilita il livello di crittografia SSL/TLS (predefinito).
# 1 : accetta sia sessioni tradizionali che crittografate.
# 2 : rifiuta le connessioni che non utilizzano meccanismi di sicurezza SSL/TLS,
#     comprese le sessioni anonime.
# Non _devi_ decommentare questo alla cieca. Assicurati che :
# 1) Il tuo server è stato compilato con supporto SSL/TLS (--with-tls),
# 2) Un certificato valido è in atto,
# 3) Solo i client compatibili accederanno.

TLS                      1
[...]

Se vuoi accettare solo sessioni TLS (no FTP), imposta TLS su 2:

[...]
# Questa opzione può accettare tre valori :
# 0 : disabilita il livello di crittografia SSL/TLS (predefinito).
# 1 : accetta sia sessioni tradizionali che crittografate.
# 2 : rifiuta le connessioni che non utilizzano meccanismi di sicurezza SSL/TLS,
#     comprese le sessioni anonime.
# Non _devi_ decommentare questo alla cieca. Assicurati che :
# 1) Il tuo server è stato compilato con supporto SSL/TLS (--with-tls),
# 2) Un certificato valido è in atto,
# 3) Solo i client compatibili accederanno.

TLS                      2
[...]

Per non consentire affatto TLS (solo FTP), imposta TLS su 0:

[...]
# Questa opzione può accettare tre valori :
# 0 : disabilita il livello di crittografia SSL/TLS (predefinito).
# 1 : accetta sia sessioni tradizionali che crittografate.
# 2 : rifiuta le connessioni che non utilizzano meccanismi di sicurezza SSL/TLS,
#     comprese le sessioni anonime.
# Non _devi_ decommentare questo alla cieca. Assicurati che :
# 1) Il tuo server è stato compilato con supporto SSL/TLS (--with-tls),
# 2) Un certificato valido è in atto,
# 3) Solo i client compatibili accederanno.

TLS                      0
[...]

Quindi rimuovi il # davanti alle seguenti 2 righe:

TLSCipherSuite           HIGH  
CertFile                 /etc/ssl/private/pure-ftpd.pem

e salva il file di configurazione modificato.

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/

Dopo, 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 tuo Nome del Paese (ad es., “IT”).
Nome dello Stato o della Provincia (nome completo) []: <– Inserisci il tuo Nome dello Stato o della Provincia.
Nome della Località (ad es., città) [Città Predefinita]: <– Inserisci la tua Città.
Nome dell’Organizzazione (ad es., azienda) [Azienda Predefinita Ltd]: <– Inserisci il tuo Nome dell’Organizzazione (ad es., il nome della tua azienda).
Nome dell’Unità Organizzativa (ad es., sezione) []: <– Inserisci il tuo Nome dell’Unità Organizzativa (ad es. “Reparto 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 Email []: <– Inserisci il tuo Indirizzo Email.

Cambia i permessi del certificato SSL:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Infine, riavvia PureFTPd:

systemctl restart pure-ftpd.service

Ecco fatto. Ora puoi provare a connetterti utilizzando il tuo client FTP; tuttavia, dovresti configurare il tuo client FTP per utilizzare TLS - vedi il capitolo successivo su come farlo con FileZilla.

5 Configurazione di FileZilla per TLS

Per utilizzare FTP con TLS, hai bisogno di un client FTP che supporti TLS, come FileZilla o il plugin FireFTP di Firefox.

In FileZilla, apri il Gestore Siti:

FileZilla - Apri il gestore siti.

Seleziona il server che utilizza PureFTPd con TLS; nel menu a discesa Tipo di Server, seleziona Richiedi FTP Esplicito su TLS invece di FTP normale:

Inserisci i dettagli dell'utente.

Ora puoi connetterti al server. Se lo fai per la prima volta, devi accettare il nuovo certificato SSL del server poiché stiamo utilizzando un certificato SSL autofirmato:

Accetta l'errore SSL

Se tutto va bene, ora dovresti essere connesso al server:

Accesso con TLS riuscito.

6 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.