Prima di procedere con questi passaggi, assicurati di aver installato VSFTP sulla tua macchina Linux.
Come configurare VSFTPD su Centos 7.x?
Come installare VSFTPD su Ubuntu 18.04?
- Genereremo un certificato autofirmato utilizzando OpenSSL. Inizialmente, crea una directory in cui archiviare la chiave pubblica e la chiave privata.
mkdir -p /etc/vsftpd/ssl
- Esegui il comando seguente per generare il certificato. Una volta eseguito il comando seguente, verrà richiesto il nome del paese, il nome dello stato, il nome della città, l'organizzazione, il nome dell'unità e il nome comune che deve corrispondere all'indirizzo IP del server oppure è possibile utilizzare il nome di dominio che punta all'IP del server Indirizzo. Il certificato utilizzerà il protocollo di accordo chiave RSA con una lunghezza della chiave di 2048 bit. Il certificato sarà valido per 365 giorni.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/vsftpd/ssl/vsftpd.pem -out /etc/vsftpd/ssl/vsftpd.pem
- Apriamo il file di configurazione di VSFTPD per l'installazione del certificato.
vim /etc/vsftpd.conf
- Aggiungi la riga seguente al file di configurazione VSFTPD per impostare il certificato e il percorso del file chiave.
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.pem
- Aggiungi la riga seguente per abilitare SSL.
ssl_enable=YES
- Impedisci all'utente anonimo di accedere all'FTP utilizzando SSL/TLS.
allow_anon_ssl=NO
- Specificare quando utilizzare SSL/TLS. Include il trasferimento dei dati e l'accesso utilizzando le credenziali.
ssl_enable=YES
- Impedisci all'utente anonimo di accedere all'FTP utilizzando SSL/TLS.
force_local_data_ssl=YES
force_local_logins_ssl=YES - Specifichiamo la versione da utilizzare per la crittografia. TLS è più sicuro di SSL. Bloccheremo le versioni precedenti.
ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO
- Aggiungi la richiesta di riutilizzo SSL e le crittografie SSL per migliorare la sicurezza. Consente una maggiore sicurezza contro gli attacchi di Man In The Middle (MITM). Tuttavia, potrebbe non essere compatibile con i client FTP precedenti.
require_ssl_reuse=YES ssl_ciphers=HIGH
- Infine, riavvia il VSFTPD.
systemctl restart vsftpd
- Dopo aver stabilito la connessione SSL/TLS, riceverai il seguente messaggio nel tuo client FTP.
Status: Connection established, waiting for welcome message... Status: Initializing TLS... Status: Verifying certificate... Status: TLS connection established.