FTP server su Linux: come crearlo e configurarlo

Come installare un server FTP su un sistema Linux con ProFTP e attivare una connessione crittografata TLS per lo scambio dei dati.

Sia che si utilizzi un server cloud, sia che si configuri una macchina locale posizionata all’interno della rete locale dell’azienda o dell’ufficio, proponiamo di seguito i passaggi per approntare in pochi minuti un server FTP.

Questa volta vedremo, in pochi semplici passaggi, come allestire un server FTP sicuro su Ubuntu e distribuzioni Linux derivate. I passaggi da seguire sono pochi ed è importante evidenziare che il server per il trasferimento file in modalità remota attraverso il protocollo FTP utilizzerà un meccanismo di cifratura dei dati in transito in modo da scongiurare l’eventualità di qualunque attacco man-in-the-middle (MITM).

Condivisione di file con un server FTP configurato su una macchina Linux

Dopo aver effettuato il login sulla macchina Linux (nel nostro caso, prendiamo come esempio Ubuntu ma la procedura è molto simile per le altre distribuzioni), suggeriamo di attenersi ai passaggi illustrati di seguito:

1) Aggiornare l’installazione di Ubuntu impartendo dalla finestra del terminale (anche da remoto previa connessione con il software PuTTY) i seguenti comandi:
sudo apt update
sudo apt upgrade

2) A questo punto si potrà procedere con il download e l’installazione di ProFTP, un completo e versatile FTP server che supporta anche connessioni FTP sicure.
Nei comandi che seguono ometteremo sudo ipotizzando di aver effettuato il login sulla macchina Linux con l’account root:

apt-get install proftpd -y

3) Al termine dell’installazione di ProFTP avviare il servizio corrispondente:

systemctl start proftpd
systemctl enable proftpd

4) Se non fossero già presenti sulla macchina, si dovrà procedere con l’installazione delle librerie di OpenSSL, pacchetto che consente di eseguire le principali funzioni crittografiche e supportare il trasferimento dei dati usando il protocollo TLS (Transport Layer Security):

apt-get install openssl -y

Se OpenSSL fosse già presente sulla macchina, si riceverà un messaggio simile al seguente: “0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded“.

5) Richiedere la generazione dei certificati che ProFTP andrà a utilizzare usando il comando che segue (rispondere alle varie domande che verranno poste):

openssl req -x509 -newkey rsa:2048 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365

6) Assegnare i permessi corretti ai file contenenti le chiavi crittografiche usate da ProFTP:

chmod 600 /etc/ssl/private/proftpd.key
chmod 600 /etc/ssl/certs/proftpd.crt

7) Digitare il comando nano /etc/proftpd/proftpd.conf per modificare il file di configurazione di ProFTP quindi cercare la riga #Include /etc/proftpd/tls.conf (si trova quasi in fondo al file) e rimuovere il carattere # iniziale.
Premere quindi CTRL+O e il tasto Invio per salvare la modifica, infine chiudere l’editor di testo con CTRL+X.

8) Digitare quindi nano /etc/proftpd/tls.conf e togliere il segno # dalle righe seguenti (l’ordine con cui sono presentate potrebbe differire):

TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired
TLSVerifyClient off
TLSRequired on

Al solito, premere le combinazioni di tasti CTRL+O e CTRL+X per salvare le modifiche e chiudere l’editor.

9) Riavviare ProFTP con il comando systemctl restart proftpd.

10) Aggiungere un nuovo utente autorizzato a collegarsi al server FTP da un computer remoto con il comando adduser utenteftp.
Al posto di utenteftp specificare il nome dell’account utente da creare quindi impostare una password sufficientemente lunga e “solida”.

11) A questo punto è possibile aprire il client FTP preferito, inserire l’indirizzo IP del server e assicurarsi di selezionare Richiedi FTP esplicito su TLS.

Si potrà immediatamente effettuare il download e l’upload di file sul server FTP remoto. Va detto che se sul server fossero già presenti altri utenti, questi potranno collegarsi al server FTP utilizzando le corrispondenti credenziali, già assegnate in precedenza.

Ti consigliamo anche

Link copiato negli appunti