FTP o File Transfer Protocol, è un protocollo popolare per il trasferimento di file da e verso un server FTP. Tuttavia, è irto di rischi per la sicurezza poiché invia dati e informazioni sensibili in testo normale. VSFTPD ( Very Secure FTP Daemon ) è un server FTP veloce, sicuro e stabile che utilizza la crittografia per proteggere i dati scambiati con il server.
In questo tutorial, installeremo il server FTP vsftpd su Debian 11 .
Passaggio 1:installa il pacchetto vsftpd
Per prima cosa, aggiorna l'elenco dei pacchetti e aggiorna il tuo server Debian.
# apt update
# apt upgrade
Quindi installa il pacchetto vsftpd.
# apt install vsftpd
Una volta installato, vsftpd si avvia automaticamente. Puoi confermarlo eseguendo il comando:
# systemctl status vsftpd.service
Passaggio 2:crea un utente FTP
Successivamente, creeremo un account utente FTP univoco che utilizzeremo per accedere al server FTP. usa adduser comando seguito dal nome dell'utente e rispondere alle richieste di conseguenza.
# adduser unixcop-user
Passaggio 3:aggiungi l'utente FTP all'elenco degli utenti con accesso consentito
Ora aggiungeremo l'utente FTP a vsftp.userlist file. Agli utenti locali specificati in questo file viene concessa l'autorizzazione ad accedere al server FTP.
# echo unixcop-user >> /etc/vsftpd.userlist
Fase 4:crea una directory utente FTP
Ora, crea una directory FTP per l'utente FTP e assegna le autorizzazioni e la proprietà della directory appropriate.
# mkdir -p /home/unixcop-user/ftp-dir
# chmod -R 750 /home/unixcop-user/ftp-dir
# chown -R unixcop-user: /home/unixcop-user/ftp-dir
Passaggio 5:configura il servizio vsftpd
Ora dobbiamo procedere e modificare il file di configurazione principale /etc/vsftpd.conf
# nano /etc/vsftpd.conf
Per impostazione predefinita, agli utenti anonimi viene concesso l'accesso. Ma questo non è ciò che vogliamo per motivi di sicurezza. Pertanto, disabiliteremo l'accesso da parte dell'utente anonimo e concederemo l'accesso solo all'utente locale.
anonymous_enable=NO
local_enable=YES
Successivamente, è necessario consentire all'utente locale di caricare file e accedere alla propria home directory, nonché di apportare modifiche ai file come indicato.
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
Inoltre, puoi limitare gli utenti locali che possono accedere e caricare file specificando solo gli utenti contenuti in /etc/vsftpd.userlist file.
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
Per fornire una connessione FTP sicura al server, è necessario crittografare il server utilizzando un certificato SSL. Genereremo un certificato SSL autofirmato per crittografare il server. Per farlo, esegui il comando.
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd-key.pem -out /etc/ssl/private/vsftpd-cert.pem
Torna al file di configurazione predefinito /etc/vsftpd.conf e incolla queste righe per specificare il percorso dei certificati SSL generati e abilitare SSL.
rsa_cert_file=/etc/ssl/private/vsftpd-cert.pem
rsa_private_key_file=/etc/ssl/private/vsftpd-key.pem
ssl_enable=YES
In sintesi, il tuo file di configurazione dovrebbe contenere queste righe:
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
Per rendere effettive le modifiche, riavvia il server.
# systemctl restart vsftpd.service
# systemctl status vsftpd.service
Passaggio 5:accedi al server vsftpd
Ora abbiamo finito con le configurazioni. L'ultima cosa è consentire le porte 20 e 21 se il firewall è abilitato.
# ufw allow 20/tcp
# ufw allow 21/tcp
# ufw reload
Infine, prendi il tuo client FTP come FileZilla e inserisci i dettagli come segue:
Ospite :IP server
Nome utente: utente unixcop
Password :Password dell'utente unixcop
Dopo che l'elenco delle directory è riuscito, ora puoi iniziare a trasferire i file in modo sicuro tramite SSL.
E così, noi imparato come installare il server ftp vsftpd su Debian 11.