Installare un server FTP con ProFTPD: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 5: Riga 5:
'''Caratteristiche di ProFTPD'''
'''Caratteristiche di ProFTPD'''
<br/>
<br/>
* utilizza un singolo file di configurazione, con direttive molto familiari per chi è già abituato ad amministrare web server Apache
* utilizza un singolo file di configurazione, con direttive molto familiari per chi è già abituato ad amministrare web server Apache;
* permette la configurazione di files ".ftpaccess" e di server FTP virtuali in maniera simile ad Apache
* permette la configurazione di files ".ftpaccess" e di server FTP virtuali in maniera simile ad Apache;
* non permette comandi SITE EXEC, riducendo così lo stress da sicurezza dell'amministratore
* non permette comandi SITE EXEC, riducendo così lo stress da sicurezza dell'amministratore;
* supporta IPv6
* supporta IPv6.
=Installazione di ProFTPD=
=Installazione di ProFTPD=
Per installare il server proftpd basta lanciare i seguenti comandi da root:
Per installare il server proftpd basta lanciare i seguenti comandi da root:
Riga 43: Riga 43:
DefaultRoot /tmp bob
DefaultRoot /tmp bob
</pre>
</pre>
* MaxClients — Limita il numero di utenti che possono effettuare una connessionen contemporanea
* MaxClients — Limita il numero di utenti che possono effettuare una connessione contemporanea
<pre>
<pre>
Maxclients 30
Maxclients 30
Riga 52: Riga 52:
</pre>
</pre>
Per una lista completa delle direttive potete fare riferimento alla documentazione ufficiale: http://www.proftpd.org/docs/directives/linked/by-name.html .<br/>
Per una lista completa delle direttive potete fare riferimento alla documentazione ufficiale: http://www.proftpd.org/docs/directives/linked/by-name.html .<br/>
Dopo aver modificato il file di configurazione è necessario riavviare il demone affinchè le modifiche vengano prese in considerazione:
Dopo aver modificato il file di configurazione è necessario riavviare il demone affinché le modifiche vengano prese in considerazione:
<pre>
<pre>
# /etc/init.d/proftpd restart
# /etc/init.d/proftpd restart
Riga 61: Riga 61:
=Amministrazione del server FTP=
=Amministrazione del server FTP=
Uno strumento molto comodo per l'amministrazione di ProFTPD è: http://sourceforge.net/projects/proftpd-admin/ .
Uno strumento molto comodo per l'amministrazione di ProFTPD è: http://sourceforge.net/projects/proftpd-admin/ .
E' un'interfaccia web scritta in PHP, che per funzionare ha bisogno di un server LAMP (Apache, PHP, MySQL).
È un'interfaccia web scritta in PHP, che per funzionare ha bisogno di un server LAMP (Apache, PHP, MySQL).


=Creare un certificato SSL per TLS=
=Creare un certificato SSL per TLS=
Riga 81: Riga 81:
Email Address []: E-mail dell'amministratore
Email Address []: E-mail dell'amministratore
</pre>
</pre>
Per abilitare TLS in ProFTPD bisogna aprire il file /etc/proftpd/proftpd.conf e cercare la sezione che inizia con <tt>'''<IfModule mod_tls.c>'''</tt>:
Per abilitare TLS in ProFTPD bisogna aprire il file <code>/etc/proftpd/proftpd.conf</code> e cercare la sezione che inizia con <tt>'''<IfModule mod_tls.c>'''</tt>:
<pre>
<pre>
<IfModule mod_tls.c>
<IfModule mod_tls.c>

Versione delle 21:26, 23 gen 2010

Debian-swirl.png Versioni Compatibili

ERRORE: valore non valido ( Debian Etch 4.0
Debian Lenny 5.0
Debian Squeeze
Debian Sid )! Vedi qui.

Introduzione

Installare un server FTP su Debian è un'operazione non particolarmente complessa, ma che merita alcune attenzioni. In questa guida utilizzerò ProFTPD, un ftp server scritto per essere utilizzato su Unix e sistemi operativi Unix-like come il nostro Linux.

