Configurare Pure-FTPD su Ubuntu con utenti non di sistema

PureFTPd logo

Il servizio FTP per chi fa web è sicuramente un servizio importante e pure-FTPd è sicuramente un demone molto completo sviluppato puntando sulla sicurezza e sull'efficienza. L'occhio di riguardo sulla sicurezza porta addirittura a dire che è stato sviluppato in maniera paranoica ed i suoi sviluppatori non hanno paura di dirlo, anzi ne fanno un motto su http://www.pureftpd.org.

La configurazione di pure-FTPd su Ubuntu/Debian prevede di default che gli utenti FTP siano condivisi con gli utenti di sistema ma in alcuni casi questa non è la soluzione migliore perchè se ci fanno un brute force (milioni di tentativi di login) sul servizio FTP conquistano non solo l'accesso ai nostri file ma all'intero sistema e questo non è auspicabile!!
La configurazione che propongo in questo HowTo prevede di separare le credenziali FTP da quelle di sistema per prevenire possibili attacchi o per chi non è paranoico come me, avere semplicemente la possibilità di dare accesso a file e cartelle ma non al sistema.
Il piccolo howto è stato provato su ubuntu Desktop 8.10 LTS e Ubuntu Server 9.10.

Installiamo il pacchetto

sudo su -
apt-get install pure-ftpd

Disabilitiamo l'autenticazione PAM

vi /etc/pure-ftpd/conf/PAMAuthentication

modificando yes->no

Abilitiamo l'utenticazione nativa di Pure-FTPd

cd /etc/pure-ftpd/auth
ln -s /etc/pure-ftpd/conf/PureDB 75PureDB

Creiamo l'utente di sistema su cui gli utenti virtuali di Pure-FTPd punteranno.

useradd -d /dev/null -g www-data -s /bin/false ftp

All'utente per motivi di sicurezza non diamo una shell e mettiamo un home directory sicuramente non nociva.

Adesso creaiamo L'utente virtuale


pure-pw useradd ftpuser-uccio -u ftp -g www-data -d /var/www/
pure-pw mkdb
/etc/init.d/pure-ftpd restart

Adesso non ci basta che verificare che la configurazione in /etc/pure-ftpd/conf/PureDB sia adeguata alle nostre esigenze

ste (not verified) Thu, 10/06/2011 - 12:51

Ciao, invece che modificare il file
/etc/pure-ftpd/conf/PAMAuthentication
meglio cancellare nella /etc/pure-ftpd/auth/ il link simbolico 70pam, e ricrearlo all'occorrenza.

Anonymous (not verified) Tue, 09/18/2012 - 23:24

...sudo -i

goshack (not verified) Mon, 04/22/2013 - 11:30

ciao,
ho seguito perfettamente la tua configurazione ma mi da questo errore:
Restarting ftp server: /usr/sbin/pure-ftpd-wrapper: Invalid configuration file /etc/pure-ftpd/conf/man: No corresponding directive

anche provando questo comando:
echo "yes" > /etc/pure-ftpd/conf/virtualchroot
come posso fare?:(
Piero

Uccio (not verified) Mon, 04/22/2013 - 11:41

In reply to by goshack (not verified)

la guida è stata scritta per ubuntu 8.10 e posso garantire che funziona fino a ubuntu 12.04 senza problemi.
L'errore che segnali non è comunque legato a cosa hai configurato con questa guida.
Il file /etc/pure-ftpd/conf/man non so da dove ti spunta ma credo che ti basti spostarlo fuori dalla cartella conf per correggere!

Takoda (not verified) Fri, 03/21/2014 - 13:53

Bella guida!
Ho un cms tipo joomla ma non mi fa scrivere i file dice che c'e un problema con www-data invece con il client ftp tutto ok!