Questo documento descrive come installare e configurare ProFTPD su un Debian Wheezy Server, funzionerà anche su Ubuntu 14.04. ProFTPD è un demone FTP per sistemi operativi unix e simili. ProFTPD è sviluppato, rilasciato e distribuito sotto la GNU Public License (GPL), che sostanzialmente lo stabilisce come software libero, il che significa che può essere venduto, concesso in licenza e altrimenti manipolato in qualsiasi modo desiderato purché il codice sorgente completo e completo sia accompagnato da qualsiasi pacchetti ProFTPD o è reso disponibile da tutti i siti che distribuiscono binari precompilati. Il software può essere modificato da chiunque in qualsiasi momento, a condizione che anche tutti i lavori derivati siano concessi in licenza sotto la GNU Public License.
Questa guida funzionerà sia per Ubuntu che per Debian server.
1 Nota preliminare
Questo tutorial è basato su un server Debian 7.6, quindi dovresti configurare un'installazione di base del server Debian 7.6 prima di continuare con questo tutorial. Il sistema dovrebbe avere un indirizzo IP statico. Uso 192.168.0.100 come indirizzo IP in questo tutorial e server1.example.com come nome host.
2 Installa ProFTPD
2.1 Installazione:
Per prima cosa installeremo ProFTPD e OpenSSL come segue:
apt-get install proftpd openssl
Richiederà alcune domande su ProFTPD, seleziona standalone e premi Ok.
Possiamo controllare la versione di ProFTPD come segue:
proftpd -v[e-mail protetta]:~# proftpd -v
ProFTPD versione 1.3.4a
[e-mail protetta]:~#
2.2 Creazione di utenti ProFTPD
Per questo creerò un gruppo ftpgroup e l'utente srijan per ProFTPD. Limiterò l'utente srijan con la directory home come /ftpshare
addgroup ftpgroup
adduser srijan -shell /bin/false -home /ftpshare
[email protected]:~# adduser srijan -shell /bin/false -home /ftpshare
Adding user `srijan' ...
Adding new group `srijan' (1002) ...
Adding new user `srijan' (1001) with group `srijan' ...
Creating home directory `/ftpshare' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: <--ftppassword
Retype new UNIX password: <--ftppassword
passwd: password updated successfully
Changing the user information for srijan
Enter the new value, or press ENTER for the default<--ENTER
Full Name []: <--ENTER
Room Number []: <--ENTER
Work Phone []: <--ENTER
Home Phone []: <--ENTER
Other []: <--ENTER
Is the information correct? [Y/n] <--Y
[email protected]:~#
Ora aggiungeremo l'utente srijan a ftpgroup come segue:
adduser srijan ftpgroup
Quindi dobbiamo proteggere la directory dalla rimozione e dalla ridenominazione del suo contenuto da parte di qualsiasi utente, quindi cambieremo i permessi della directory come segue:
chmod -R 1777 /ftpshare/
Quindi dobbiamo configurare ProFTPD come segue:
nano /etc/proftpd/proftpd.conf
Apporta modifiche come mostrato
[...]
UseIPv6 off
[...]
<Global>
RootLogin off RequireValidShell off </Global> DefaultRoot ~ <Limit LOGIN> DenyGroup !ftpgroup </Limit>
Non sto usando IPV6, quindi ho eliminato sopra, sto disabilitando l'accesso dell'utente root con ProFTPD di RootLogon disattivato. DefaultRoot viene aggiunto per limitare l'accesso solo agli utenti con le proprie cartelle Inizio. DenyGroup consentirà solo agli utenti di ftpgroup di accedere al server ftp, tutte le altre connessioni verranno rifiutate.
Riavvia il servizio come:
service proftpd restart
A volte riceverai un errore durante il riavvio del servizio, come
[email protetta]:~# service proftpd restart[ ok ] Arresto del server ftp:proftpd.
[....] Avvio del server ftp:proftpdserver1 proftpd[6052]:mod_tls_memcache/0.1:avviso:incapace per registrare la cache della sessione SSL 'memcache':supporto Memcache non abilitato
. ok
[email protetta]:~#
Possiamo superare questo errore modificando il file /etc/proftpd/modules.conf e commentando la riga come segue:
nano /etc/proftpd/modules.conf
[...]
#LoadModule mod_tls_memcache.c
[...]
Ordina l'errore.
Ora possiamo effettuare il login con l'utente srijan e la password su ftp://192.168.0.100
3 Abilitazione di TLS in ProFTPD
Per abilitare TLS in ProFTPD, apri /etc/proftpd/proftpd.conf
nano /etc/proftpd/proftpd.conf
Apporta le modifiche come segue e decommenta la riga:
[...]
Include /etc/proftpd/tls.conf
[...]
Ora faremo il backup del file originale e quindi modificheremo il file come mostrato di seguito:
cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf_orig
cat /dev/null > /etc/proftpd/tls.conf
nano /etc/proftpd/tls.conf
Dai le voci come mostrato
<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>
Per utilizzare TLS, dobbiamo creare un certificato SSL. Lo creerò in /etc/proftpd/ssl, quindi creo prima quella directory:
mkdir /etc/proftpd/ssl
Successivamente, possiamo generare il certificato SSL come segue:
openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
Nome del Paese (codice di 2 lettere) [AU]: <-- Inserisci il nome del Paese (ad es. "DE").
Nome dello stato o della provincia (nome completo) [Some-Stato]: <-- Inserisci il nome dello stato o della provincia.
Nome località (ad es. città) []: <-- Inserisci la tua città.
Nome organizzazione (ad es. azienda) [Internet Widgits Pty Ltd]: <-- Inserisci il nome dell'organizzazione (ad es. il nome della tua azienda).
Nome dell'unità organizzativa (ad es. sezione) []: <-- Inserisci il nome dell'unità organizzativa (ad es. "Dipartimento IT").
Nome comune (ad es. il TUO nome) []: <-- Inserisci il nome di dominio completo del sistema (ad es. "server1.example.com").
Indirizzo e-mail []: <-- Inserisci il tuo indirizzo e-mail.
Ora per motivi di sicurezza renderò i certificati leggibili solo come segue:
chmod 0440 /etc/proftpd/ssl/proftpd.key.pem
Infine riavvia il servizio ProFTPD come segue:
service proftpd restart
Possiamo connetterci al server ProFTPD con il software FileZilla. Devi avere FileZilla installato sul client per connetterti al server. Apri FileZilla e fornisci i dettagli come segue:
I dettagli saranno
Host =192.168.0.100
Protocollo =FTP
Utente =srijan
Porta =può essere vuota se non l'hai personalizzata con una porta diversa da 21
Password =ftppassword (appena creata sopra)
Nota:poiché abbiamo crittografato la nostra connessione nel passaggio precedente, utilizzeremo la crittografia con Richiedi FTP esplicito su TLS
Se non hai configurato TLS, puoi utilizzare Usa FTP semplice
Chiederà di fidarsi dei certificati premere OK
Sarà connesso alla directory condivisa FTP.
4 Accesso FTP anonimo in ProFTPD
Possiamo creare un account FTP anonimo in ProFTPD, basta aggiungere queste voci nel file di configurazione di ProFTPD:
nano /etc/proftpd/proftpd.conf
E aggiungi queste voci all'ultimo file,
[...]
###Anonymous share##### <Anonymous ~ftp> User ftp Group nogroup <Limit LOGIN> AllowAll </Limit> # We want clients to be able to login with "anonymous" as well as "ftp" UserAlias anonymous ftp # Cosmetic changes, all files belongs to ftp user DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off # Limit the maximum number of anonymous logins MaxClients 10 # Limit WRITE everywhere in the anonymous chroot <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous> ~
Ora collegalo tramite FileZilla come segue:
Nota:poiché abbiamo crittografato la nostra connessione nel passaggio precedente, utilizzeremo la crittografia con Richiedi FTP esplicito su TLS
Se non hai configurato TLS, puoi utilizzare Usa FTP semplice
Premi Connetti:
Ti chiederà di fidarti dei certificati premi OK
Ci siamo collegati con successo al server con l'utente anonimo.
Congratulazioni! Ora abbiamo configurato con successo l'ambiente del server ProFTPD in Debian Wheezy :)
5 link
- Debian:https://www.debian.org/
- Ubuntu:http://www.ubuntu.com/
- ProFTPD:http://www.proftpd.org/