Einrichten von ProFTPd + TLS auf Debian Etch

Version 1.0
Author: Falko Timme


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

0 Kommentar(e)

Zum Posten von Kommentaren bitte