Sorry für das ausbuddeln dieses alten Threads, aber ich habe mich die letzten Tage ebenfalls damit beschäftigt und wollte die "Lösung" für die Nachwelt festhalten :roll:
Die angesprochenen 1000 Threads, die genau dieses Thema abdecken, habe ich leider nicht gefunden, falls ich zu blind war, möge man es mir nachsehen :wink: (wir reden ja über die Debian-Version 1.2.5 und sämtliche auf castaglia dokumentierte Direktiven sowie die Beispielconfig gelten AFAIK frühestens ab 1.2.7).
Zum Thema:
Im Prinzip genügt es, per apt-get die proftpd-doc zu installieren und mal einen Blick in README.TLS.gz sowie examples/basic.conf zu werfen.
Gültige Einstellungen für Version 1.2.5 sind demzufolge:
# These are the TLS related options, default values
TlsRsaCertFile ftpd-rsa.pem
TlsRsaKeyFile ftpd-rsa-key.pem
TlsDsaCertFile ftpd-dsa.pem
TlsDsaKeyFile ftpd-dsa-key.pem
TlsCrlFile ftpd-crl.pem
TlsDhParamFile ftpd-dhparam.pem
TlsCipherList ALL:!EXP
TlsRequired off
# don't verify any peer certificates
TlsCertsOk off
Die Zertifikate werden, sofern nichts anders eingestellt ist, in /etc/ssl/certs erwartet und können (self-signed) wie folgt erzeugt werden (lt. Readme):
cd /etc/ssl/certs
openssl req -new -x509 -days 365 -nodes -out ftpd-rsa.pem -keyout ftpd-rsa-key.pem
In der Regel sollte schon allein mit letzterem die "Certificate not found"-Meldung verschwinden (ggf. proftpd/inetd neustarten). Auch ein TLS-Login sollte möglich sein, allerdings wird er sich dann möglicherweise über ein fehlendes Client-Certificate beschweren und keine verschlüsselte Verbindung aufbauen.
Hiergegen hilft dann folgender Eintrag (Verwendung auf eigene Gefahr :wink:):
TlsCertsOk on
Viele Grüße
Mathias