Esistono molte tipologie di Server FTP, che secondo il mio pensiero, si potrebbero ricondurre in quattro principali categorie:
- per pochi utenti
- per multi utenti
- personalizabbili
- orietante alla sicurezza
Io prediligo la personalizzazzione, ritengo infatti, che un servizio debba permettere massima libertà, sia per quanto rigurarda le impostazioni e che dia la possibilità di impostare livelli di sicurezza e di funzionamento desiderati. Per questo motivo, sono sempre stato orientato verso l’utilizzo di ProFTPd.
In particolare la configurazione tipo che utilizzo, è quella che si appoggia ai moduli mod_sql e mod_sql_mysql, grazie ai quali è possibile implementare un sistema di autenticazione FTP con MySQL.
Si possono trovare moltissimi esempi di configurazione in rete, come questo: http://www.khoosys.net/single.htm?ipg=848, che utilizza anche il sistema di quota fornito da ProFTPd.
Nell’ultimo server installato, ho voluto inserire anche la gestione automatica del ban, basata su criteri ben precisi; mod_ban permette di bloccare l’accesso al server seguendo diverse direttive, la più veloce da configurare è sicuramente MaxLoginAttempts.
Ulteriori perfezionamenti vengono dall’estratto del file di configurazione di proftpd qui sotto.
Le prime due sono quasi ovvie, impediscono l’autenticzione dell’utente root e proteggono la shell. L’ultima riga invece impone la visualizzazzione di tutti i file, anche quelli nascosti, per un massimo di 100 ricorsivamente per 3 cartelle
RootLogin off
RequireValidShell off
ListOptions -a maxfiles 100 maxdepth 3
A completare la configurazione del server, rimane l’apertura delle porte su iptables. Aggiungendo le seguenti righe al file /etc/sysconfig/iptables
-I INPUT -p tcp –dport 21 -m state –state NEW,ESTABLISHED -j ACCEPT
-I INPUT -p tcp –sport 20 -m state –state ESTABLISHED,RELATED -j ACCEPT
Mentre nel file /etc/sysconfig/iptables-config si deve aggiungere al caricamento dei moduli
IPTABLES_MODULES=”ip_conntrak_ftp”
L’ultima cosa da fare è abilitare il demone proftpd all’avvio del server
chkconfig –level 345 protftpd on