ProFTPD è un server FTP avanzato, sicuro ed altamente configurabile. La sintassi per la configurazione assomiglia molto a quella di un server web Apache. Inoltre offre numerose funzionalità come:
+ multipli server virtuali
+ gestione ftp anoymous
+ accessi con autenticazione locale, RADIUS, LDAP, SQL etc…
+ supporto chroot jail
+ SSL/TLS
Vediamo i passi per installarlo su un sistema CentOS/RedHat/Fedora.
Installiamo ProFTPD server
Da terminale come utente root digitiamo:# yum install proftpd
Per far partire ProFTPD quando il sistema fà il reboot:# chkconfig --level 3 proftpd on
Per far partire il servizio ftp, invece:# service proftpd start
Per fermare il servizio proftpd ftp server, digitiamo:# service proftpd stop
Per il riavvio del servizio proftpd ftp, digitiamo:# service proftpd restart
Se modifichiamo il file di configurazione e vogliamo ricaricarlo, digitiamo:# service proftpd reload
/etc/proftpd.conf – Proftpd file di configurazione
Il file di configurazione si tova in /etc/proftpd.conf. Per modificarlo, digitiamo:# vim /etc/proftpd.conf
Per controllare la sintassi del file di configurazione digitiamo:# proftpd -t6
Configurazione autenticazione di utenti virtuali
Quando installi ProFTPD, è di solito già pronto per utilizzarlo con utente anonymous, devi solo decommentare la sezione in /etc/proftpd.conf ma se vuoi l’accesso con autenticazione allora bisogna aggiungere delle direttive, tieni a mente che questi sono utenti virtuali.
- AuthUserFile : Specifica il file utenti, ha lo stesso formato di /etc/passwd
- AuthGroupFile : Specifica il file gruppi, ha lo stesso formato di /etc/group
Questi files possono essere creati con il tool ftpasswd, con i seguenti parametri:# ftpasswd --passwd --name {username} --file /etc/ftpd.passwd --uid {5000} --gid {5000} --home /var/ftp/username-home/ --shell /bin/false
# ftpasswd --group --name group1 –file /etc/ftpd.group --gid 5000 --member username
Un esempio concreto; aggiungiamo l’utente Steve al dominio ftp.gluone70.com (ftpgrp group):# ftpasswd --passwd --name steve --file /etc/ftpd.passwd --uid 5026 --gid 5026 --home /var/ftp/steve/ --shell /bin/false
# ftpasswd --group --name ftpgrp --file /etc/ftpd.group --gid 5000 --member steve
Quindi nel file proftpd.conf aggiungiamo le direttive di sopra :
AuthUserFile /etc/ftpd.passwd AuthGroupFile /etc/ftpd.group
ATTENZIONE! Gli utenti creati devono avere i permessi UNIX sotto la propria home directory.
Il valore –shell dve essere impostato a /bin/false per migliorare la sicurezza del server FTP.
Impostando tale valore è importante che nel file di configurazione venga aggiunta la seguente riga per non incorrere in qualche errore.RequireValidShell off
Non controllare gli utenti virtuali in /etc/passwd, ma utilizza solo AuthUserFileAuthOrder mod_auth_file.c.
Disabilitiamo autenticazione PAMPersistentPasswd off
AuthPAM off
Per costringere gli utenti a rimanere nella loro home directoruy (chrooted), aggiunere nel file di configurazione:DefaulRoot ~
Files access permission
La sintassi generale è la seguente:
Umask FILEMODE DIRMODE.
Impostate la mask di files e directory nuove. FILEMODE e DIRMODE devono essere nel formato 0xxx. Se DIRMODE è omesso allora DIRMODE = FILEMODE.
Alcuni esempi:
Umask 022
Il proprietario ha i permessi di rw sui files e pieno accesso sulle directories.
Il gruppo ha i permessi r sui files e rx sulle directories.
Il mondo ha i permessi r sui files e rx sulle directories.
Più restrittivo:Umask 026 027
- Proprietario rw sui files e pieno accesso sulle directories.
- Gruppo r sui files e rx sulle directories.
- Il mondo non ha nessun permesso su files e sulle directories.
Per negare a tutti, eccetto gli amministratori, di cambiare i permessi via ftp aggiungere:
AllowUser admin
DenyAll







