Technologie   • Technologie •

< Technologie


• Intro


 

— 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.

FTP Modi

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.

 
  © 2004 - 2018 by Horo Wernli.