FXP ist eine Besonderheit des ftp-Protokolls und erlaubt einem Client das direkte Übertragen von Daten zwischen zwei FtpServern. FXP ist ein unsicheres Protokoll und sollte nur nach reiflicher Überlegung aktiviert werden.

Wie funktioniert FXP?

Man möchte eine große Menge an Daten von einem FtpServer ftp_a.com auf einen anderen ftp_b.com schieben, ohne die Daten von ftp_a erst zu sich runterladen und sie anschließend wieder von sich aus auf ftp_b.com hochladen zu müssen.

Hierzu macht man sich sowohl den active also auch den passive modus von FTP zunutze. Der Benutzer meldet sich auf beiden FTP servern an. Auf dem Zielserver ftp_b übermittelt er das PASV Kommando. Damit öffnet der Server ftp_b einen Datenport und wartet auf eine eingehende Datenverbindung. In seiner Statusmeldung teilt er dem Benutzer mit, auf welchem (TCP) Port er lauscht.

Dem Server ftp_a wird vom Benutzer jetzt ein PORT Kommando übermittelt. Als Parameter werden dabei IP Adresse und TCP Port mitgegeben, zu der ftp_a eine Datenverbindung öffnen soll. Das müssen natürlich die von ftp_b angegebenen Werte sein. In seiner Statusmeldung teilt ftp_a mit, ob die Verbindung zu ftp_b geklappt hat.

Jetzt kann der eigentliche Datentransfer beginnen: Zuerst wird ftp_b ein STOR Kommando übermittelt, um zu signalisieren, dass über die Datenverbindung zwischen ftp_a und ftp_b ankommende Daten in eine Datei geschrieben werden sollen. Dann gibt der Benutzer ftp_a ein RETR <dateiname> Kommando, worauf dieser beginnt, die Daten der angegebenen Datei an ftp_b zu übertragen.

Warum ist FXP unsicher?

Im obigen Beispiel muss der FTPServer ftp_a zulassen, dass Datenverbindungen im active Modus nicht ausschließlich an die IP Adresse gerichtet sind, von der aus die Kontrolverbindung (Login) einging. Und ebenso muss ftp_b akzeptieren, dass die Quell-IP-Adressen der Kontrolverbindung und der Datenverbindung nicht übereinstimmen.

Diese Toleranz kann von Hackern missbraucht werden, um

Quellen

http://www.ietf.org/rfc.html RFC 0959 -- RomanHoogAntink 2003-10-26 09:18:27


KategorieProtokoll

fxp (zuletzt geändert am 2007-12-23 22:49:02 durch localhost)