FTP-Server
Eingeschränkter Zugriff durch Firewall Ab Image-Version: „CX8100_WEC7_LF_v604h_TC31_B4022.20“ ist die Firewall beim CXxxxx standardmäßig eingeschaltet. Dadurch kann keine passive FTP-Verbindung (die zum Beispiel Microsoft verwendet) aufgebaut werden. Wir empfehlen Ihnen daher einen aktiven FTP-Zugriff zu nutzen. Tragen Sie dafür die TCP-Ports 20 und 21 in der Firewall ein. |
Das File Transfer Protocol (FTP) basiert ausschließlich auf TCP-basierten Kommunikationsverbindungen. FTP spezifiziert zwei TCP-Ports, welche für die Datenübertragung wichtig sind:
- Port 20/tcp: Dieser Port wird auch als Data-Port bezeichnet und dient zum Senden/Empfangen von Dateien und Verzeichnislisten.
- Port 21/tcp: Dieser Port wird allgemein auch als Command-Port bezeichnet und dient zum Austausch von Statusinformationen zwischen Client und Server.
Zum Senden und Empfangen von Dateien (Data-Port) sowie zur Übertragung von Kommandos (Command-Port) wird jeweils eine separate TCP-Verbindung verwendet. FTP kennt für den Aufbau solcher Verbindungen zwei Verbindungsmodi: "Aktives FTP" und "Passives FTP". Abhängig vom jeweiligen Verbindungsmodus werden die beiden oben genannten Ports unterschiedlich initiiert, was im Folgenden näher beschrieben werden soll.
Aktives FTP
Beim aktiven FTP verbindet sich der Client mit dem Command-Port des FTP-Servers. Als Quell-Port verwendet der Client hierbei einen zufälligen Port N, z.B. 4242/tcp. Anschließend lauscht der Client auf Port N+1 und teilt diesen Port dann dem Server mit. Der Server verbindet sich dann mit dem Client auf Port N+1 und verwendet hierbei als Quell-Port seinen Data-Port.
Ein Problem beim aktiven FTP ist, dass der Client selbst keine Verbindung zum Data-Port des Servers herstellt, sondern dem Server einen Port (N+1) mitteilt und dieser sich dann über seinen Data-Port mit dem Client verbindet. Im Falle von Firewalls oder NAT-Geräten, welche vor den Client geschaltet wurden, könnte dies also mit zusätzlichem Konfigurationsaufwand auf Client-Seite verbunden sein, da der Data-Port des Clients hinter der Firewall ja für den Server erreichbar sein muss (vgl. Bild "Connect 4243").
Passives FTP
Diese Technik wird eingesetzt, wenn der Client für den Server nicht direkt erreichbar ist. Dies ist beispielsweise der Fall, wenn der Client sich hinter einer Firewall befindet, welche die Adresse des Clients mittels NAT umschreibt. Beim passiven FTP initiiert der FTP-Client eine Verbindung über zwei zufällige TCP-Ports N (Command-Port) und N+1 (Data-Port). Der erste Port wird verwendet, um sich mit dem Command-Port des Servers zu verbinden. Anstelle, dass der Client nun jedoch seinen Port N+1 dem Server mitteilt, damit der Server eine Verbindung dahin öffnen kann (vgl. aktives FTP), übermittelt der Client nun zunächst das sogenannte PASV-Kommando. Der Server weiß nun, dass es sich um eine Verbindung via passivem FTP handelt. Als Resultat öffnet der Server einen (zufälligen) Port P als Data-Port und übermittelt diesen dem Client. Der Client initiiert dann eine Verbindung mit dem Port P und benutzt hierbei als Quell-Port seinen Port N+1 (Data-Port). Diese Verbindung wird dann benutzt um die Daten zu übertragen.
Bei näherer Betrachtung erkennt man, dass sich das Firewall-Problem des aktiven FTP beim passiven FTP genau anders herum verhält. Server-seitig muss die Firewall so konfiguriert werden, dass der Data-Port des Servers entsprechend für den Client erreichbar ist. Viele FTP-Server bieten dazu die Möglichkeit, die zu verwendenden Data-Ports zu konfigurieren.