Il File Transport Protocol, o FTP, è un protocollo TCP di vecchia concezione, creato per trasferire i file attraverso la rete. Poichè 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.
gssftpd — Un demone FTP basato suxinetd kerberizzato, il quale non passa le informazioni di autenticazione attraverso la rete.
Red Hat Content Accelerator (tux) — Un web server kernel-space con capacità FTP
vsftpd — Una implementazione di sicurezza del tipo standalone del servizio FTP.
Le seguenti direttive di sicurezza, riguardano l'impostazione del servizio vsftpd.
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 cercano di identificare punti deboli in un sistema.
Per cambiare il banner di benvenuto per vsftpd, aggiungere la seguente direttiva al file /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.# #################################################### |
![]() | Nota |
|---|---|
Non è necessario iniziare ogni riga del file con 220 come specificato nella Sezione 5.1.1.1. |
Per collegare questo banner di benvenuto al file 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 nella Sezione 5.1.1.1.
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.
![]() | Attenzione |
|---|---|
Se si abilita un accesso anonimo a un server FTP, fate attenzione a dove conservate i dati più importanti. |
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ò digitare:
mkdir /var/ftp/pub/upload |
Successivamente cambiare i permessi per far sì che gli utenti anonimi non siano in grado di vedere cosa ci sia 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 |
![]() | Avvertanza |
|---|---|
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 al file/etc/vsftpd/vsftpd.conf:
anon_upload_enable=YES |
Poichè 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 propri account utente.
Per disabilitare gli account in vsftpd, aggiungere la seguente direttiva a /etc/vsftpd/vsftpd.conf:
local_enable=NO |
Il modo più semplice per disabilitare un gruppo specifico di account all'accesso di un server FTP, come ad esempio l'utente root e coloro che hanno privilegi sudo, è 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.
Per controllare l'accesso al demone FTP, come indicato nella Sezione 5.1.1, potete usare i wrapper TCP.