— FTP (A & P) —
Das Datei-Übertragungs Protokoll (FTP; RFC 959), Aktiv und Passiv
Es gibt eine aktive und eine passive Version dieses Protokolls. Aktiv und
Passiv gesehen vom Daemon – oder Server. Wird mit einem Webbrowser auf eine FTP-Seite
zuggegriffen, geschieht dies im Passiv-Modus während reine FTP-Clients normalerweise
im Aktiv-Modus arbeiten. Allerdings kann der zu verwendende Modus meistens eingestellt
werden. Der Aktiv-Modus benötigt einige Einstellungen in der Firewall auf der Client
Seite während beim Passiv-Modus diese Arbeiten auf der Server Seite anfallen.
-
Der rote Teil des Bildes zeigt den aktiven Modus, der blaue Teil den passiven.
Der nicht eingefärbte Teil zeigt das Gemeinsame.
Aktiv-Modus
Der Client sendet eine PORT Anfrage an den Steuerport 21 des Servers und
benutzt dazu einen unprivilegierten (kurzlebigen) Port, also >1023 [n]. Der Server
bestätigt den Port und erstellt eine Datenverbindung von seinem Datenport 20 zum
Datenport des Client; diese Portnummer ist um 1 höher als jener Port, welcher der
Client als seinen Steuerport benutzt hat [n+1]. Die Verbindung ist aufgebaut, nachdem
der Client auf seinem Datenport dem Datenport des Servers antwortet.
Passiv-Modus
Der Client sendet eine PASV Anfrage an den Steuerport 21 des Servers und
benutzt dazu einen unprivilegierten (vergänglichen) Port, also >1023 [n]. Der
Server antwortet mit einer Portnummer als Datenport, die er aus dem Pool
nichtprivilegierter (flüchtigen) Ports auswählt [n] an den Steuerport des Client.
Der Client startet von seinem Datenport, welcher um 1 höher ist als die als Steuerport
verwendete Nummer [n+1], eine Anfrage an den Datenport des Servers [x]. Der Server antwortet
auf diesem Port dem Client. Damit ist die Verbindung aufgebaut.
Mit einem Webbrowser kann man die FTP-Seite direkt erreichen, wenn man diesen
URI benutzt: ftp://benutzername:passwort@ftp.meinserver.com.
Probleme mit FTP
Weil FTP zwei Ports benötigt, ist es schwierig, dieses Protokoll durch
einen Secure Shell SSH Port 22 Tunnel zu leiten.
Weil der Client im Aktiv-Modus eine Anfrage an Port 21 richtet und Antwort auf
einem anderen Port (20) erhält, kann die Firewall den Verkehr von Port 20 blockieren.
Das ist im Passiv-Modus kein Problem, weil der Client eine Anfrage auf Port 21 und eine
Anfrage auf den Datenport des Servers sendet. Der Server antwortet immer auf jenem Port,
an welchen die Anfrage gesendet wurde.
Eine Firewall auf der Server Seite einzurichten gibt Probleme, weil so viele
Datenports (1024 - 65535) im Passiv-Modus offen gelassen werden müssen. Der Server
kann so eingestellt werden, dass er nur aus einer beschränkten Anzahl Ports
auswählen kann, z.B. 1951 - 2000. Dies würde die Anzahl potenziell offener Ports
auf 50 beschränken.
|