Caratteristiche di ProFTPD

  • utilizza un singolo file di configurazione, con direttive molto familiari per chi è già abituato ad amministrare web server Apache;
  • permette la configurazione di files ".ftpaccess" e di server FTP virtuali in maniera simile ad Apache;
  • non permette comandi SITE EXEC, riducendo così lo stress da sicurezza dell'amministratore;
  • supporta IPv6.

Installazione di ProFTPD

Per installare il server proftpd basta lanciare i seguenti comandi da root:

# apt-get update
# apt-get install proftpd

L'installer del server FTP vi chiederà in che modo intendere far girare proftpd, attraverso inetd o in modalità standalone. Mi sento di consigliare la modalità standalone che, da quanto letto in rete, sembra la più adatta per siti FTP con traffico intenso o assai variabile.

Configurazione di Proftp Server

Il file di configurazione si trova in /etc/proftpd/proftpd.conf
Alcune direttive degne di nota sono le seguenti:

  • ServerName — Permette di indicare il nome che apparirà agli utenti:
ServerName “proftp server”
  • ServerIdent — Imposta il messaggio di benvenuto
ServerIdent on “Welcome to proftp server”
  • UseReverseDNS
UseReverseDNS off
  • IdentLookups
IdentLookups off
  • DefaultRoot — Imposta la chroot directory di default
DefaultRoot ~

Un utilizzo interessante di questa direttiva è la possibilità di dirottare un particolare utente in una directory diversa dalla propria home:

DefaultRoot /tmp bob
  • MaxClients — Limita il numero di utenti che possono effettuare una connessione contemporanea
Maxclients 30
  • MaxClientsPerHost — Limita il numero di connessioni per singolo client
MaxClientsPerHost 50

Per una lista completa delle direttive potete fare riferimento alla documentazione ufficiale: http://www.proftpd.org/docs/directives/linked/by-name.html .
Dopo aver modificato il file di configurazione è necessario riavviare il demone affinché le modifiche vengano prese in considerazione:

# /etc/init.d/proftpd restart

Note

Il comportamento di default del server permette ad ogni utente di accedere via FTP solo alla propria directory home.

Amministrazione del server FTP

Uno strumento molto comodo per l'amministrazione di ProFTPD è: http://sourceforge.net/projects/proftpd-admin/ . È un'interfaccia web scritta in PHP, che per funzionare ha bisogno di un server LAMP (Apache, PHP, MySQL).

Creare un certificato SSL per TLS

TLS è un protocollo che fornisce autenticazione e comunicazioni crittografate. Nell'utilizzo tipico con un server FTP si configura in modo che il server FTP stesso sia autenticato e che i client non lo siano.
Per utilizzare TLS con ProFTPD dobbiamo creare un certificato SSL:

# apt-get install openssl
# mkdir /etc/proftpd/ssl
# openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

Rispondete così alle domande che vi vengono poste:

Country Name (2 letter code) [AU]: IT
State or Province Name (full name) [Some-State]: Vostra_Provincia
Locality Name (eg, city) []: Vostra_Città
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Vostra_Società
Organizational Unit Name (eg, section) []: Nome_Dipartimento (Esempio: Dipartimento IT)
Common Name (eg, YOUR name) []: FQDN del server (esempio: ftpserver.organizzazione.local)
Email Address []: E-mail dell'amministratore

Per abilitare TLS in ProFTPD bisogna aprire il file /etc/proftpd/proftpd.conf e cercare la sezione che inizia con <IfModule mod_tls.c>:

<IfModule mod_tls.c>
TLSEngine off
</IfModule>

Modificatela come segue:

<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSOptions NoCertRequest
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired on
</IfModule>

Se utilizzate la direttiva TLSRequired on saranno consentite solo le connessioni TLS, ma questo bloccherà gli utenti che utilizzano client FTP che non hanno il supporto TLS; suggerisco quindi, se ciò non viola le policies di sicurezza della vostra rete, di commentare la direttiva, in modo da permettere sia connessioni TLS sia connessioni non autenticate.
Infine riavviate il server:

# /etc/init.d/proftpd restart

Se avete dei problemi con TLS o con le connessioni dai client potete dare un occhio al TLS log file: /var/log/proftpd/tls.log.

Ferdybassi