File Transfer Protocol (FTP) è uno strumento popolare e ampiamente utilizzato per il trasferimento di file tra un server e client sulla rete. Il problema principale con le impostazioni FTP predefinite è il rischio per la sicurezza associato alla trasmissione non crittografata delle credenziali utente e dei dati sulla rete. Ciò potrebbe compromettere i dettagli dell'account utente.
Pertanto, è necessario installare un server sicuro che supporti la crittografia. Sono disponibili diversi server FTP open source per Linux a tua disposizione. I server più comunemente utilizzati includono Vsftpd, PureFTPd e ProFTPD.
In questo tutorial descriveremo come installare e configurare il server VSFTPD, che è un demone FTP molto sicuro.
Installazione del server FTP su CentOS
Qui utilizzeremo l'installazione minima di Centos 7 per la dimostrazione e l'accesso come root per eseguire i comandi.
Passaggio 1:installa il pacchetto vsftpd
In genere, il pacchetto vsftpd è disponibile nei repository CentOS predefiniti. Esegui il comando seguente per installare un server FTP.
yum install vsftpd
Dopo l'installazione verifica lo stato del servizio FTP.
systemctl status vsftpd
Se il servizio non è avviato, puoi avviare il servizio utilizzando il comando seguente.
systemctl start vsftpd
ora dovremmo abilitare il servizio FTP all'avvio del sistema.
systemctl enable vsftpd
Fase 2:configura il vsftpd
File di configurazione VSFTPD che si trova nella directory “/etc/vsftpd/”. Quindi modificheremo "vsftpd.conf". Prima della modifica, esegui il backup del file originale.
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.origbackup
Ora modifica il file.
vi /etc/vsftpd/vsftpd.conf
Consentiremo l'accesso al server FTP solo per gli utenti locali, quindi modificheremo i seguenti parametri e modificheremo.
anonymous_enable=NO local_enable=YES
Trova "write_enable" e decommenta l'impostazione per consentire le modifiche al filesystem.
write_enable=YES
Trova e decommenta la direttiva "chroot" per impedire agli utenti FTP di accedere a qualsiasi file al di fuori delle loro home directory.
chroot_local_user=YES
Qui configuriamo le directory FTP per consentire il caricamento quando chroot è abilitato. Questo è il metodo consigliato. Quindi aggiungi le seguenti righe al file "vsftpd.conf".
user_sub_token=$USER local_root=/home/$USER/ftp
Normalmente vsftpd può utilizzare qualsiasi porta per connessioni FTP passive. Qui menzioniamo un intervallo minimo e massimo di porte per vsftpd.
Aggiungi queste righe al file
pasv_min_port=40000 pasv_max_port=41000
Per limitare l'utente, accedi aggiungi le seguenti configurazioni dopo la riga "userlist_enable=YES".
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
Ora salva ed esci dal file.
Riavvia il servizio VSFTPD.
systemctl restart vsftpd
Passaggio 3:configurazione del firewall
Consenti porte FTP tramite firewall.
firewall-cmd --permanent --add-port=20-21/tcp firewall-cmd --permanent --add-port=40000-41000/tcp
Ora ricarica il firewall.
firewall-cmd --reload
Fase 4:crea un utente FTP
Aggiungi un utente. Sostituisci "darsh" con il nome utente che desideri.
adduser darsh
Imposta la password per l'utente.
passwd darsh
Ora aggiungi l'utente all'elenco degli utenti FTP consentiti. Per farlo, modifica il file di configurazione e aggiungi il nome utente creed.
vi /etc/vsftpd/user_list
Quindi salva ed esci dal file.
Crea una directory di caricamento per l'utente.
mkdir -p /home/darsh/ftp/upload
Imposta i permessi della directory.
chmod 550 /home/darsh/ftp chmod 750 /home/darsh/ftp/upload
Cambia proprietà della directory.
chown -R darsh: /home/darsh/ftp
Abbiamo creato un utente con accesso alla shell e se vuoi puoi disabilitare l'accesso alla shell dall'utente.
usermod -s /sbin/nologin darsh
Passaggio 5:prova il server FTP
Ora puoi usare il client FTP e accedere al server. Se non ne hai uno, ti consiglio di utilizzare l'app gratuita e open source "FileZilla".

Puoi sfogliare la directory di caricamento e creare un file per il test.

Questo è tutto! Hai configurato correttamente un server FTP su CentOS. Facci sapere come è andata la tua installazione e condividi l'articolo con i tuoi amici sulle piattaforme social.