5.6. Sicurezza dell'FTP

Il File Transport Protocol (FTP) è un protocollo TCP di vecchia concezione, creato per trasferire i file attraverso la rete. Dato che tutte le operazioni con il server sono in chiaro, incluso l'autenticazione dell'utente, esso viene considerato un protocollo insicuro e dovrebbe essere configurato con molta attenzione.

Red Hat Enterprise Linux fornisce tre server FTP.

Le seguenti direttive di sicurezza, riguardano l'impostazione del servizio vsftpd.

5.6.1. Banner FTP di benvenuto

Prima di sottoscrivere un nome utente e una password, viene presentato a tutti gli utenti un banner di benvenuto. Per default, questo banner include informazioni sulla versione, utili ai cracker che tentano di identificare punti deboli in un sistema.

Per cambiare il banner di benvenuto per vsftpd, aggiungere la seguente direttiva a /etc/vsftpd/vsftpd.conf:

ftpd_banner=<insert_greeting_here>

Sostituire <insert_greeting_here> nella direttiva su indicata con il testo del messaggio di benvenuto.

Per banner mutli-line, è consigliabile usare un file banner. Per facilitare la gestione di banner multipli, posizionare tutti i banner in una nuova directory chiamata /etc/banners/. Il file banner per i collegamenti FTP in questo esempio sarà /etc/banners/ftp.msg. Di seguito viene riportato un esempio di come dovrebbe apparire un file:

####################################################
# Hello, all activity on ftp.example.com is logged.#
####################################################

NotaNota
 

Non è necessario iniziare ogni riga del file con 220 come specificato in la Sezione 5.1.1.1.

Per collegare questo file banner di benvenuto a vsftpd, aggiungere la seguente direttiva a /etc/vsftpd/vsftpd.conf:

banner_file=/etc/banners/ftp.msg

È possibile anche inviare banner aggiuntivi ai collegamenti in entrata, usando i wrapper TCP come descritto in la Sezione 5.1.1.1.

5.6.2. Accesso anonimo

La presenza della directory /var/ftp/ attiva l'account anonymous.

Il modo più semplice per creare questa directory, è quello d'installare il pacchetto vsftpd. Questo pacchetto imposta un albero della directory per utenti anonimi e configura i permessi sulle directory in modalità di sola lettura.

Per default l'utente anonimo non è in grado di scrivere a nessuna directory.

CautelaAttenzione
 

Se si abilita un accesso anonimo a un server FTP, fate attenzione a dove conservate i dati più importanti.

5.6.2.1. Upload anonimo

Se desiderate abilitare utenti anonimi nell'effettuare l'upload, è consigliabile creare una directory con permessi di sola lettura all'interno di /var/ftp/pub/.

Per fare ciò inserire:

mkdir /var/ftp/pub/upload

Successivamente cambiare i permessi per far sì che gli utenti anonimi non siano in grado di vedere cosa c'è all'interno della directory, in tal senso inserite:

chmod 730 /var/ftp/pub/upload

Il formato dovrebbe somigliare a quanto segue:

drwx-wx---    2 root     ftp          4096 Feb 13 20:05 upload

AttenzioneAvvertanza
 

Gli amministratori che abilitano utenti anonimi alla lettura e scrittura all'interno delle directory, rendono i loro server fonte di software pronto ad essere trafugato.

In aggiunta, con vsftpd, aggiungete la seguente riga a /etc/vsftpd/vsftpd.conf:

anon_upload_enable=YES

5.6.3. Account utente

Dato che FTP passa in chiaro le informazioni inerenti i nomi utenti e le password necessarie per l'autenticazione, è consigliabile negare l'accesso al server da parte degli utenti del sistema, dai loro account utente.

Per disabilitare gli account in vsftpd, aggiungere la seguente direttiva a /etc/vsftpd/vsftpd.conf:

local_enable=NO

5.6.3.1. Restrizione degli account utente

Il modo più semplice per disabilitare un gruppo specifico di account, come ad esempio l'utente root e coloro che hanno privilegi sudo, all'accesso di un server FTP, è quello di utilizzare un file di elenco PAM come descritto nella Sezione 4.4.2.4. Il file di configurazione PAM per vsftpd è /etc/pam.d/vsftpd.

È anche possibile disabilitare l'account utente all'interno di ogni servizio in modo diretto.

Per disabilitare specifici account utente in vsftpd, aggiungere il nome utente su /etc/vsftpd.ftpusers.

5.6.4. Uso dei wrapper TCP per controllare l'accesso

Per controllare l'accesso al demone FTP, come indicato nella Sezione 5.1.1, potete usare i wrapper TCP.