File Exchange Protocol
aus Wikipedia, der freien Enzyklopädie
File Exchange Protocol (FXP) ist ein Feature zur Dateiübertragung zwischen zwei FTP-Servern. Die Dateien müssen dabei nicht zu dem Client gesendet werden, der die Übertragung steuert, wodurch Bandbreite gespart wird. Viele aktuelle FTP-Clients unterstützen FXP.
FXP ist kein im File Transfer Protocol definiertes Feature, sondern eine Ausnutzung von gleichzeitigem Active 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 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 RECV-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), sollte FXP auf FTP-Servern nur mit Bedacht zugelassen werden.