Vsftpd noto anche come un demone FTP molto sicuro è un server FTP per sistemi simili a Unix. FTP è il protocollo di rete standard più utilizzato per caricare/scaricare file tra due computer su una rete. Per impostazione predefinita, FTP non è sicuro perché trasmette i dati insieme alle credenziali dell'utente senza crittografia.
In questo tutorial impareremo come installare Vsftpd con supporto SSL/TLS su server Ubuntu 18.04.
Requisiti
- Un server che esegue Ubuntu 18.04.
- Un utente non root con privilegi sudo.
- L'indirizzo IP statico 192.168.0.102 è configurato.
Installa Vsftpd
Per impostazione predefinita, Vsftpd è disponibile nel repository predefinito di Ubuntu 18.04. Quindi puoi installarlo facilmente semplicemente eseguendo il seguente comando:
sudo apt-get install vsftpd -y
Una volta installato Vsftpd, avvia il servizio Vsftpd e abilitalo per l'avvio all'avvio:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
Crea struttura di directory per FTP
Prima di iniziare, dovrai creare un utente per l'accesso FTP.
Puoi creare un utente con il seguente comando:
sudo adduser vsftp
Quindi, crea la directory ftp e imposta la proprietà con il seguente comando:
sudo mkdir /home/vsftp/ftp
sudo chown nessuno:nogroup /home/vsftp/ftp
sudo chmod a-w /home/vsftp/ftp
Quindi, crea una directory in cui i file possono essere caricati e assegna la proprietà all'utente vsftp:
sudo mkdir /home/vsftp/ftp/test
sudo chown vsftp:vsftp /home/vsftp/ftp/test
Configura Vsftpd
Successivamente, dovrai eseguire alcune configurazioni per configurare il server FTP.
Innanzitutto, crea un backup del file di configurazione originale:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
Quindi, apri il file vsftpd.conf:
sudo nano /etc/vsftpd.conf
Aggiungi le seguenti righe:
listen=NO listen_ipv6=SI anonymous_enable=NO local_enable=SI write_enable=SI local_umask=022 dirmessage_enable=SI use_localtime=SI xferlog_enable=SI connect_from_port_20=SI chroot_local_user=SI secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd pasv_enable =Sì pasv_min_port=10000 pasv_max_port=11000 user_sub_token=$USER root_locale=/home/$USER/ftp userlist_enable=SI userlist_file=/etc/vsftpd.userlist userlist_deny=NO
Salva e chiudi il file. Puoi modificare la configurazione di cui sopra in base alle tue esigenze.
Successivamente, dovrai anche aggiungere l'utente vsftp al file /etc/vsftpd.userlist per consentire l'accesso FTP:
sudo nano /etc/vsftpd.userlist
Aggiungi la seguente riga:
vsftp
Salva e chiudi il file, quindi riavvia il servizio Vsftpd per applicare queste modifiche:
sudo systemctl restart vsftpd
Ora apri il tuo browser web e digita l'URL ftp://192.168.0.102 , ti verrà chiesto di inserire nome utente e password per accedere all'FTP. Inserisci il tuo nome utente e password vsftp, quindi fai clic su Ok pulsante. Dovresti vedere la seguente pagina:
Vsftpd sicuro utilizzando SSL/TLS
Successivamente, dovrai abilitare SSL/TLS per crittografare i dati trasferiti tramite FTP.
Per fare ciò, dovrai creare un certificato per quello. Puoi creare un certificato utilizzando OpenSSL utilizzando il seguente comando:
sudo mkdir /etc/cert
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem
Successivamente, dovrai modificare il file vsftpd.conf e apportare alcune modifiche:
sudo nano /etc/vsftpd.conf
Aggiungi le seguenti righe:
rsa_cert_file=/etc/cert/vsftpd.pemrsa_private_key_file=/etc/cert/vsftpd.pemssl_enable=YESallow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YESssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NOrequireGH_s Salva il file, quindi riavvia Vsftpd utilizzando il comando seguente:sudo systemctl restart vsftpdAccesso FTP su SSL/TLS
Non puoi accedere al tuo server FTP su SSL/TLS tramite browser. Quindi, dovrai installare il client FTP FileZilla per accedere al tuo server FTP. Perché FileZilla supporta FTP su SSL/TLS.
Puoi installare il client FileZilla usando il seguente comando:
sudo apt-get install filezilla -yUna volta installato FileZilla, aprilo dalla dashboard di Unity. Dovresti vedere la seguente immagine:
Ora, fai clic su File>Gestione siti . Dovresti vedere la seguente immagine:
Qui, aggiungi Nuovo sito e fornisci il nome host/sito, aggiungi l'indirizzo IP, definisci il protocollo da usare, la crittografia e il tipo di accesso. Quindi fai clic su Connetti pulsante. Dovresti vedere la seguente immagine:
Ora verifica il certificato utilizzato per la connessione SSL/TLS e fai clic su OK ancora una volta per connettersi al server FTP. Dovresti vedere il contenuto del tuo server FTP nella pagina seguente: