Optional: Explizite Verschlüsselung per TLS Wie bereits im Konfigurationsabschnitt erwähnt, muss für TLS in der proftpd.conf ein Include-Verweis auf /etc/proftpd/tls.conf erfolgt sein.
Include /etc/proftpd/tls.conf
Anschließend legen wir die entsprechende Datei an, falls dies noch nicht geschehen ist und bearbeiten sie.
touch /etc/proftpd/tls.conf && nano /etc/proftpd/tls.conf
In die Datei kommt nun folgender Inhalt:
<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>
Jetzt muss jedoch noch das entsprechende Zertifikat erstellt werden, damit ProFTPD auch damit arbeiten kann. Wenn ihr ein eigenes (z.B. bei Hetzner bestellt) besitzt, gebt den Pfad in der Config entsprechend an. Solltet ihr über kein, meist sehr teures Zertifikat verfügen, dass von einer "vertrauenswürdigen" Stelle signiert wurde, so müsst ihr euch selbst behelfen. Dafür muss das Debian-Paket openssl installiert sein.
apt-get install openssl Anschließend werden folgende Befehle verwendet, um das Zertifikat an genanntem Ort zu erstellen:
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
Nach dem OpenSSL-Befehl wird man nach einigen Angaben gefragt:
Country Name (2 letter code) [AU]: DE
State or Province Name (full name) [Some-State]: Hessen
Locality Name (eg, city) []: Frankfurt am Main
Organization Name (eg, company) [Internet Widgits Pty Ltd]: XYZ GmbH
Organizational Unit Name (eg, section) []: IT-Abteilung
Common Name (eg, YOUR name) []: server.host.com
Email Address []:
root@host.com
Wichtig ist, dass bei Common Name der FQDN angegeben wird! Falls ihr über keine Domain verfügt, muss das der Hostname sein, der von Hetzner parallel zur IP vergeben wurde! static.xx-xx-xx-xx.your-server.de !
Startet anschließend ProFTPD neu und richtet FileZilla auf "Explizites FTP über TSL anfordern" - Durch den Konfigurationswert "TLSRequired on" werden jegliche Verbindungsversuche über das normale FTP-Protokoll (Port 21) automatisch abgewiesen.