- File Exchange Protocol
-
File Exchange Protocol (FXP) ist das im File Transfer Protocol definierte und dort unbenannte Verfahren, dass ein Client Dateiübertragungen zwischen zwei Servern steuert (Server-zu-Server). Die Dateien nehmen dabei nicht den Weg über den Client, wodurch Zeit gespart wird. Viele aktuelle FTP-Clients unterstützen FXP.
FXP ist eine Ausnutzung von gleichzeitigem Active Mode und Passive Mode. Beim Active Mode öffnet der Client einen zufälligen Port und teilt dem Server diesen sowie die eigene IP-Adresse mittels des PORT-Kommandos mit. Der Server verbindet dann zu diesem Ziel, worauf der Datentransfer stattfinden kann. Beim Passive Mode wird dieses Prinzip umgedreht, der Client sendet ein PASV-Kommando, der Server öffnet einen Port und übermittelt diesen mitsamt IP-Adresse an den Client.
Beim FXP sendet der Client an einen FTP-Server ein PASV-Kommando und erhält zur Antwort dessen IP-Adresse und geöffneten Port. Nun sendet er an einen anderen FTP-Server ein PORT-Kommando, welches als Argument nicht die eigene IP-Adresse und Port enthält, sondern die Antwort des ersten FTP-Servers. Der zweite FTP-Server baut eine Datenverbindung zum ersten FTP-Server auf. Der Client kann nun an den zweiten FTP-Server ein RETR-Kommando und an den ersten ein STOR-Kommando übermitteln, um eine Dateiübertragung zu starten.
Wenn einer der beiden FTP-Server Probleme mit dieser Konstellation hat, also zum Beispiel der Ziel-Server keinen Passive Mode unterstützt, kann auch auf dem Quellen-Rechner das PASV-Kommando ausgeführt werden. Man spricht dann hierbei vom Alternative Mode.
Typischerweise sind FXP-Datenverbindungen zwischen den FTP-Servern unverschlüsselt. Um das Problem zu umgehen, unterstützen manche FTP-Server und Clients den Befehl CPSV (statt PASV), um eine verschlüsselte Verbindung zwischen den Servern aufzubauen. Mittlerweile etabliert sich für verschlüsselte Transfers eine weitere Variante namens SSCN aufgrund guter Kompatibilität mit veralteten FTP-Clients. Beide Methoden, CPSV und SSCN, sind jedoch anfällig für Man-In-The-Middle-Attacken, da keine Verifikation des Zertifikates des jeweils anderen Servers stattfindet.
Da diese Eigenart des File Transfer Protocols auch für Denial-of-Service-Angriffe genutzt werden kann (FTP bounce attack), sollte FXP auf FTP-Servern nur mit Bedacht zugelassen werden.
Weblinks
- RFC 959 - File Transfer Protocol
Wikimedia Foundation.