FTP ist ein sehr unsicheres Protokoll, da alle Passwörter und alle Daten im Klartext übertragen werden. Durch die Verwendung von TLS kann die gesamte Kommunikation verschlüsselt werden, wodurch FTP viel sicherer wird. Dieser Artikel erklärt, wie man ProFTPd mit TLS auf einem Debian Squeeze-Server einrichtet.
Ich gebe keine Garantie dafür, dass dies bei Ihnen funktioniert!
1 Vorbemerkung
In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.0.100. Diese Einstellungen können für Sie abweichen, daher müssen Sie sie gegebenenfalls ersetzen.
2 Installation von ProFTPd und OpenSSL
OpenSSL wird von TLS benötigt; Um ProFTPd und OpenSSL zu installieren, führen wir einfach Folgendes aus:
apt-get install proftpd openssl
Ihnen wird eine Frage gestellt:
Führen Sie proftpd:<-- standalone
ausAus Sicherheitsgründen können Sie die folgenden Zeilen zu /etc/proftpd/proftpd.conf hinzufügen (danke an Reinaldo Carvalho; weitere Informationen finden Sie hier:http://proftpd.org/localsite/Userguide/linked/userguide.html):
vi /etc/proftpd/proftpd.conf
[...] DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...] |
3 Erstellen des SSL-Zertifikats für TLS
Um TLS verwenden zu können, müssen wir ein SSL-Zertifikat erstellen. Ich erstelle es in /etc/proftpd/ssl, also erstelle ich zuerst dieses Verzeichnis:
mkdir /etc/proftpd/ssl
Anschließend 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
Ländername (2-Buchstaben-Code) [AU]:<-- Geben Sie Ihren Ländernamen ein (z. B. "DE").
Staats- oder Provinzname (vollständiger Name) [Some-State]:<-- Geben Sie Ihren Staat ein oder Provinzname.
Ortsname (zB Stadt) []:<-- Geben Sie Ihre Stadt ein.
Organisationsname (zB Firma) [Internet Widgits Pty Ltd]:<-- Geben Sie Ihren Organisationsnamen ein (z. B. der Name Ihres Unternehmens).
Name der Organisationseinheit (z. B. Abteilung) []:<-- Geben Sie den Namen Ihrer Organisationseinheit ein (z. B. "IT-Abteilung").
Allgemeiner Name (z. B. IHR Name) []:<-- Geben Sie den vollständig qualifizierten Domänennamen des Systems ein (z. B. "server1.example.com").
E-Mail-Adresse []:<-- Geben Sie Ihre E-Mail-Adresse ein.
4 Aktivieren von TLS in ProFTPd
Um TLS in ProFTPd zu aktivieren, öffnen Sie /etc/proftpd/proftpd.conf...
vi /etc/proftpd/proftpd.conf
... und kommentieren Sie die Zeile Include /etc/proftpd/tls.conf aus:
[...] # # This is used for FTPS connections # Include /etc/proftpd/tls.conf [...] |
Öffnen Sie dann /etc/proftpd/tls.conf und lassen Sie es wie folgt aussehen:
cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf_orig
cat /dev/null > /etc/proftpd/tls.conf
vi /etc/proftpd/tls.conf
<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 Sie TLSRequired on verwenden, sind nur TLS-Verbindungen erlaubt (dies sperrt alle Benutzer mit alten FTP-Clients, die keine TLS-Unterstützung haben); indem Sie diese Zeile auskommentieren oder TLSRequired off verwenden, sind sowohl TLS- als auch Nicht-TLS-Verbindungen zulässig, je nachdem, was der FTP-Client unterstützt.
Starten Sie danach ProFTPd neu:
/etc/init.d/proftpd restart
Das ist es. Sie können jetzt versuchen, sich mit Ihrem FTP-Client zu verbinden; Sie sollten jedoch Ihren FTP-Client für die Verwendung von TLS konfigurieren (dies ist ein Muss, wenn Sie TLSRequired on verwenden) – siehe nächstes Kapitel, wie Sie dies mit FileZilla tun.
Wenn Sie Probleme mit TLS haben, können Sie einen Blick in die TLS-Protokolldatei /var/log/proftpd/tls.log.
werfen
5 Konfigurieren von FileZilla für TLS
Um FTP mit TLS verwenden zu können, benötigen Sie einen FTP-Client, der TLS unterstützt, z. B. FileZilla.
Öffnen Sie in FileZilla den Server-Manager:
Wählen Sie den Server aus, der ProFTPd mit TLS verwendet; Wählen Sie im Dropdown-Menü Servertyp die Option FTPES anstelle von normalem FTP aus:
Jetzt können Sie sich mit dem Server verbinden. Wenn Sie dies zum ersten Mal tun, müssen Sie das neue SSL-Zertifikat des Servers akzeptieren:
Wenn alles gut geht, sollten Sie jetzt auf dem Server angemeldet sein:
6 Links
- ProFTPd:http://www.proftpd.org/
- FileZilla:http://filezilla-project.org/
- Debian:http://www.debian.org/