Es gibt zwei Arten von FTP: User FTP und Anonymous-FTP. Bei User-FTP muß sich
der Benutzer mit seinem Loginnamen und Passwort auf dem Server anmelden. Er
erhält dann die gleichen Zugriffsrechte, wie wenn er sich direkt auf dem
Server eingeloggt hätte, z.B. über ein Terminal. Bei Anonymous-FTP kann sich
jede Person auf dem Server einloggen. Als Loginname muß man meistens
Anonymous und als Passwort eine EMailadresse eingeben. Man
hat dann i.d.R. auf den öffentlichen Teil des FTP-Servers Zugriff.
Anonymous-FTP ist ein wichtiger Dienst im Internet, da dadurch Programme oder
Dokumentationen für alle Internetbenutzer bereitgestellt werden können.
FTP benötig zwei separate TCP-Verbindungen: eine um Kommandos und Antworten
zwischen Client und Server zu übertragen (command channel), und eine weitere um die Daten
auszutauschen (data channel). Auf der Serverseite wird für den command
channel normalerweise der Port 21 verwendet und für den data channel
Port 20. Um eine FTP-Verbindung im active-mode aufzubauen, sind folgende
Schritte notwendig:
Es gibt noch eine zweite Methode, eine FTP-Verbindung aufzubauen,
den passive mode.
Im Unterschied zum active mode wird hier keine Verbindung von außen
aufgebaut, sondern der Server teilt dem Client mit, welchen Port ( 1023)
er für den Datenkanal benutzen möchte.
In Abbildung 2.9 ist eine FTP-Verbindung im
active mode und in Abbildung 2.10 eine FTP-Verbindung
im passive mode dargestellt.
Aber FTP ist nicht ohne Risiken:
Dieser Angriff beruht auf dem FTP-Kommando PORT. Ein Angreifer
sendet mit dem Port-Befehl, die IP-Adresse und die Portnummer (also den
Dienst, z.B. 25 für SMTP oder 23 für TELNET) der Maschine, die angegriffen
werden soll, an einen FTP-Server. Danach kann der Client den Server
veranlassen, ein File mit Kommandos, die der angegriffene Dienst versteht
(z.B. SMTP-Kommandos), an die mit dem Port-Befehl angegebene IP-Adresse,
zuschicken. Da der Client sein Opfer nicht direkt, sondern über
einen andern Rechner angreift, ist es sehr schwierig, den Angreifer
zurückzuverfolgen. Dieser Angriff wird auch als Tunneln bezeichnet.
In Abbildung 2.11 ist dieser Angriff dargestellt.
Weitere Informationen zu dieser Methode sind in [CA-97.27],
[CA-FTP-Port] und in RFC 2577 zu finden.
FTP eignet sich gut um Passwörter auszuprobieren, da in der standard Konfiguration keine Beschränkung zur Eingabe von Passwörtern besteht, d.h., man kann beliebig oft versuchen, ein Passwort anzugeben. Diese Attacke wird auch als brute force-Angriff bezeichnet. Bei manchen FTP-Servern ist es möglich, gültige Loginnamen herauszufinden. Gibt man einen ungültigen Loginnamen an, so antwortet der Server mit dem Code 530.
Da FTP die Daten im Klartext überträgt, kann ein Angreifer durch mitlesen des Netzwerktraffics in den Besitzt von Benutzerdaten gelangen.
In FTP-Server-Programmen wurden immer wieder Sicherheitslücken gefunden,
die es Angreifer ermöglichten, in ein System einzubrechen.
Eine optionale Erweiterung von FTP, ,,SITE EXEC``, ermöglicht es FTP-Clients,
beliebige Kommandos auf dem Server auszuführen. In [CA-95.16] und
[CA-94.08] sind zwei Fälle dokumentiert, bei denen der ,,SITE EXEC``
Befehl für Angriffe eingesetzt wurde.
Weitere Attacken wurden durch FTP-Software, die mit aktiviertem
Debugmodus installiert worden war ermöglicht, siehe dazu [CA-88.01].
Auch durch Konfigurationsfehler bei der Installation des FTP-Servers
können Hacker in ein System einbrechen. Wenn die Zugriffsrechte
für ,,anonymous``-FTP nicht richtig konfiguriert sind, ist z.B. folgender
Angriff denkbar: ,,Man schreibt ein Datei namens .rhosts mit
geeignetem Inhalt in das Heimatverzeichnis von ftp. Damit kann man nun
mittels rsh eine Sitzung als ftp auf der Zielmanschine starten``
[FSI-96].
Eine weitere Gefahr besteht darin, daß ein Angreifer durch FTP in Besitz der
Passwortdatei kommt.
Auf vielen FTP-Server kann man mit der Anonymous-Kennung Software
aufspielen (uploaden). Ein Angreifer könnte manipulierte Software auf einem
Server ablegen (Viren,Trojaner, siehe Abschitt 2.7.3 und
Abschnitt 2.3). Anwender könnten einen Anonymous-FTP-Server
zum Austausch von Raubkopien mißbrauchen. Dies wäre zwar keine direkte
Bedrohung, aber es könnte dem Betreiber des Servers doch jede Menge
Unannehmlichkeiten bereiten, wie z.B. rechtliche Konsequenzen oder
Imageverlust.
Das Herunterladen von Files aus dem Internet kann die Sicherheit eines Computersystems gefährden. Man könnte einen Trojaner oder einen Virus (siehe Abschnitt 2.3 bzw. Abschitt 2.7.3) auf das eigene System geladen haben.