Salve community, molti sanno ormai che i server utilizzano come sistema operativo il buon e caro linux. Esso è il sistema operativo più scelto da molti per vari motivi, minor consumo di risorse, e meno vulnerabilità. Esistono diverse distribuzioni, tuttavia è possibile avviare un server FTP con qualsiasi distribuzione. Esso è tendenzialmente insicuro, ma viene utilizzato da un gran numero di utenti per effettuare il download o l’upload di file.
Nonostante questo è possibile aggiungere un altro livello di protezione alla connessione FTP, utilizzando il protocollo TLS (Transport Layer Security). Esso cripta l’intera comunicazione, quindi rende i trasferimenti molti più sicuri. In questa guida, generica, vi spiegheremo come installare ed applicare il protocollo TLS ad un server FTP in linux. Quello che occorre è OpenSSL e vsftpd.
Procedimento:
- Installare OpenSSL e vsftpd con questo comando:
sudo apt-get -y install vsftpd openssl
- Al termine del setup d’installazione, è necessario procedere alla configurazione dei due tool. Infatti per utilizzare il protocollo TLS è necessario creare un certificato SSL che deve essere messo nella directory:
/etc/ssl/private
- Per crearne uno digitiamo sempre da terminale:
mkdir -p /etc/ssl/private
chmod 700 /etc/ssl/private
- Continuare con:
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out
/etc/ssl/private/vsftpd.pem
- Ora inserire:
- Codice della nazionalità (nel nostro caso IT);
- Nome città;
- Indirizzo e-mail valido;
- Ecc..
- Passare all’attivazione di TLS in vsftpd. Per farlo apriamo il file “/etc/vsftpd.conf” con un editor di testo, senza formattare il file e aggiungere al suo interno le righe:
# Turn on SSL
ssl_enable=YES# Allow anonymous users to use secured SSL connections
allow_anon_ssl=YES# All non-anonymous logins are forced to use a secure SSL connection in order to
# send and receive data on data connections.
force_local_data_ssl=YES# All non-anonymous logins are forced to use a secure SSL connection in order to send the password.
force_local_logins_ssl=YES# Permit TLS v1 protocol connections. TLS v1 connections are preferred
ssl_tlsv1=YES# Permit SSL v2 protocol connections. TLS v1 connections are preferred
ssl_sslv2=NO# permit SSL v3 protocol connections. TLS v1 connections are preferred
ssl_sslv3=NO# Disable SSL session reuse (required by WinSCP)
require_ssl_reuse=NO# Select which SSL ciphers vsftpd will allow for encrypted SSL connections (required by FileZilla)
ssl_ciphers=HIGH# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/private/vsftpd.pem
- Ora impostare “force_local_logins_ssl” e “force_local_data_ssl” su “TRUE“, questo consentirà di accettare accessi unicamente con connessione TLS;
- Non ci resta che riavviare vsftpd con il comando:
service vsftpd restart
Ora non resta che verificare l’accesso al server FTP sia eseguibile unicamente con una connessione TLS. Se avete riscontrato qualche problema non esitate a scrivere sul nostro Forum, e faremo il possibile per aiutarvi il più tempestivamente possibile. Questo è tutto! Spero di esservi stato d’aiuto, seguiteci sui social per ricevere novità o magari qualche altra guida, saluti lo staff