Rootserver-Serie I: ProFTPd mit TLS betreiben (FTPS)

FTP ist bei weitem nicht sicher. Jegliche Daten (Daten wie Benutzername und Passwort) werden unverschlüsselt übertragen.
Da meist der FTP-Benutzer auch ein eMailbenutzer ist, ist es sicherlich für alle zuträglicher, wenn man FTP mittels TLS verschlüsselt. SFTP schließt sich selber aus, da chrooten nur mittels zusätzlicher Programme geht.

Um ProFTPd auf CentOS 5.1 mit ISPconfg für alle (auch virtuellen Hosts) zu aktivieren sind folgende Schritte nötig:

Zertifikat erstellen

Das Zertifkat lässt sich (zumindestens ein Dummy) zügig erstellen:
cd /etc/pki/tls/certs
./make-dummy-cert proftpd.pem

TLS global aktivieren

ProFTPd muss das Modul mod_tls einkompiliert haben. Bei CentOS (und allen anderen aktuellen Distributionen) ist dies der Fall.
Folgende Einstellungen sollten in /etc/proftpd.conf aktiviert sein:
TLSEngine on
#Allow non-TLS connections
TLSRequired off
TLSProtocol SSLv23
TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem
TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem
TLSOptions NoCertRequest
TLSVerifyClient off
TLSLog /var/log/proftpd/tls.log

ISPconfig anpassen

Für die virtuellen Hosts, welche ISPconfig in /etc/proftpd_ispconfig.conf verwaltet, muss auch TLS aktiviert werden.

Dies erledigt man am besten, indem man das Template /root/ispconfig/isp/conf/customized_templates/proftpd_ispconfig.conf.master von ISPconfig anpasst:
###################################
#
# ISPConfig proftpd Configuration File
# Version 1.0
#
###################################
DefaultAddress 127.0.0.1
<!-- BEGIN DYNAMIC BLOCK: vhost -->
<VirtualHost {IP}>
DefaultRoot ~
IdentLookups off
AllowOverwrite on
Umask 002
DisplayLogin /etc/motd
ServerIdent on "FTP Server ready."
# Begin FTPS
TLSEngine on
TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem
TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem
# End FTPS
{ANON_FTP}
</VirtualHost>
<!-- END DYNAMIC BLOCK: vhost -->

Zeile 13 bis 17 sind neu.

Nun muss man nuzr noch ISPconfig davon überzeugen, dass er die Konfiguration neu erstellt. Also entweder die Konfiguration per ISPconfig verändern oder die <i>/etc/proftpd_ispconfig.conf</i> per Hand editieren.

Abschluss

Beim Testen ist drauf zu achten, dass der FTP-Client auch wirklich TLS versteht. Für Debian muss man beispielsweise das Paket ftp-ssl zu installieren.

2 Gedanken zu “Rootserver-Serie I: ProFTPd mit TLS betreiben (FTPS)

  1. Um den Server noch etwas zu verbessern wird der ServerIdent ausgeschaltet und eine Loginnachricht angezeigt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *