Installa VSFTP su Ubuntu 20.04. In questa guida imparerai come configurare un server FTP e fornire l'accesso a una directory particolare come chroot per un utente.
Questa configurazione è stata testata su un'istanza VM di Google Compute Engine che esegue Ubuntu 20.04 LTS.
Quindi questa configurazione funziona bene per qualsiasi macchina virtuale su istanza AWS EC2 o DigitalOcean o qualsiasi altro server di hosting cloud o VPS o dedicato.
Prerequisiti per Google Cloud
Se utilizzi Google Cloud Platform per configurare FTP, devi eseguire i seguenti passaggi.
- Un Compute Engine in esecuzione, consulta Configurazione dell'istanza di Compute Engine con Ubuntu 20.04.
- Completata la configurazione iniziale del server Ubuntu.
Passaggi per configurare FTP
- Configura l'istanza di macchina virtuale
- Completamento della configurazione iniziale del server
- Configura le regole del firewall
- Crea un nuovo utente
- Installa il server FTP VSFTP
- Configura FTP
- Verifica la configurazione
Presumo che tu abbia configurato e configurato il tuo server.
Imposta le regole del firewall
Puoi configurare FTP su qualsiasi porta desideri, ora lo configurerai nella porta predefinita 21, quindi devi creare una regola firewall per fornire l'accesso a queste porte.
Apriamo anche le porte 40000 – 50000 per connessioni in modalità passiva.
Vai a Rete VPC>> Regole firewall e fai clic su Crea regole firewall.
In Nome inserisci ftp
In Target seleziona All instances in the network
In Filtro sorgente seleziona IP ranges
In Intervalli IP di origine inserisci 0.0.0.0/0
In Protocolli e porte controlla TCP e inserisci 20, 21, 990, 40000-50000
.
Fai clic su Crea .
Consenti porte FTP in UFW
Se stai usando UFW nel tuo server assicurati di aprire la porta per consentire le connessioni al tuo server altrimenti non puoi connetterti.
sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 990/tcp sudo ufw allow 40000:50000/tcp
Crea un nuovo utente
Ora puoi creare un nuovo utente usando il seguente comando per testare l'FTP.
sudo useradd -m -c "Name, Role" -s /bin/bash username
Imposta una password per quell'utente.
sudo passwd username
Installa il server VSFTP
VSFTP è un Protocollo di trasferimento file molto sicuro per sistemi basati su Linux. Per impostazione predefinita, AWS o Google Cloud non consentono l'autenticazione basata su password per le istanze della macchina virtuale.
Con VSFTP puoi eseguire il tuo server FTP e creare utenti e assegnarli a qualsiasi directory e impedire l'accesso ad altre directory usando anche chroot.
Ora puoi installare VSFTP usando il seguente comando.
sudo apt install vsftpd
Una volta completata l'installazione, puoi configurare VSFTP.
Configura VSFTP
Inizia creando un backup del file di configurazione VSFTP originale.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
Modifica il vsftpd.conf
file e apportare le seguenti modifiche.
sudo nano /etc/vsftpd.conf
Modifica le seguenti direttive.
listen=YES listen_ipv6=NO
Decommenta le seguenti direttive.
write_enable=YES local_umask=022 chroot_local_user=YES
Aggiungi queste configurazioni fino all'ultimo.
seccomp_sandbox=NO allow_writeable_chroot=YES userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO tcp_wrappers=YES user_sub_token=$USER user_config_dir=/etc/vsftpd/user_config_dir pasv_min_port=40000 pasv_max_port=50000
Qui hai configurato un userlist_file
che contiene l'elenco degli utenti FTP e user_config_dir
per mantenere le configurazioni specifiche dell'utente.
Aggiungi l'utente che hai creato in precedenza in userlist
file.
echo "username" | sudo tee -a /etc/vsftpd.userlist
Questo comando creerà un file con il nome vsftpd.userlist
e aggiungi l'utente ad esso e restituisce l'utente aggiunto nel terminale.
Crea una directory con il nome user_config_dir
per mantenere le configurazioni specifiche dell'utente.
sudo mkdir -p /etc/vsftpd/user_config_dir
Crea un nuovo file con lo stesso nome del nome utente all'interno di questa directory.
sudo nano /etc/vsftpd/user_config_dir/username
Aggiungi la seguente riga a quel file.
local_root=/path/to/your/directory
Salva il file ed esci dall'editor.
Infine riavvia VSFTP.
sudo systemctl restart vsftpd
Impedisci l'accesso SSH
Ora devi impedire l'accesso SSH all'utente appena creato aggiungendo il DenyUsers
direttiva nel tuo sshd_config
.
sudo nano /etc/ssh/sshd_config
Aggiungi la riga seguente in fondo al file.
DenyUsers username other-user
Puoi aggiungere più utenti separati da uno spazio.
Riavvia SSH.
sudo systemctl restart ssh
Preparati per un ruolo di Professionista dell'Information Technology con sistema operativo Linux
Verifica la configurazione
Ora apri il tuo client FTP e inserisci l'indirizzo IP esterno del tuo server come nome host, Porta come 21, nome utente con il nome utente che hai creato prima e con la password.
Ora sarai connesso al server e potrai accedere solo alla cartella che ti è stata assegnata.
Conclusione
Ora hai imparato come configurare FTP sulla tua istanza VM su Ubuntu 20.04.
Grazie per il tuo tempo. In caso di problemi o feedback, si prega di lasciare un commento qui sotto.