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

FTPS Pure-FTPd: come accettare connessioni FTP sicure - pure-ftpd ftps spotlight

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)

FTPS Pure-FTPd: come accettare connessioni FTP sicure - openssl req  x509 genera certificato

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

FTPS Pure-FTPd: come accettare connessioni FTP sicure - pure-ftpd.conf 06 TLS

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"

FTPS Pure-FTPd: come accettare connessioni FTP sicure - guida filezilla (1)