ProFTPD è un server FTP gratuito, open source e il più popolare per sistemi operativi simili a Unix. ProFTPD ti consente di creare una connessione FTP tra il tuo computer locale e il server remoto. È un server FTP versatile che supporta TLS (SSL) per connessioni sicure.
Caratteristiche
- Supporta IPv4 e IPv6.
- Supporta .ftpaccess per proteggere la directory.
- Consentici di configurare più server FTP virtuali e servizi FTP anonimi.
- Fornire supporto per password shadow, utmp/wtmp, crittografia SSL/TLS e RADIUS.
- Può essere eseguito sia come server autonomo che da inetd/xinetd.
In questo tutorial impareremo come installare ProFTPD e proteggerlo con TLS sul server Ubuntu 18.04
Requisiti
- Un server che esegue Ubuntu 18.04.
- Un indirizzo IP statico 192.168.0.101 è impostato sul server.
- È stata impostata una password di root sul tuo server.
Per iniziare
Prima di iniziare, dovrai aggiornare il tuo sistema con l'ultima versione. Puoi farlo eseguendo il seguente comando:
apt-get update -y
apt-get upgrade -y
Una volta aggiornato il server, riavvia il server per applicare le modifiche.
Installa ProFTPD
Per impostazione predefinita, ProFTPD è disponibile nel repository predefinito di Ubuntu 18.04. Puoi installarlo semplicemente eseguendo il seguente comando:
apt-get install proftpd -y
Dopo aver installato ProFTPD, avvia il servizio ProFTPD e abilitalo all'avvio all'avvio con il seguente comando:
systemctl start proftpd
systemctl enable proftpd
Puoi controllare lo stato del servizio ProFTPD con il seguente comando:
systemctl status proftpd
Dovresti vedere il seguente output:
? proftpd.service - LSB: Starts ProFTPD daemon Loaded: loaded (/etc/init.d/proftpd; generated) Active: active (running) since Sat 2019-05-25 09:18:19 UTC; 31s ago Docs: man:systemd-sysv-generator(8) Tasks: 1 (limit: 1114) CGroup: /system.slice/proftpd.service ??1927 proftpd: (accepting connections) May 25 09:18:19 ubuntu1804 systemd[1]: Starting LSB: Starts ProFTPD daemon... May 25 09:18:19 ubuntu1804 proftpd[1906]: * Starting ftp server proftpd May 25 09:18:19 ubuntu1804 proftpd[1906]: ...done. May 25 09:18:19 ubuntu1804 systemd[1]: Started LSB: Starts ProFTPD daemon.
I file di configurazione predefiniti di ProFTPD si trovano in /etc/proftpd/proftpd.conf. Puoi vederlo con il seguente comando:
cat /etc/proftpd/proftpd.conf
Dovresti vedere il seguente output:
# # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file. # To really apply changes, reload proftpd after modifications, if # it runs in daemon mode. It is not required in inetd/xinetd mode. # # Includes DSO modules Include /etc/proftpd/modules.conf # Set off to disable IPv6 support which is annoying on IPv4 only boxes. UseIPv6 on # If set on you can experience a longer connection delay in many cases. IdentLookups off ServerName "Debian" # Set to inetd only if you would run proftpd by inetd/xinetd. # Read README.Debian for more information on proper configuration. ServerType standalone DeferWelcome off MultilineRFC2228 on DefaultServer on ShowSymlinks on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayChdir .message true ListOptions "-l" DenyFilter \*.*/ # Use this to jail all users in their homes # DefaultRoot ~ # Port 21 is the standard FTP port. Port 21 MaxInstances 30 # Set the user and group that the server normally runs at. User proftpd Group nogroup # Umask 022 is a good standard umask to prevent new files and dirs # (second parm) from being group and world writable. Umask 022 022 # Normally, we want files to be overwriteable. AllowOverwrite on TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd.log
Puoi modificare l'impostazione sopra in base alle tue esigenze come mostrato di seguito:
- Nomeserver: Puoi cambiarlo come nome del server predefinito.
- Utilizza IPV6: Puoi disabilitarlo disattivandolo.
- Radice predefinita: Puoi decommentare questa riga per limitare gli utenti con le loro cartelle Inizio.
- Porto: Puoi definire la tua porta modificandola.
- Registro di sistema: Il percorso predefinito del file di registro. Puoi cambiarlo secondo le tue esigenze.
Una volta terminato, puoi procedere al passaggio successivo.
Proteggi ProFTPD con TLS
ProFTPD è ora installato. Ora dovrai configurare ProFTPD con TLS per connessioni FTP sicure.
Prima di iniziare, dovrai installare OpenSSL sul tuo server. Puoi installarlo semplicemente eseguendo il seguente comando:
apt-get install openssl -y
Una volta completata l'installazione, genera i certificati SSL per ProFTPd con il seguente comando:
openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
Rispondi a tutte le domande come mostrato di seguito:
Generating a 1024 bit RSA private key .++++++ .......................++++++ writing new private key to '/etc/ssl/private/proftpd.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:IN State or Province Name (full name) [Some-State]:GUJ Locality Name (eg, city) []:Junagadh Organization Name (eg, company) [Internet Widgits Pty Ltd]:IT Organizational Unit Name (eg, section) []:IT Common Name (e.g. server FQDN or YOUR name) []:HITESH Email Address []:[email protected]
Il comando precedente genererà due file /etc/ssl/private/proftpd.key e /etc/ssl/certs/proftpd.crt.
Quindi, fornisci le autorizzazioni appropriate ai file generati con il seguente comando:
chmod 600 /etc/ssl/private/proftpd.key
chmod 600 /etc/ssl/certs/proftpd.crt
Una volta terminato, puoi procedere al passaggio successivo.
Configura ProFTPD per utilizzare SSL
Successivamente, dovrai configurare ProFTPD per utilizzare i certificati SSL. Puoi farlo modificando il file /etc/proftpd/proftpd.conf:
nano /etc/proftpd/proftpd.conf
Decommenta la seguente riga:
Include /etc/proftpd/tls.conf
Salva e chiudi il file, quando hai finito. Quindi, apri il file /etc/proftpd/tls.conf:
nano /etc/proftpd/tls.conf
Modifica le seguenti righe:
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRequired on TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired TLSVerifyClient off
Salva e chiudi il file, quando hai finito. Quindi, riavvia il servizio ProFTPD con il seguente comando:
systemctl restart proftpd
Una volta terminato, puoi procedere al passaggio successivo.
Crea utente per ProFTPD
Successivamente, dovrai creare un utente ProFTPD per accedere al server. Puoi farlo con il seguente comando:
adduser ftp1
Rispondi a tutte le domande come mostrato di seguito:
Adding user `ftp1' ... Adding new group `ftp1' (1006) ... Adding new user `ftp1' (1002) with group `ftp1' ... Creating home directory `/home/ftp1' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for ftp1 Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y
Una volta terminato, puoi procedere al passaggio successivo.
Accedi al server ProFTPD usando FileZilla
ProFTPD è ora installato e configurato, è ora di accedere a ProFTPD tramite FileZilla dal sistema Client.
Innanzitutto, dovrai installare FileZilla sul tuo sistema client. Puoi installarlo semplicemente eseguendo il seguente comando:
apt-get install filezilla -y
Una volta completata l'installazione, puoi aprire FileZilla dal trattino di Unity come mostrato di seguito:
Ora, fai clic su Gestione sito sul pannello laterale sinistro e creare un nuovo sito. Dovresti vedere la seguente pagina:
Ora, fornisci l'indirizzo IP del tuo server FTP, seleziona il protocollo, seleziona Crittografia, seleziona il tipo di accesso, fornisci nome utente e password. Quindi, fai clic su Connetti pulsante. Dovresti vedere la seguente pagina:
Ora, accetta il certificato, seleziona "Fidati sempre del certificato nelle sessioni future" e fai clic su OK pulsante. Dopo aver effettuato l'accesso, dovresti vedere la seguente pagina:
Ora puoi trasferire file in modo sicuro tramite SSL/TLS.
Congratulazioni! hai installato e configurato correttamente il server ProFTPD e lo proteggi con la crittografia SSL/TLS. Ora puoi trasferire facilmente il tuo file dal tuo computer locale al server FTP con crittografia sicura. Sentiti libero di chiedermi se hai domande.