Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>
Last edited 12/03/2007
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
- ProFTPd: http://www.proftpd.org
- FileZilla: http://filezilla-project.org
- Debian: http://www.debian.org