GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installa Vsftpd con SSL/TLS su Ubuntu 20.04

Vsftpd (cioè un demone FTP molto sicuro) è un software server FTP per Linux e altri sistemi simili a Unix. Un software server FTP facilita il trasferimento di file da un computer client al server e viceversa.

In questo tutorial imparerai come installare Vsftpd su Ubuntu 20.04 e abilita il trasferimento sicuro di file (FTPS) tramite SSL/TLS.

Prerequisiti

  • Un sistema Linux Ubuntu 20.04
  • Un utente con capacità sudo
  • Un client FTP abilitato per SSL come FileZilla

Installa Vsftpd su Ubuntu

Vsftpd è disponibile nel repository di pacchetti Ubuntu predefinito. Puoi iniziare aggiornando i pacchetti disponibili con il comando seguente.

$ sudo apt update

Quindi, esegui il comando seguente per installare Vsftpd.

$ sudo apt install vsftpd

Inserisci y se viene richiesto di continuare con l'installazione.

Una volta che Vsftpd è stato installato correttamente, puoi controllare la versione con il comando seguente.

$ vsftpd -v

Inoltre, verifica lo stato del server Vsftpd come segue.

$ sudo systemctl status vsftpd

Il vsftpd il servizio dovrebbe essere già attivo. Premi q per tornare al prompt dei comandi.

Se il servizio vsftpd non è già attivo, puoi avviarlo con il comando successivo.

$ sudo systemctl start vsftpd

Configura Vsftpd

Ci sono molte opzioni che puoi configurare per vsftpd, ma in questo tutorial esamineremo solo le basi. Apri il file di configurazione vsftpd con il seguente comando.

$ sudo nano /etc/vsftpd.conf

Vedrai che le varie opzioni di vsftpd sono ben spiegate nel file di configurazione. Devi solo leggere le istruzioni per capire cosa vuoi abilitare o disabilitare. Di seguito sono riportati alcuni esempi.

Configura l'accesso FTP anonimo

Per impostazione predefinita, l'FTP anonimo è disabilitato. Ti consigliamo di lasciare questa impostazione predefinita così com'è. Tuttavia, se per qualsiasi motivo desideri abilitare l'accesso FTP anonimo a scopo di test, modifica il valore di anonymous_enable opzione da NO a SI.

Per ora lascialo così com'è.

Consenti agli utenti locali di accedere

Gli utenti locali possono accedere per impostazione predefinita. Se desideri impedire agli utenti locali di accedere al server Vsftpd, modifica il valore di local_enable da SI a NO.

È inoltre possibile consentire solo a utenti locali specifici di accedere al server Vsftpd. Per farlo, assicurati che local_enable è impostare su SÌ.

Successivamente, aggiungi le seguenti righe sotto.

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

Salva e chiudi il file vsftpd.conf.

Quindi, crea il file userlist con il comando successivo e inserisci gli utenti consentiti uno per riga.

$ sudo nano /etc/vsftpd.userlist

Salva e chiudi il file userlist.

Riavvia vsftpd con:

$ sudo systemctl restart vsftpd

Abilita comando di scrittura FTP

Per consentire agli utenti FTP di creare, eliminare, rinominare e salvare file, decommenta write_enable opzione e assicurati che sia impostata su SÌ.

Prima di andare oltre, accediamo al server Vsftpd per confermare che funzioni. Per ora, salva le modifiche e chiudi il file di configurazione vsftpd.

Accedi al server Vsftpd

Per questo, creiamo un utente di prova e assegniamo una password come segue.

$ sudo useradd -m myftpuser
$ sudo passwd myftpuser

Nota: Se hai abilitato la elenco utenti vsftpd in precedenza, non dimenticare di aggiungere l'utente ftp a /etc/vsftpd.userlist di conseguenza. Per impostazione predefinita, gli utenti hanno accesso ssh, consigliato per disabilitare l'accesso alla shell per gli utenti FTP.

Ora avvia un client FTP abilitato per SSL come FileZilla e quindi accedi utilizzando l'utente di prova appena creato.

Nel mio caso, FileZilla mi ha informato che il server non è sicuro in quanto non supporta FTP su TLS.

Annulla la connessione. Risolviamolo nella prossima sezione.

Abilita SSL/TLS per il trasferimento sicuro dei file

Per abilitare il trasferimento sicuro dei file tramite TLS, procedi come segue.

Innanzitutto, apri il file di configurazione vsftpd con il comando seguente.

$ sudo nano /etc/vsftpd.conf

Quindi, cerca il rsa_cert_file e rsa_private_key_file opzioni e aggiorna i valori come mostrato di seguito.

rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key

Inoltre, cerca ssl_enable e cambia il valore in SÌ.

ssl_enable=YES

Salva e chiudi il file di configurazione vsftpd.

Genera una chiave privata e un certificato

Ora dovresti creare una chiave privata e generare un certificato TLS/SSL con openssl. Puoi utilizzare il certificato SSL gratuito Let's Encrypt se hai un dominio che punta al server FTP.

Per generare una chiave privata, esegui:

$ sudo openssl genrsa -out /etc/ssl/private/vsftpd.key

Quindi, genera una richiesta di firma del certificato con il comando seguente. Ti verrà chiesto di fornire alcune informazioni come il tuo paese, città, indirizzo email, ecc. Leggi attentamente le istruzioni.

$ sudo openssl req -new -key /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.csr

Ora, genera e firma il certificato che sarà valido per 365 giorni come segue.

$ sudo openssl x509 -req -days 365 -in /etc/ssl/certs/vsftpd.csr -signkey /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.pem

Riavvia vsftpd con:

$ sudo systemctl restart vsftpd

Prova a connetterti di nuovo al server Vsftpd.

Sicuramente, questa volta FileZilla è stato in grado di connettersi in modo sicuro tramite TLS. Puoi tranquillamente scegliere l'opzione per considerare sempre attendibile questo certificato nelle sessioni future. Quindi fare clic su OK per procedere con la connessione.

Se provi a connetterti al server FTP tramite la riga di comando che non supporta FTP su TLS, riceverai un errore. Ad esempio:

$ ftp 192.168.100.168

Questa è un'altra prova che il tuo server Vsftpd è effettivamente abilitato per il trasferimento di file sicuro su TLS.

Conclusione

In questo tutorial, ti abbiamo mostrato come installare un server Vsftpd su Ubuntu 20.04. Abbiamo anche descritto come abilitare il trasferimento di file sicuro tramite il protocollo TLS. In questo articolo abbiamo trattato solo le opzioni di base di Vsftpd, ma puoi esplorare più opzioni nella pagina di manuale delle opzioni di configurazione di vsftpd.


Ubuntu
  1. Come installare un server FTP su CentOS 7 con VSFTPD

  2. Come installare e configurare un server FTP (vsftpd) con SSL/TLS su Ubuntu 20.04

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

  4. Installa VSFTPD su Ubuntu 16.04

  5. Installa Vsftpd con SSL/TLS su Ubuntu 20.04

Come installare il server VsFTPD con TLS su Ubuntu 18.04 LTS

Come installare ProFTPD con TLS su Ubuntu 20.04 LTS

Come installare e configurare Apache con Let's Encrypt TLS/SSL su Ubuntu 20.04

Come installare Nginx con Let's Encrypt TLS/SSL su Ubuntu 20.04

Come installare Vsftpd su Ubuntu 16.04

Come installare Vsftpd su Ubuntu 18.04 LTS