next up previous contents
Next: Passiver Modus Up: FTP - File Transfer Previous: FTP - File Transfer   Contents

Aktiver oder normaler Modus

Beim Verbindungsaufbau werden auf Client-Seite zunächst 2 TCP-Ports oberhalb 1023 reserviert. Nachdem eine Verbindung zum Server auf dessen TCP-Port 21 hergestellt wurde, sendet der Client im 'Normalmodus' über den soeben hergestellten Kommandokanal den FTP-Befehl 'PORT' und teilt dem Server seine Portnummer mit, die er für den Datenkanal geöffnet hat. Daraufhin stellt der Server eine Verbindung von TCP-Port 20 zum genannten Client-Port her. Das heißt, dass im Normalmodus eine neue Verbindung nicht, wie sonst üblich vom Client, sondern vom Server initiiert wird. Und das bereitet ein Problem bei der Konfiguration einer Firewall, denn man will nach Möglichkeit keine Verbindungen von außen zulassen. Erschwerend kommt hinzu, dass man die Ziel-Portnummer nicht kennt, die für den Datenkanal geöffnet wird. Man müsste alle Ports über 1023 öffnen, damit ein Datenkanal aufgebaut werden kann.

Aufgrund dieser Schwierigkeiten sind die meisten Firewalls in der Lage, den Inhalt einer FTP-Verbindung zu interpretieren, um nur das jeweils benötigte Port zu öffnen.

Richtung Proto- Port
Status
Anmerkung
Client Server koll Quelle Ziel
 
         
 
>   TCP 1024: 21
NEW, ESTABLISHED
FTP Anfrage von Client zum Server
  < TCP 21 1024:
ESTABLISHED
Serverantwort auf Clientanfrage
  < TCP 20 1024:
RELATED, ESTABLISHED
Öffnen eines Datenkanals für FTP Anfrage (Aktiv-Modus)
>   TCP 1024: 20
ESTABLISHED
Antworten im Datenkanal vom Client

Damit nicht generell neue Verbindungen von außen erlaubt werden müssen, muss die Firewall zustandgesteuert sein und erkennen, dass der Verbindungsaufbau für den Datenkanal abhängig vom zuvor eingerichteten Kommandokanal und deshalb zulässig ist.

Der aktive Modus stellt eine weitere mögliche Gefahr dar: Ein speziell präparierter FTP-Client kann einen FTP-Server als Portscanner missbrauchen. Er weist den Server mittels PORT-Kommando an, einen Datenkanal zu einem anderen Rechner herzustellen. Je nach Fehlermeldung, die der FTP-Client dann vom Server erhält, lässt sich darauf schließen, ob ein Port des angegriffenen Rechners offen ist oder nicht. Manche FTP-Server (u.a. Microsofts FTP-Server) lassen deshalb nur jene IP-Adresse zu, zu dessen Rechner der Kommandokanal besteht. Diese Art Angriff kann auch bei intelligenten Paketfiltern durchgeführt werden. Manche Paketfilter lassen ein Port längere Zeit geöffnet nachdem ein ftp-Client das Kommando PORT ausgeführt hat.


next up previous contents
Next: Passiver Modus Up: FTP - File Transfer Previous: FTP - File Transfer   Contents
Ernst Pisch 2003-05-17