Skip to content

Netscaler als Reverse FTPS-Proxy

by Nils-Daniel Vocke on Juni 17th, 2013

Soll der Netscaler als Reverse Proxy für FTP-Verbindungen eingesetzt werden, so steht man eher vor einer lösbaren Aufgabe. Kommt nun aber die Anforderung hinzu, die FTP-Kommunikation per SSL zu sichern, wird der Administrator vor eine nahezu unlösbare Aufgabe gestellt. Ein Blick in entsprechende Citrix KB-Artikel und Konfigurationsanleitungen lässt auch nur erkennen, dass eine FTPS-Lösung auf dem Netscaler seitens des Herstellers nicht vorgesehen und damit nicht supportet wird. Da der Netscaler aber eigentlich die Rolle als Reverse FTPS-Proxy mit Bravur erfüllen kann, haben wir die Herausforderung angenommen und die nachfolgende Konfiguration geschaffen in der der Netscaler genau dieser Aufgabe nachgeht.

Passive explicit FTPS

Wir nutzen zur Realisierung der Lösung die passive explicit FTPS Variante. Bei dieser Variante von FTPS geht der Wunsch nach einem verschlüsselten Kommunikationskanal immer vom FTP-Client aus. Der Server kann eine verschlüsselte Kommunikation nicht serverseitig erzwingen, er kann nur unverschlüsselte Kommunikationsanfragen ablehnen. Der Client baut daher über den Port 21 eine Verbindung zum FTP-Server auf. Anschließend versucht er über den Befehl AUTH TLS eine gesicherte Verbindung mit dem FTP-Server aufzubauen. Konnte der TLS Handshake erfolgreich abgeschlossen werden, liefert der Server einen entsprechenden Port an den Client zurück, über den die Daten übertragen werden sollen. Um die Administration der Firewall, wie auch des Netscalers zu vereinfachen, wird vom Administrator des FTP-Servers ein Portbereich für die Datenkanäle festgelegt. Dieses haben wir am Beispiel des IIS einmal exemplarisch konfiguriert.

IIS FTP-Firewallunterstützung

IIS FTP-Firewallunterstützung

Als externe IP-Adresse muss hier wie später beschrieben wird, die DMZ VIP des Netscalers, die für den FTPS-Dienst angelegt wurde, eingetragen werden.

 

IIS FTP Bindings

IIS FTP Bindings

Damit der FTP-Server auch im internen Netzwerk erreichbar ist, müssen die sogenannten FTP-Bindings festgelegt werden.

 

 

 

Die Netscaler Konfiguration

Netscaler_config

Netscaler Konfiguration

Nebenstehender Auszug aus einer Netscaler Konfiguration legt zuerst den FTP-Server mit seiner internen IP-Adresse an. Dann werden die Services inklusive der Load Balancing Virtual Server  für den Control Channel auf Port 21, wie für den Data Channel Bereich Port 9000 – 9002 angelegt. Hierbei ist zu beachten, dass immer wieder die gleiche DMZ IP-Adresse verwendet wird. Diese wurde ja bereits in den IIS Firewallunterstützungseinstellungen als externe Adresse definiert.  Zuletzt werden die Services und die entsprechende Monitore gebunden. Bei dieser Konfiguration wird das SSL-Zertifikat durch den IIS gehalten, d.h. es findet kein SSL-Offloading statt.

 

Comments are closed.