Wer unter Plesk erstellte FTP-Zugänge für seine Webseiten benutzt, wird feststellen, dass standardmäßig keine SSL/TLS-Verschlüsselung in proftp aktiviert ist. Hier möchte ich kurz zeigen, wie man die SSL/TLS-Verschlüsselung von Plesk betriebenen proftp-Servern aktivieren kann.
Aktivierung der SSL/TLS-Verschlüsselung für proftp
Als erstes loggen wir uns per SSH auf unseren Server ein und editieren die Datei /etc/proftpd.conf
mit einem beliebigen Editor. Folgender Absatz wird in die Konfiguration hinzugefügt:
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/tls.log TLSProtocol SSLv23 # Are clients required to use FTP over TLS? TLSRequired off # Server's certificate TLSRSACertificateFile /usr/local/psa/admin/conf/httpsd.pem TLSRSACertificateKeyFile /usr/local/psa/admin/conf/httpsd.pem # Authenticate clients that want to use FTP over TLS? TLSVerifyClient off # Allow SSL/TLS renegotiations when the client requests them, but # do not force the renegotations. Some clients do not support # SSL/TLS renegotiations; when mod_tls forces a renegotiation, these # clients will close the data connection, or there will be a timeout # on an idle data connection. TLSRenegotiate required off TLSOptions NoSessionReuseRequired </IfModule>
Das Zertifikat unter /usr/local/psa/admin/conf/httpsd.pem
ist übrigens das Standardzertifikat von Plesk, welches man in der Weboberfläche unter Server->SSL-Zertifikate auch ändern kann.
Die Option TLSOptions NoSessionReuseRequired
verhindert bei manchen Clients folgende Fehlermeldung bei einer Dateiübertragung mit mehreren Dateien:
425 Unable to build data connection: Operation not permitted.
Bei mir war das mit der letzten Filezilla-Version der Fall. Wer hier mit seinem Client keine Probleme hat, sollte aus Sicherheitsgründen diese Option allerdings auskommentieren. Apropo Filezilla, um die TLS-Verschlüsselung zu nutzen, muss die explizite TLS-Verschlüsselung aktiviert werden:
Der Unterschied zur impliziten TLS-Verschlüsselung besteht darin, dass bei der expliziten TLS-Verschlüsselung der Benutzername unverschlüsselt übertragen wird, was zwar weniger Sicherheit bietet (das Passwort und jeder weitere Verkehr wird allerdings verschlüsselt übertragen), aber Probleme beim Login vermeidet.
Nachdem man die Konfiguration gespeichert hat, müssen wir noch den xinetd-Dienst neustarten, da proftp bei Plesk administrierten Servern nicht im standalone-Modus betrieben wird:
/etc/init.d/xinetd restart
Nun sollte der verschlüsselten FTP-Dateiübertragung nichts mehr im Wege stehen. :)