server

Come configurare il server FTP su CentOS

Come configurare il server FTP su CentOS

La configurazione di un server FTP (File Transfer Protocol) sul tuo PC Linux ti consentirà di trasferire file tra il tuo sistema e una macchina remota. Ti mostreremo come configurare un server FTP su CentOS.

Linux ha già un sacco di server FTP open source che puoi usare per il lavoro. Ciò include server popolari come PureFTPd, ProFTPD e vsftpd.

Puoi utilizzare uno qualsiasi dei server FTP come preferisci. Tuttavia, in questo tutorial, installeremo e utilizzeremo vsftpd, abbreviazione di Very Secure FTP Daemon. È un server FTP veloce, stabile e sicuro che ti aiuterà a trasferire file da e verso un sistema remoto in un batter d'occhio.

Configurazione del server FTP su CentOS

Quindi, senza ulteriori indugi, iniziamo:

Installazione di vsftpd

Per prima cosa, dovremo installare vsftpd su CentOS. Per fare ciò, inserisci il seguente comando nel terminale:

$ sudo dnf install vsftpd

Installazione di vsftpd su CentOS

Con vsftpd installato sul tuo sistema CentOS, dovresti configurarlo in modo che si avvii e si avvii automaticamente. Questo può essere fatto usando il seguente comando:

$ sudo systemctl enable vsftpd --now

Fatto ciò, verifica lo stato del servizio vsftpd inserendo questo comando:

$ sudo systemctl status vsftpd

Apparirà una schermata di output simile a quella qui sotto. Dovresti vedere che vsftpd non è "Attivo" sul tuo sistema CentOS.

vsftpd attivo e in esecuzione su CentOS

Configurazione vsftpd

Con vsftpd attivo e in esecuzione sul tuo sistema, dovrai configurare le impostazioni del server. Per fare ciò, dovrai accedere a /etc/vsftpd/vsftpd.conf file di configurazione. Questo può essere fatto aprendo il file di configurazione nell'editor nano inserendo il seguente comando nel terminale:

$ sudo nano /etc/vsftpd/vsftpd.conf

Con il file ora aperto nell'editor, ci sono diverse modifiche che devi apportare per configurare vsftpd sul tuo sistema. Esaminiamoli uno per uno.

1. Configura l'accesso FTP

Per prima cosa, configuriamo il server FTP per consentire l'accesso solo agli utenti locali. Per fare ciò, dovrai trovare le direttive anonymous_enable e local_enable nel file e modificarle come mostrato nell'immagine seguente:

Impostazioni di accesso FTP

Come puoi vedere, dovrai impostare anonymous_enable=NO e local_enable=YES.

2. Abilita i caricamenti

Successivamente, dovrai configurare il server FTP per consentire il caricamento e l'eliminazione dei file.

Per fare ciò, dovrai individuare la direttiva write_enable e cambiarla in YES, come mostrato nell'immagine.

Opzione per abilitare i caricamenti vsftpd

3. Limita gli accessi utente

Una volta fatto, vorrai limitare il numero totale di accessi utente i.e., vuoi che solo determinati utenti accedano al tuo server FTP. Per fare ciò, per prima cosa, individua questa riga nel .conf - userlist_enable=YES. Successivamente, aggiungi queste due righe nel file:

userlist_file=/etc/vsftpd/user_list userlist_deny=NO

Usa l'immagine qui sotto come riferimento:

Impostazioni per limitare gli accessi degli utenti

Puoi anche scegliere di abilitare questa opzione. Se lo fai, dovrai specificare esplicitamente a quali utenti vuoi dare accesso al server FTP. Per consentire agli utenti, dovrai aggiungere i loro nomi utente al file /etc/vsftpd/user_list con un solo nome utente in ogni riga.

4. Configurazione di connessioni FTP passive

Potresti anche voler impostare connessioni FTP passive.

Pertanto, qui ti mostreremo come specificare gli intervalli minimo e massimo delle porte aggiungendo un paio di righe all'interno del .conf file.

Configurazione di connessioni FTP passive

Tutto quello che devi fare è scorrere verso il basso fino alla fine del file e aggiungere queste due righe, come mostrato nell'immagine.

pasv_min_port=30000 pasv_max_port=31000

Discuteremo anche di come aprire l'intervallo nel firewall più avanti in questo tutorial.

5. Configura trasmissioni sicure utilizzando SSL/TLS

Infine, viene la questione di proteggere la connessione FTP utilizzando SSL/TLS. Per fare ciò, dovrai disporre di un certificato SSL e configurare il tuo server FTP per usarlo.

Tuttavia, per il bene di questo tutorial, genereremo un certificato SSL autofirmato utilizzando lo strumento OpenSSL e quindi lo utilizzeremo per crittografare la nostra trasmissione FTP.

Quindi, per prima cosa, dovrai utilizzare OpenSSL per generare un nuovo certificato SSL. Puoi farlo inserendo il seguente comando nel terminale:

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

Creazione di un certificato OpenSSL autofirmato in CentOS

L'esecuzione del comando precedente genererà una chiave privata a 2048 bit e un certificato autofirmato. Entrambi questi sono validi per dieci anni e salvati nello stesso file.

Dopo aver creato il tuo nuovo certificato SSL, apri il file di configurazione vsftpd utilizzando il comando precedente:

sudo nano /etc/vsftpd/vsftpd.conf

Scorri verso il basso e aggiungi le seguenti righe come mostrato nell'immagine:

rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=SI

Configurazione delle impostazioni SSL per vsftpd

E questo è tutto. Hai configurato correttamente il certificato SSL per il tuo server FTP.

6. finalizzare

Una volta fatto, ricontrolla il file di configurazione vsftpd per vedere se tutte le seguenti impostazioni sono come sono:

Anonymous_enable=NO local_enable=S write_enable=S local_umask=022 dirmessage_enable=S xferlog_enable=S connect_from_port_20=S xferlog_std_format=S listen=NO listen_ipv6=S pam_service_name=vsftpd userlist_enable=S pam_deny_userlist_enable=S pa userlist_filelist=NO pasv_max_port=31000 rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=SI

Dopo esserti assicurato che tutte le modifiche di cui sopra siano state apportate al file, dovrai salvarlo. Una volta salvato, riavvia il servizio vsftpd utilizzando il seguente comando:

$ sudo systemctl riavvia vsftpd

Configura il firewall

Se hai un firewall abilitato insieme al server FTP, allora devi configurare il firewall in modo che permetta le trasmissioni FTP.

Per fare ciò, dovrai inserire i seguenti comandi nel terminale:

$ sudo firewall-cmd --permanent --add-port=20-21/tcp

Il comando precedente apre la porta 21, che è la porta del comando FTP, e la porta 20, che è la porta dei dati FTP.

Dovrai anche inserire questo comando:

$ sudo firewall-cmd --permanent --add-port=30000-31000/tcp

Questo comando apre l'intervallo di porte passive 30000-31000, che abbiamo configurato in precedenza.

Consentire al server vsftpd di passare attraverso il firewall CentOS

Una volta fatto, dovrai ricaricare il firewall usando il seguente comando:

$ firewall-cmd --reload

Come creare un nuovo utente FTP

Ora che hai configurato il tuo server vsftpd sul tuo sistema CentOS, è il momento di creare un nuovo utente FTP e testarlo.

Innanzitutto, creiamo un nuovo utente FTP (newftpuser) utilizzando il seguente comando:

$ sudo adduser newftpuser

Successivamente, dovrai impostare una password per il nuovo utente. Per farlo, usa questo comando:

$ sudo passwd newftpuser

Assicurati che la password sia forte e più lunga di otto caratteri.

Creare un nuovo utente FTP

Dopo aver creato il nuovo utente, dovrai aggiungerlo all'elenco degli utenti FTP. Questo può essere fatto inserendo il seguente comando nel terminale:

$ echo "newftpuser" | sudo tee -a /etc/vsftpd/user_list

Infine, dovrai creare un albero di directory FTP in cui imposterai tutti i permessi corretti. Per fare ciò, dovrai inserire la seguente serie di comandi nel terminale:

$ sudo mkdir -p /home/nuovoftp/upload $ sudo chmod 550 /home/nuovoftp/ftp $ sudo chmod 750 /home/nuovoftp/ftp/upload $ sudo chown -R nuovoftp: /home/nuovoftp/ftp

Crea un albero di directory FTP

A questo punto, il tuo server FTP è completamente funzionante e pronto all'uso. Ora puoi connetterti ad esso utilizzando qualsiasi client FTP come FileZilla. Assicurati solo che il client FTP possa anche essere configurato per utilizzare la crittografia TLS poiché viene utilizzato per crittografare le trasmissioni FTP.

Disabilita l'accesso alla shell

Una cosa che dovresti tenere a mente quando crei un nuovo utente FTP è che, se non diversamente specificato, l'utente avrà accesso SSH al server.

Se desideri disabilitare l'accesso alla shell da parte dell'utente, dovrai creare una nuova shell che stamperà un messaggio che informa l'utente che: "Questo account è limitato solo all'accesso FTP."

Per fare ciò, dovrai inserire il seguente comando nel terminale:

$ echo -e '#!/bin/sh\necho "Questo account è limitato solo all'accesso FTP."' | sudo tee -a /bin/ftponly $ sudo chmod a+x /bin/ftponly

Il comando precedente creerà la shell /bin/ftponly e la eseguirà.

Successivamente, dovrai aggiungere la nuova shell all'elenco delle shell valide che si trovano all'interno del /etc/shells file. Questo viene fatto usando il seguente comando:

$ echo "/bin/ftponly" | sudo tee -a /etc/shells

E come passaggio finale, tutto ciò che devi fare è cambiare la shell dell'utente in /bin/ftponly utilizzando questo comando:

$ sudo usermod newftpuser -s /bin/ftponly

Inoltre, per tutti i futuri utenti FTP, puoi usare lo stesso comando per cambiare la loro shell in modo che possano avere solo accesso FTP.

I 5 migliori giochi arcade per Linux
Al giorno d'oggi, i computer sono macchine serie utilizzate per i giochi. Se non riesci a ottenere il nuovo punteggio più alto, saprai cosa intendo. I...
Battaglia per Wesnoth 1.13.6 Sviluppo rilasciato
Battaglia per Wesnoth 1.13.6 rilasciato il mese scorso, è la sesta versione di sviluppo nella 1.13.x e offre una serie di miglioramenti, in particolar...
Come installare League Of Legends su Ubuntu 14.04
Se sei un fan di League of Legends, questa è un'opportunità per testare League of Legends. Nota che LOL è supportato su PlayOnLinux se sei un utente L...