[Guida] Come rendere più sicuro un server FTP, tramite protocollo TLS in [Linux]

Creato il 24 gennaio 2016 da Desktopsolution

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:
    Per crearne uno digitiamo sempre da terminale:

mkdir -p /etc/ssl/private

chmod 700 /etc/ssl/private

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out

/etc/ssl/private/vsftpd.pem

  1. Codice della nazionalità (nel nostro caso IT);
  2. Nome città;
  3. Indirizzo e-mail valido;
  4. 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

Sono presenti link non funzionanti nell'articolo? Segnalalo tramite commento oppure mandaci un Email a Info@desktopsolution.org
Hai bisogno di aiuto? Scrivi il tuo problema sul nostro Forum, i nostri moderatori ti aiuteranno.
Perché sul Forum? - Perché è più facile da gestire molte richieste di aiuto.
Grazie della collaborazione