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

  1. sudo su -
  2. apt-get install pure-ftpd

Disabilitiamo l'autenticazione PAM

  1.  vi /etc/pure-ftpd/conf/PAMAuthentication

modificando yes->no

Abilitiamo l'utenticazione nativa di Pure-FTPd

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

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

  1. 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

  1. pure-pw useradd ftpuser-uccio -u ftp -g www-data -d /var/www/
  2. pure-pw mkdb
  3. /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

Share this post

Comments (6)

  • anon

    Ottima guida ... complimenti :D

    Mar 10, 2010
  • anon

    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.

    Oct 06, 2011
  • anon

    ...sudo -i

    Sep 18, 2012
  • anon

    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

    Apr 22, 2013
  • anon

    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!

    Apr 22, 2013
  • anon

    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!

    Mar 21, 2014