GNU/Linux >> Linux Esercitazione >  >> Panels >> cPanel

Come proteggere vsFTPd con SSL/TLS

Demone FTP molto sicuro, o semplicemente vsFTPd è un software leggero con grande capacità di personalizzazione. In questo tutorial proteggeremo un'installazione già esistente su un sistema Debian utilizzando il nostro certificato SSL/TLS autofirmato. Nonostante sia scritto per Debian, dovrebbe funzionare sulla maggior parte delle distribuzioni Linux come Ubuntu e CentOS, ad esempio.

Installazione di vsFTPd

Su un nuovo VPS Linux devi prima installare vsFTPd. Anche se troverai i passaggi di base per installare vsFTPd in questo tutorial ti consiglio di leggere anche questi due tutorial più dettagliati:Installazione di vsFTPd su Debian/Ubuntu e Installazione di vsFTPd su CentOS. Tutti i passaggi relativi all'installazione sono spiegati più accuratamente qui.

Installazione su Debian/Ubuntu:

apt-get install vsftpd

Installazione su CentOS:

yum install epel-release
yum install vsftpd

Configurazione Apri il file di configurazione:/etc/vsftpd.conf nel tuo editor di testo preferito, in questo tutorial utilizziamo nano .

nano /etc/vsftpd.conf

Incolla le seguenti righe nella configurazione:

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES

Termina riavviando il tuo demone vsFTPd:

/etc/init.d/vsftpd restart

Ora dovresti essere in grado di accedere come qualsiasi utente locale tramite FTP, ora andiamo avanti e proteggiamo questo software.

Genera un certificato autofirmato

Un certificato autofirmato viene in genere utilizzato in un protocollo di accordo di chiave pubblica, ora utilizzerai openssl per generare una chiave pubblica e una chiave privata corrispondente. Prima di tutto dobbiamo creare una directory in cui archiviare questi due file chiave, preferibilmente in un luogo sicuro a cui i normali utenti non possono accedere.

mkdir -p /etc/vsftpd/ssl

Ora alla generazione effettiva del certificato, memorizzeremo entrambe le chiavi nello stesso file (/etc/vsftpd/ssl/vsftpd.pem ):

openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/vsftpd/ssl/vsftpd.pem -out /etc/vsftpd/ssl/vsftpd.pem

Dopo aver eseguito il comando, ti verranno poste alcune domande come il codice del paese, lo stato, la città, il nome dell'organizzazione ecc. Usa le tue informazioni o quelle della tua organizzazione. Ora la riga più importante è il Nome comune che deve corrispondere all'indirizzo IP del tuo VPS, in alternativa un nome di dominio che punta ad esso.

Questo certificato avrà una validità di 365 giorni (~1 anno), utilizzerà il protocollo di accordo delle chiavi RSA con una lunghezza della chiave di 4096 bit e il file contenente entrambe le chiavi verrà archiviato nella nuova directory appena creata. Per maggiori dettagli sulla lunghezza della chiave e sulla sua relazione con la sicurezza, vedere questo:Raccomandazioni per la crittografia II.

Installa il nuovo certificato in vsFTPd

Per iniziare a utilizzare il nostro nuovo certificato e quindi fornire la crittografia, dobbiamo aprire nuovamente il file di configurazione:

nano /etc/vsftpd.conf

Dobbiamo aggiungere i percorsi al nostro nuovo certificato e ai file chiave. Poiché sono archiviati nello stesso file, dovrebbe essere lo stesso anche all'interno della configurazione.

rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.pem

Dobbiamo aggiungere questa riga per assicurarci che SSL sia abilitato:

ssl_enable=YES

Facoltativamente, potremmo impedire agli utenti anonimi di utilizzare SSL, poiché la crittografia non è necessaria su un server FTP pubblico.

allow_anon_ssl=NO

Successivamente è necessario specificare quando utilizzare SSL/TLS, ciò consentirà la crittografia sia per il trasferimento dei dati che per le credenziali di accesso

force_local_data_ssl=YES
force_local_logins_ssl=YES

Possiamo anche specificare quali versioni e protocolli utilizzare. TLS è generalmente più sicuro di SSL e quindi possiamo consentire TLS e allo stesso tempo bloccare versioni precedenti di SSL.

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

Richiedere il riutilizzo di SSL e l'utilizzo di cifrature elevate contribuirà anche a migliorare la sicurezza. Dalle pagine man di vsFTPd:

richiedi_ssl_riutilizzo Se impostato su sì, tutte le connessioni dati SSL devono mostrare il riutilizzo della sessione SSL (il che dimostra che conoscono lo stesso segreto principale del canale di controllo). Sebbene questa sia un'impostazione predefinita sicura, potrebbe interrompere molti client FTP, quindi potresti voler disabilitarlo. Per una discussione sulle conseguenze, vedere http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html (aggiunto nella v2.1.0).

cifra_ssl Questa opzione può essere utilizzata per selezionare quali crittografie SSL vsftpd consentiranno connessioni SSL crittografate. Vedere la pagina man di cifrari per ulteriori dettagli. Tieni presente che limitare i codici può essere un'utile precauzione di sicurezza in quanto impedisce a parti remote malintenzionate di forzare un codice con cui hanno riscontrato problemi.

require_ssl_reuse=YES
ssl_ciphers=HIGH

Termina riavviando il vsftpd demone

/etc/init.d/vsftpd restart

Conferma installazione

E il gioco è fatto, ora dovresti essere in grado di connetterti al tuo server e confermare che tutto funziona. Se stai usando FileZilla, una finestra di dialogo contenente le informazioni sulla tua organizzazione (o qualsiasi cosa tu abbia inserito durante la generazione del certificato in precedenza) dovrebbe aprirsi al momento della connessione. L'output dovrebbe quindi essere simile a questo:

Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.

Per saperne di più su vsFTPd, controlla le sue pagine di manuale:

man vsftpd

cPanel
  1. Come proteggere i tuoi servizi di posta elettronica Linux con SSL/TLS

  2. Come proteggere un account abilitato per cPanel con un certificato SSL Lets Encrypt

  3. Come proteggere un account abilitato per cPanel con un certificato SSL Sectigo

  4. Come installare il server FTP vsftpd e proteggerlo con TLS su Debian 11

  5. Installa Vsftpd con SSL / TLS su Ubuntu 20.04 - Procedura migliore?

Come installare il server FTP vsftpd con TLS su Debian 10

Come proteggere il socket TCP di Docker con TLS

Come proteggere un nome host Plesk con SSL

Come monitorare i certificati SSL/TLS con Checkmk

Come proteggere Nginx con Let's Encrypt certificato SSL

Come configurare vsftpd per utilizzare SSL/TLS su Ubuntu 20.04