So konfigurieren Sie PureFTPd und FileZilla für die Nutzung von TLS-Sitzungen unter CentOS 7
Dieser Artikel erklärt, wie Sie PureFTPd so konfigurieren, dass es TLS-Sitzungen auf einem CentOS 7-Server akzeptiert. Plain FTP ist ein unsicheres Protokoll, da alle Passwörter und Daten im Klartext übertragen werden. Durch den Einsatz von TLS kann die gesamte Kommunikation verschlüsselt werden, wodurch FTP viel sicherer wird.
1 Vorbemerkung
Sie sollten über ein funktionierendes PureFTPd-Setup auf Ihrem CentOS 7-Server verfügen.
2 Installation von OpenSSL
OpenSSL wird von TLS benötigt; um OpenSSL zu installieren, führen wir einfach aus:
yum -y install openssl
3 Konfigurieren von PureFTPd
Öffnen Sie /etc/pure-ftpd/pure-ftpd.conf…..
nano /etc/pure-ftpd/pure-ftpd.conf
Wenn Sie FTP- und TLS-Sitzungen zulassen möchten, stellen Sie TLS auf 1:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 1 [...]
Wenn Sie nur TLS-Sitzungen akzeptieren möchten (kein FTP), setzen Sie TLS auf 2:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 2 [...]
Um TLS überhaupt nicht zuzulassen (nur FTP), setzen Sie TLS auf 0:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 0 [...]
Entfernen Sie dann das # vor den folgenden 2 Zeilen:
TLSCipherSuite HIGH CertFile /etc/ssl/private/pure-ftpd.pem
und speichern Sie die geänderte Konfigurationsdatei.
4 Erstellen des SSL-Zertifikats für TLS
Um TLS nutzen zu können, müssen wir ein SSL-Zertifikat erstellen. Ich erstelle es in /etc/ssl/private/, deshalb erstelle ich dieses Verzeichnis:
mkdir -p /etc/ssl/private/
Anschließend können wir das SSL-Zertifikat wie folgt erstellen:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Ländername (2-stelliger Code)[XX]: <– Geben Sie Ihren Ländernamen ein (z.B. „DE“).
Name des Staates oder der Provinz (vollständiger Name) []:<– Geben Sie Ihren Staats- oder Provinztitel ein.
Ortsname (z.B. Stadt)[Standardstadt]:<– Betrete deine Stadt.
Name des Unternehmens (z.B. Firma)[Default Company Ltd]:<– Geben Sie Ihren Firmennamen ein (z.B. den Namen Ihrer Firma).
Name der Organisationseinheit (z.B. Abschnitt) []:<– Geben Sie den Namen Ihrer Organisationseinheit ein (z.B. „IT-Abteilung“).
Common Name (z.B. Ihr Name oder der Hostname Ihres Servers) []:<– Geben Sie den voll qualifizierten Domainnamen des Systems ein (z.B. „server1.example.com“).
E-Mail-Adresse []:<– Geben Sie Ihre E-Mail-Adresse ein.
Ändern Sie die Berechtigungen des SSL-Zertifikats:
chmod 600 /etc/ssl/private/pure-ftpd.pem
Starten Sie schließlich PureFTPd neu:
systemctl restart pure-ftpd.service
Das ist es. Das ist es. Sie können nun versuchen, sich mit Ihrem FTP-Client zu verbinden; Sie sollten jedoch Ihren FTP-Client für die Verwendung von TLS konfigurieren – siehe nächstes Kapitel, wie Sie dies mit FileZilla tun.
5 FileZilla für TLS konfigurieren
Um FTP mit TLS nutzen zu können, benötigen Sie einen FTP-Client, der TLS unterstützt, wie FileZilla oder das Firefox FireFTP-Plugin.
Öffnen Sie in FileZilla den Site Manager:
Wählen Sie den Server, der PureFTPd mit TLS verwendet; wählen Sie im Dropdown-Menü Servertyp die Option Explizites FTP über TLS anstelle von normalem FTP erforderlich:
Jetzt kannst du dich mit dem Server verbinden. Wenn Sie dies zum ersten Mal tun, müssen Sie das neue SSL-Zertifikat des Servers akzeptieren, da wir hier ein selbstsigniertes SSL-Zertifikat verwenden:
Wenn alles gut geht, solltest du jetzt auf dem Server angemeldet sein:
6 Links
- PureFTPd: http://www.pureftpd.org/
- FileZilla: http://filezilla-project.org/
- CentOS: http://www.centos.org/