FTP , abbreviazione di File Transfer Protocol , è un protocollo che fornisce l'accesso ai file che risiedono su un server. È uno dei primi protocolli che ha consentito agli utenti di scaricare file su Internet. Con il protocollo FTP, gli utenti possono scaricare e caricare file sui server con facilità.
Vsftpd , abbreviazione di demone FTP molto sicuro , è un demone FTP sicuro che è un aggiornamento del protocollo FTP. Impone connessioni sicure ai server FTP crittografando il traffico inviato da e verso il server e, così facendo, il trasferimento di file è protetto e protetto dagli hacker.
In questo argomento, puntiamo i riflettori sull'installazione di vsftpd su CentOS 8 / RHEL 8.
Passaggio 1) Installa vsftpd usando il comando dnf
Immediatamente, installeremo vsftpd. Per ottenere ciò, eseguiremo il comando seguente:
$ sudo dnf install vsftpd
Premi "y ' e premi INVIO per avviare l'installazione. L'installazione richiede alcuni secondi e verrà completata in pochissimo tempo. L'output seguente conferma che vsftpd è stato installato correttamente.
L'output indica che abbiamo installato vsftpd versione 3.0.3-31.el8.x86_64. Per confermare, eseguire il seguente comando:
[[email protected] ~]$ rpm -q vsftpd vsftpd-3.0.3-31.el8.x86_64 [[email protected] ~]$
L'output dovrebbe coincidere con la versione stampata sul terminale al termine dell'installazione. Per recuperare informazioni più dettagliate su Vsftpd, aggiungi il flag -i alla fine come mostrato:
$ rpm -qi vsftpd
Questo stamperà informazioni aggiuntive sullo schermo come l'architettura, la data di installazione, la licenza e la firma per citarne alcune.
Con vsftpd installato, è necessario che sia in esecuzione per facilitare l'accesso alle condivisioni di file.
Per avviare il servizio vsftpd, eseguire il comando:
$ sudo systemctl start vsftpd
Potresti anche voler abilitarlo per l'avvio automatico al riavvio. Per ottenere ciò, esegui il comando
$ sudo systemctl enable vsftpd --now
Per verificare lo stato di vsftpd sul tuo sistema, esegui:
$ sudo systemctl status vsftpd
Se vedi "attivo:(in esecuzione) ” in verde come indicato sul terminale, quindi il servizio vsftpd è attivo e funzionante.
Fase 2) Crea un utente ftp e la sua directory
Successivamente, creeremo un utente che utilizzeremo per accedere al server FTP. In questo caso, l'utente sarà ftpuser ma sentiti libero di dare al tuo utente un nome a tua scelta.
$ sudo adduser ftpuser $ sudo passwd ftpuser
Con l'utente FTP attivo, procederemo e creeremo la directory FTP e assegneremo le seguenti autorizzazioni e proprietà della directory.
$ sudo mkdir -p /home/ftpuser/ftp_dir $ sudo chmod -R 750 /home/ftpuser/ftp_dir $ sudo chown -R ftpuser: /home/ftpuser/ftp_dir
Dobbiamo anche aggiungere l'utente FTP a /etc/vsftpd/user_list file per consentire all'utente di accedere al server vsftp.
$ sudo bash -c 'echo ftpuser >> /etc/vsftpd/user_list'
Fase 3) Configura vsftpd tramite il suo file di configurazione
Finora, siamo riusciti a installare e confermare che vsftpd è attivo e funzionante. Sono necessarie ulteriori modifiche affinché Vsftpd consenta agli utenti di accedere al server.
Il file di configurazione predefinito per vsftpd è il file /etc/vsftpd/vsftpd.conf. Il file è pieno di direttive che aiutano a rafforzare la sicurezza del tuo server FTP.
In questa sezione, apporteremo alcune modifiche al file di configurazione e consentiremo agli utenti di accedere al server.
Per consentire agli utenti locali di accedere al server FTP in remoto e bloccare gli utenti anonimi, assicurati di avere le direttive come mostrato:
anonymous_enable=NO local_enable=YES
Per concedere agli utenti i diritti di eseguire qualsiasi comando FTP e apportare modifiche come il caricamento, il download e l'eliminazione di file, tieni presente la riga seguente.
write_enable=YES
Per motivi di sicurezza, puoi scegliere di impedire agli utenti di accedere a qualsiasi file e directory al di fuori delle loro home directory. Pertanto, tieni in atto la seguente direttiva.
chroot_local_user=YES
Per concedere agli utenti l'accesso in scrittura alle rispettive home directory, assicurati di avere questa direttiva.
allow_writeable_chroot=YES
Successivamente, definiremo porte personalizzate per abilitare le connessioni FTP passive. In questo caso, specificheremo le porte 30000 e 31000. Successivamente le apriremo sul firewall.
pasv_min_port=30000 pasv_max_port=31000
Successivamente, consentiremo solo agli utenti definiti in /etc/vsftpd/user_list accedere al server e bloccare il resto. Per ottenere ciò, utilizza le linee seguenti.
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
Infine, salva e chiudi il file. Affinché le modifiche persistano, riavvia il servizio Vsftpd.
$ sudo systemctl restart vsftpd
A questo punto, puoi verificare la connettività FTP eseguendo
$ indirizzo IP FTP
Specificare il nome utente dell'utente ftp e successivamente fornire la password. Dovresti ottenere l'output come mostrato.
Anche se abbiamo stabilito la connettività al server vsftpd. La connessione non è sicura e le informazioni inviate sono in testo normale e non crittografate. Pertanto, è necessario eseguire ulteriori passaggi per crittografare le comunicazioni inviate al server.
Passaggio 4) Configura SSL/TLS per vsftpd
Per crittografare le comunicazioni tra il server e un sistema client, dobbiamo generare un certificato TLS e successivamente configurare il server per utilizzarlo.
Per generare il certificato, esegui il comando seguente:
$ sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
Questo sarà seguito da una serie di richieste in cui ti verrà richiesto di fornire alcuni dettagli come il nome del paese, lo stato o la provincia e il nome dell'organizzazione per citarne alcuni. Compila tutti i dettagli di conseguenza come mostrato.
Dobbiamo anche comunicare al server dove sono archiviati i file del certificato. Quindi, torna al file di configurazione /etc/vsftpd/vsftpd.conf e specifica il percorso dei file del certificato.
rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd.pem
E poi, chiedi al server di attivare SSL.
ssl_enable=YES
Salva ed esci dal file di configurazione. Per apportare le modifiche precedenti all'effetto, riavvia il servizio vsftpd,
$ sudo systemctl restart vsftpd
Passaggio 5) Consenti le porte del server ftp (vsftpd) nel firewall
Se stai eseguendo un firewall, devi consentire queste porte salienti”
- 20 – per consentire il traffico FTP
- 21 – Porta dati FTP
- 30000-31000 – Per consentire la comunicazione passiva con il server FTP.
Pertanto, esegui i comandi seguenti:
$ sudo firewall-cmd --permanent --add-port=20-21/tcp $ sudo firewall-cmd --permanent --add-port=30000-31000/tcp
Quindi ricarica il firewall per rendere effettive le modifiche.
$ sudo firewall-cmd --reload
Passaggio 6) Testa il tuo server vsftpd o FTP
Dopo aver completato tutte le impostazioni, è il momento di testare la nostra connettività. In questo esempio, stiamo utilizzando un client FTP noto come FileZilla che è un client FTP gratuito per sistemi client e server. Supporta sia FTP semplice che FTP su TLS, che è ciò che testeremo.
All'avvio, l'interfaccia appare come mostrato. Fornire l'indirizzo IP dell'host (vsftpd), nome utente e password dell'utente ftp e quindi fare clic su "Quickconnect pulsante '.
Poco dopo, apparirà un pop-up che mostra il certificato del server FTP e i dettagli della sessione. Per procedere con la connessione, fai clic su "Fidati sempre di questo certificato nelle sessioni future" e quindi premi invio.
Se tutte le tue configurazioni sono corrette, dovresti ottenere l'accesso senza problemi come mostrato. Nel riquadro in basso a destra, la home directory del server remoto come mostrato. Ora puoi caricare, scaricare e modificare i file come ritieni opportuno.
Questo conclude il nostro argomento sull'installazione di vsftpd su CentOS 8. Ci auguriamo che tu possa ora configurare comodamente il tuo server vsftpd (ftp sicuro). Per favore, condividilo tra i tuoi amici tecnici e condividi anche i tuoi preziosi feedback e commenti.
Leggi anche :Come ruotare e comprimere i file di registro in Linux con Logrotate
Leggi anche :Come installare Memcached (server di memorizzazione nella cache) su CentOS 8