Web
Analytics Made Easy - StatCounter

Installare un server FTP con proFTPd + proFTPd Administrator

proftpd

I continui tagli di budget inflitti ai reparti IT, costringe i sistemisti ad orientare le soluzioni informatiche su prodotti che non incidano pesantemente sui costi cercando di mantenere il più alto fattore di sicurezza/prestazioni.

Un PC considerato obsoleto o poco performante con un sistema operativo Linux può essere molto utile per realizzare un buon server FTP contenendo i costi ed assicurando una certa affidabilità e sicurezza.

Utilizzando il robusto proftpd appoggiato ad un'installazione bare minimum di CentOS 5.4 è possibile implementare un server FTP molto robusto ed efficiente.

 

Prerequisiti

Per utilizzare proftpd e l'interfaccia web proftpd Administrator, sono richiesti quattro packages principali:

  1. mysql
  2. apache
  3. proftpd
  4. proftpd administrator

Procediamo con l'installazione dei requisiti di sistema:

# yum install mysql-server httpd php php-mysql mod_ssl

proftpd1

# chkconfig mysqld on
# chkconfig httpd on

Una volta installato il repository rpmforge, possiamo installare proftpd tramite il comando yum:

# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

proftpd2

# yum install proftpd proftpd-mysql
# chkconfig proftpd on

Dal sito http://proftpd-adm.sourceforge.net scarichiamo l'ultima versione di proftpd Administrator e la scompattiamo. La directory sarà poi copiata nella root di Apache impostata in /etc/http/conf/httpd.conf, nell'esempio /var/www/html/.

# tar -xzvf proftpd_admin_v1.2.tar.gz
# mv proftpd_admin_v1.2 /var/www/html/ftpadmin

 

Impostazioni di mySQL

Per incrementare la sicurezza di mySQL, è opportuno impostare la password di root ed eliminare ciò che non è necessario:

# service mysqld start
# mysql_secure_connection

  • impostare la password di root
  • rimuovere l'utente anonymous
  • disabilitare l'accesso remoto root
  • rimuovere il database test

proftpd3

Una volta installato proftpd, bisogna impostare la password precedentemente assegnata a mySQL root editando il file della struttura del database che sarà importato in mySQL. Da /var/www/html/ftpadmin/misc/database_structure_mysql/, editiamo le ultime tre righe del file db_structure.sql:

# cd /var/www/html/ftpadmin/misc/database_structure_mysql/
# vi db_structure.sql

proftpd4

A questo punto dalla directory /var/www/html/ftpadmin/misc/database_structure_mysql/ importiamo la struttura del database in mySQL:

# mysql -u root -p < db_structure.sql

proftpd5

 

Impostazioni di Apache

Configurare Apache /etc/http/conf/httpd.conf impostando il ServerName ed avviare il servizio:

# service httpd start

 

Impostazioni di proFTPd

Prima di avviare il servizio, bisogna configurare proftpd per rispecchiare le impostazioni del sistema. Come riferimento è possibile utilizzare il file di esempio proftpd.conf incluso nella directory /var/www/html/ftpadmin/misc/sample_config/.

Editare il file proftpd.conf e settare la stessa password impostata precedentemente in mySQL nella riga dove viene riportato:

proftpd6

Verifichiamo che non ci siano errori di configurazioni in proftpd lanciando semplicemente il comando:

# proftpd

Se non viene visualizzato nessun errore, proftpd è pronto per essere avviato.

proftpd7

# service proftpd start

 

Impostazioni di proFTPd administrator

Precedentemente abbiamo spostato la directory proftpd_admin in /var/www/html/ftpadmin, quindi è qui che sposteremo adesso la nostra attenzione. Per poter configurare il sistema tramite l'interfaccia web e abilitare la scrittura dei log, dobbiamo assegnare i diritti di scrittura al file configuration.xml e alle directory groups e users in /var/www/html/ftpadmin/logs:

# cd /var/www/html/ftpadmin
# chmod o+w configuration.xml
# chmod 733 logs/*

Creiamo il gruppo e l'utente utilizzati dal programma:

# groupadd -g 1000 grouptable
# useradd -u 1000 -s /bin/false -d /bin/null -c "proftpd user" -g grouptable usertable

Per come sono le impostazioni di default, creiamo la directory /ftp nella root di sistema:

# mkdir /ftp

Per aumentare la sicurezza del sistema è consigliato creare una partizione dedicata a ftp.

Per configurare correttamente l'ambiente operativo, riavviamo il servizio httpd e richiamiamo dal browser l'interfaccia web di proftpd Administrator tramite http://ip_address/ftpadmin/configure.php. Per configurare correttamente i parametri di sistema, cliccare su Configure e impostare i parametri come riportato in figura:

proftpd8

Database

proftpd9

proFTPd

proftpd10

Filepath

proftpd11

Terminata la configurazione, richiamando dal browser l'indirizzo http://ip_address/ftpadmin si accede alla Main Page:

proftpd12

 

Sicurezza

Poichè presumibilmente il server FTP sarà messo in DMZ, è necessario impostare determinati parametri di sicurezza per garantirne una certa affidabilità contro eventuali tentativi di intrusione. Tramite il comando system-config-securitylevel-tui impostare il firewall come attivo lasciando passare solo i servizi necessari:

  • ssh
  • ftp
  • https

# system-config-securitylevel-tui

proftpd13

Fare riferimento anche a quanto riportato nell'articolo Mettere in sicurezza un sistema Linux precedentemente pubblicato per rafforzare la robustezza del sistema.

Con l'installazione del modulo mod_ssl di Apache, utilizzeremo il protocollo SSL per accedere all'interfaccia web tramite l'indirizzo https://ip_address/ftpadmin.

Non ci resta poi che definire gli utenti con le home directory operative e il server FTP, dopo averlo testato per qualche giorno, è pronto per essere messo in produzione.

installare proftpd administrator 1

12 Comments

  1. Francesco 28/01/2010
    • Paolo 28/01/2010
  2. valerio 08/04/2010
  3. Paolo 08/04/2010
  4. sandman42 03/06/2011
    • Paolo 03/06/2011
  5. Stefano 19/02/2013
  6. Stefano 20/02/2013
    • alessandro 15/11/2013
  7. alessandro 15/11/2013
    • Paolo Valsecchi 15/11/2013
  8. alessandro 15/11/2013