Einrichten von ProFTPd + TLS auf Debian Etch

Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>

FTP ist ein sehr unsicheres Protokoll, da alle Passworte und Dateien als Klartext übermittelt werden. Mit TLS kann die gesamte Kommunikation verschlüsselt werden. Somit ist FTP weitaus sicherer. Diese Anleitung erklärt, wie man ProFTPd mit TLS auf einem Debian Etch Server einrichtet.

Ich übernehme keine Garantie, dass dies auch bei Dir funktionieren wird!

1 Vorbemerkung

In dieser Anleitung verwende ich den Hostnamen server1.example.com mit der IP Adresse 192.168.0.100. Diese Einstellungen werden von Deinen wahrscheinlich abweichen, also musst Du sie an geeigneter Stelle ersetzen.

2 Installation Von ProFTPd Und OpenSSL

OpenSSL wird von TLS benötigt; um ProFTPd und OpenSSL zu installieren, lassen wir einfach Folgendes laufen:

apt-get install proftpd openssl

Du wirst Folgendes gefragt werden:

Run proftpd from inetd or standalone? <– standalone

Öffne dann /etc/proftpd/proftpd.conf und ändere UseIPv6 von on zu off; sonst erhältst Du eine Warnung wie diese wenn Du ProFTPd startest:

Starting ftp server: proftpd – IPv6 getaddrinfo ’server1.example.com‘ error: Name or service not known

vi /etc/proftpd/proftpd.conf

[...]
UseIPv6                         off
[...]

Aus Sicherheitsgründen kannst Du auch folgende Zeilen der Datei /etc/proftpd/proftpd.conf hinzufügen (dank Reinaldo Carvalho; mehr Informationen findest Du hier: http://proftpd.org/localsite/Userguide/linked/userguide.html):

vi /etc/proftpd/proftpd.conf

[...]
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."
[...]

3 Erstellen Der SSL Zertifikate Für TLS

Um TLS zu verwenden, müssen wir ein SSL Zertifikat erstellen. Ich erstelle es in /etc/proftpd/ssl, daher lege ich zuerst dieses Verzeichnis an:

mkdir /etc/proftpd/ssl

Danach können wir das SSL Zertifikat wie folgt generieren:

openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

Country Name (2 letter code) [AU]: <– Gib Dein Land ein (z.B. „DE“).
State or Province Name (full name) [Some-State]: <– Gib Dein Bundesland oder Deine Region ein.
Locality Name (eg, city) []: <– Gib Deine Stadt ein.
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <– Gib den Namen Deiner Organisation ein (z.B. den Namen Deiner Firma).
Organizational Unit Name (eg, section) []: <– Gib Deine Abteilung ein (z.B. „IT Department“).
Common Name (eg, YOUR name) []: <– Gib den Fully Qualified Domain Name Deines Systems ein (z.B. „server1.example.com“).
Email Address []: <– Gib Deine E-Mail Adresse ein.

4 TLS In ProFTPd Freischalten

Um TLS in ProFTPd freizuschalten, öffne /etc/proftpd/proftpd.conf und suche den Abschnitt, der mit <IfModule mod_tls.c> beginnt:

vi /etc/proftpd/proftpd.conf

So sollte es aussehen:

[...]
<IfModule mod_tls.c>
TLSEngine                  off
</IfModule>
[...]

Bearbeite es wie folgt:

[...]
<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>
[...]

Wenn Du TLSRequired on verwendest, sind nur TLS Verbindungen erlaubt (dies sperrt alle Benutzer mit alten FTP Clients , die keine TLS Unterstützung haben); indem Du diese Zeile auskommentierst oder TLSRequired off verwendest, sind sowohl TLS als auch non-TLS Verbindungen erlaubt, das hängt davon ab, was der FTP Client unterstützt.

Starte ProFTPd danach neu:

/etc/init.d/proftpd restart

Das war’s. Nun kannst Du mit Deinem FTP Client versuchen, Dich zu verbinden; jedoch solltest Du Deinen FTP Client so konfigurieren, dass er TLS verwendet TLS (dies ist ein Muss wenn Du TLSRequired on verwendest) – sieh Dir im nächsten Kapitel an, wie man dies mit FileZilla ausführt.

Falls Du Probleme mit TLS haben solltest, kannst Du Dir mal die TLS log Datei /var/log/proftpd/tls.log ansehen.

5 Konfiguration Von FileZilla Für TLS

Um FTP mit TLS zu verwenden, benötigst Du einen FTP Client, der TLS untertützt, wie zum Beispiel FileZilla.

Öffne in FileZilla den Server Manager:

Wähle den Server, der ProFTPd mit TLS verwendet; im Server Type drop-down Menü wähle FTPES anstelle von FTP:

Nun kannst Du Dich mit dem Server verbinden. Wenn dies das erste Mal ist, musst Du das neue SSL Zertifikat des Servers akzeptieren:

Wenn alles gut klappt, solltest Du nun auf dem Server angemeldet sein:

6 Links

Das könnte Dich auch interessieren …