Nel corso della trattazione "Configurare un server FTP su Linux CentOS/Ubuntu: Guida rapida a Pure-FTPd" abbiamo predisposto il server FTP. I client possono così connettersi, caricare e scaricare file secondo i privilegi stabiliti. Ma c'è un problema: sia le credenziali di autenticazione (username+password) sia i dati scambiati viaggiano "in chiaro". Di conseguenza, un aggressore che riuscisse ad intercettare i pacchetti in transito potrebbe facilmente leggere tutto, con ripercussioni critiche in caso avesse intenzioni ostili. Fortunatamente, Pure-FTPd permette di attivare la crittografia (protocollo "FTPS"), grazie alla quale i dati scambiati sono al sicuro da occhi indiscreti
Nota: Per svolgere questa procedura sono necessari i privilegi di root: per non incappare in inutili problemi, raccomando di accedere direttamente con questo account (i più intraprendenti possono usare un account "regolare" e far precedere i comandi da sudo
, ma non ho testato questo scenario).
Generare il certificato
Iniziate lanciando mkdir -p /etc/pki/pure-ftpd/
per creare le cartelle necessarie.
Generate ora un certificato digitale all'interno del percorso appena predisposto: in questa sede, ci limiteremo a dire rapidamente che dovete impartire il comando...
openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/pure-ftpd/pure-ftpd.pem -out /etc/pki/pure-ftpd/pure-ftpd.pem
... e quindi fornire le varie generalità (informazioni di fantasia vanno benissimo, se lo preferite)
Abilitare la crittografia
Impartite vi
/etc/pure-ftpd/pure-ftpd.conf
per aprire il file di configurazione, quindi premete la lettera i
sulla tastiera per entrare in modalità "modifica".
Localizzate il parametro TLS
(è verso la fine del file) ed eliminate il cancelletto (#
) ad inizio riga
Come valore associato a questo parametro, potete specificare uno dei seguenti:
-
0
: disattiva la crittografia -
1
: consente al client di scegliere se utilizzare la modalità sicura o meno -
2
: forza sempre l'uso della crittografia - le connessioni non-sicure vengono rifiutate
1
è, generalmente, la scelta più ragionevole.
Riavviare il servizio
La configurazione di base è completata. Premete Esc
, poi impartite :x
per salvare il file ed uscire dall'editor di testo.
Riavviate il servizio tramite systemctl restart pure-ftpd per rendere effettiva la nuova configurazione.
Testare il servizio
A questo punto non vi resta altro da fare se non provare a connettervi in modo sicuro. La procedura è stata dettagliata al paragrafo Collegarsi con la crittografia
dell'articolo "Client FTP (FileZilla), guida rapida - caricare e scaricare file da un server FTP remoto"