Michael Schröpl: Auswahl der zu verwendenden Ports

Beitrag lesen

Hallo Forum,

ich habe ein Problem mit der Verwendung eines FTP-Clients durch eine Firewall.
Das Problem ist dem Programmierer des FTP-Clients gemeldet, dieser meint aber, es nicht beheben zu können.
Ich würde gerne sicherstellen, daß ich selbst den Sachverhalt hinreichend genau verstanden habe (FTP ist nicht so meine Welt ...), deshalb versuche ich mal, den Effekt kurz zu beschreiben. Ideen und Anregungen aller Art könnten eventuell weiter helfen.

Nach meinem Erkenntnisstand baut ein FTP-Client eine Verbindung zu dem gewünschten FTP-Server normalerweise über den dafür reservierten Port 20 (?) auf.
Da der FTP-Server diesen Port aber nicht dauerhaft belegt haben will, handeln Client und Server anschließend andere Ports aus, über welche dann tatsächlich Daten übertragen werden - genau so, wie das bei HTTP mit Port 80 läuft, der auch nur für die Verbindungsaufnahme zuständig ist.

Der Client nimmt in meinen Fall nun irgendwelche Ports, die ggf. im Bereich zwischen 1800 und knapp über 2000 liegen. Genau darauf behauptet der Programmierer, keinen Einfluß zu haben: Er ruft eine Windows-API "gib mir einen freien Port" auf und nimmt, was er zurück bekommt. (Seine "Programmiersprache" ist Borland-Delphi.)
Bei den genannten Ports sind allerdings einige "well-known ports" dabei - jedenfalls nach der Aufffassung unserer Firmen-Firewall. (Beispiel: 2045) Selbige ist fest davon überzeugt, daß über diese speziellen Ports andere Protokolle als FTP zu laufen haben, und bricht den Kommunikationsversuch an dieser Stelle ab: Offenbar hat da ja irgend ein böser Angreifer versucht, einen Port zweckzuentfremden.
Gerade bei der Übertragung einer großen Anzahl von Dateien (FTP-"MGET") werden auf diese Weise sehr viele verschiedene Ports verwendet - und früher oder später würfelt der Client schlecht und erwischt einen Port, bei dem ihm die Firewall auf die Finger haut. Die Übertragung vieler kleiner Dateien bricht also alle paar Minuten ab - die Übertragung einiger weniger großer Dateien funktioniert dagegen reibungslos.

Meine Frage wäre nun im wesentlichen:

  • Kann der FTP-Client unter Windows irgendwie den Port, den er für die Übertragung einer einzelnen Datei nehmen will, gezielt setzen?
    Eine Abfrage an das Betriebssystem, ob der Port frei ist, muß natürlich weiterhin sein - es laufen ja ggf. noch weitere Programme, die FTP machen, eventuell sogar dasselbe Programm in mehreren Instanzen.

Der Programmierer des FTP-Client hat empfohlen, im "passive mode" zu arbeiten; der Firewall-Administrator meinte dazu, das müßten dann aber die entsprechenden FTP-Server auch unterstützen, und das wäre (im WWW) nicht gerade die Regel ... ?

Mit der Hoffnung auf (für mich) überraschende neue Erkenntnisse
    Michael Schröpl