FTP-Dienst


Funktionsweise des FTP

Das Kürzel FTP steht für File Transfer Protocol und ist sowohl Protokollname als auch Programmname.

FTP ist eine Sammlung von Befehlen, die zur Übertragung von Daten dient. Der Rechner der Befehle sendet, heißt FTP Client, der zweite Rechner, der die Befehle ausführt ist der FTP Server. FTP Server und Client können auf verschiedenen Rechnertypen und Betriebssystemen basieren und sich trotzdem verstehen, wenn sie dieselbe FTP Sprache verstehen. FTP erlaubt also einem Benutzer von irgendeinem Computer Dateien herunter zu laden (download) oder Dateien auf einen anderen Computer zu kopieren (upload). Hierbei wird zwischen dem Benutzer-FTP und dem Anonymen-FTP unterschieden. Beim Anonymen-FTP kann der Client nur auf öffentliche Verzeichnisse zugreifen, während beim Benutzer-FTP zusätzlich ein Paßwort benötigt wird, um Zugriff auf private Verzeichnisse zu erlangen. Wenn man den Anonymen-FTP benutzen möchte gibt man als Paßwort lediglich "anonymous" oder seine eigene Internetadresse an. Beim Anonymen-FTP spielt der Sicherheitsaspekt keine große Rolle, so daß dieses Thema in diesem Tutorial vernachlässigt werden kann.

Zur Ausführung des FTP-Dienstes werden zwei TCP-Verbindungen benötigt; ein command channel und ein data channel. Beim Benutzer-FTP bzw. FTP wird zwischen dem Normal-Mode und dem Passiv-Mode unterschieden. Bei der normalen Implementation öffnet der Client einen command channel zum Server ( Port 21 ) und übermittelt einen freien Port auf dem Client-Rechner ( Ports größer 1023 ). Der Server öffnet dann einen data channel zum Client auf den übermittelten Port. Die in diesen Zusammenhängen angegebenen Zahlen sind die für diesen Internetdienst festgelegten Portnummern. Eine große Gefahr bei einem Verbindungsaufbau nach dem Normal-Mode besteht darin, daß der Server die Berechtigung erhält von außen eine Verbindung zum Client herzustellen, so daß mit Paketfilterung diese Verbindung nicht kontrolliert werden kann. Ein umprogrammierter FTP-Server könnte so z.B. auf den Port eines X11 Server zugreifen. Der X11 Server ist eine Komponente des X11 Windows Systems, das graphische Benutzungsoberflächen in Unix-Systemen zur Verfügung stellt. Wenn nun ein Angreifer Zugang zu einem X11 Server erlangt, kann er mehrere für ihn interessante Aktionen ausführen:

ftp.gif (3892 Byte)

1. Er kann Screen Dumps vom aktuellen Bildschirm ausführen, um z.B. graphische Informationen abzufangen.

2. Er kann die Tastatureingaben ausgeben lassen, um z.B. Paßwörter auszuspionieren.

3. Er kann sogar eigene Tastatureingaben auf dem Server auslösen, um z.B. Befehle auszuführen.

Dies zeigt die Wichtigkeit der Sicherung des Normal-Mode FTP-Dienstes auf.

Eine wesentlich sicherere Methode stellt in diesem Zusammenhang der Passiv-Mode dar. Hierbei fordert der Client einen freien Port auf dem Server an. Der Server übermittelt über den command channel einen Port ( > 1023 ) und der Client öffnet daraufhin die entsprechende Datenverbindung von innen. Nun wird sich der zukünftige FTP-Benutzer fragen, warum wir den normalen FTP überhaupt vorgestellt haben, wo doch der Passive-Mode um einiges sicherer ist. Aber leider wird der passive FTP-Dienst nicht von allen Servern unterstützt, so daß auch der Normal-Mode implementiert werden muß. Aus diesem Grund benötigen wir für das normale FTP ein spezielles Sicherungskonzept.


Hauptseite Firewall FTP-Dienst Angriffsarten Expermod Links