Menü Schließen

ISPConfig 3 mit UFW Firewall und Pure-FTPd und TLS

ISPConfig Logo

Die Situation ist wie folgt:

  • das Open Source Server Panel ISPConfig 3.x ist installiert: http://taste-of-it.de/ispconfig-3-installation-debian-jessie/
  • demnach ist Pure-FTPd mit Zertifikat unter:
    • # /etc/ssl/private/pure-ftpd.pem
  • erstellt und für FTP und FTPs mittels TLS konfiguriert:
    • # cat /etc/pure-ftpd/conf/TLS  -> 1
  • unter Debian Jessie war die UFW-Firewall nicht aktiv, was hier gelöst wurde: http://taste-of-it.de/ispconfig-ufw-firewall-nicht-aktiv/

Das Problem ist nun, dass der FTP Server Pure-FTPd, der mit ISPConfig 3 installiert wurde, keine TLS Verbindungen zulässt. Daher nachfolgend die entsprechende Konfiguration zur Verwendung von Pure-FTPd mit passiver Clientverbindung und TLS.

ISPConfig 3 UFW Firewall für Pure-FTPd mit TLS konfigurieren

Die nächsten Einstellungen nutzen passiv FTP, was ausreichend offene Ports auf dem Server voraussetzt. Das bedeutet, dass min. die doppelte Anzahl an Ports der erwarteten bzw. konfigurierten FTP Benutzern, konfiguriert werden sollten. Als Beispiel: sollen maximal 50 FTP User auf den Server zugreifen, müssen 100 Ports freigeschaltet werden.

Die Ports die freigeschaltet werden sollen, müssen über den standardisierten / registrierten Ports größer Port 1024 liegen. Laut IANA ( the Internet Assigned Numbers Authority) sollten die für passive FTP zwischen 49.152 und 65.534, liegen. Nachfolgend werde ich die von 50.000 bis 50.400, für 200 FTP User, konfigurieren. Was noch interessant ist, ist der Punkt, dass einige möglichst viele Ports freischalten, um so weniger Angriffsfläche zum “Hijacking” von Daten und Sessions zu bieten.

  • # echo “50000 50400” > /etc/pure-ftpd/conf/PassivePortRange
  • # /etc/init.d/pure-ftpd-mysql restart
  • in ISPConfig unter: System -> Firewall -> Server diese Ports durch Eingabe von 50000:50400 hinzufügen

Nachdem die Jobwarteschlange abgearbeitet wurde ist PureFTP mit TLS für ISPCofnig 3 mit UFW konfiguriert.

Wenn nun eine Verbindung mittels FTP-Client hergestellt wird, dann ist im Verbindungsstatus z.B. folgendes zu sehen:

….
Initialisiere TLS…
Status:    Überprüfe Zertifikat…
Status:    TLS-Verbindung hergestellt.
….

Damit wurde die FTP Verbindung verschlüsselt mittels TLS hergestellt.

Info Pure-FTPd TLS Optionen

Pure-FTPd wird über Dateien konfiguriert. Unter Debian liegen diese unter: “/etc/pure-ftpd/conf” und in diesem Fall ist es die Datei “TLS”. Diese ist, wie der Name es sagt, für TLS (Transport Layer Security) zuständig. Nachfolgend die möglichen Optionen:

  • 0 = Support für SSL und TLS ist deaktiviert, Clients verbinden sich über den unverschlüsselten traditionellen Weg = Default
  • 1 = Clients können über den traditionellen Weg unverschlüsselt oder aber auch optional mittels SSL und TLS eine FTP Verbindung aufbauen
  • 2 = die traditionellen unverschlüsselte Klartextverbindungen werden abgewiesen und nur SSL und TLS Verbindungen werden angenommen
  • 3 = wie Option 2 nur zusätzlich werden Klartextdatenverbindungen ebenso abgewiesen  und nur eine vollständige verschlüsselte Verbindung akzeptiert

2 Kommentare

  1. Mike

    Mit dem Befehl

    echo “50000 50400” > /etc/pure-ftpd/conf/PassivePortRange

    wird “50000 50400” in die Datei PassivePortRange geschrieben (inkl. der Anführungszeichen). Ein Neustart von Pure-FTP schlägt dann fehl. Die bessere Syntax wäre:

    echo ‘50000 50400’ > /etc/pure-ftpd/conf/PassivePortRange

    Ansonsten ein super Tipp.

    • JARVIS

      Danke für deinen Kommentar,
      welches OS verwendest du? Bei mir unter Debian kommt der von dir beschriebene Effekt nicht zum Tragen. Es werden keine Anführungszeichen eingetragen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert