File Transfer Protocol

Sicherheit bei FTP

Die FTP-Spezifikation sieht bis auf die einfache Benutzer-Authentifizierung, die Kennung und Passwort unverschlüsselt zwischen Client und Server übermittelt, keinerlei Sicherheitsfunktionen vor.

Um der Vielzahl von Sicherheitsrisiken zu begegnen, die den Dateitransfer berühren, wurden sicherheitsspezifische Erweiterungen eingeführt. Sie sind in RFC 2228 (FTP Security Extensions) definiert. Diese Erweiterungen stellen vielfältige Sicherungsfunktionen zur Verfügung, besonders für die Benutzer-Authentifizierung, Integrität, Vertraulichkeit der Daten- und Kontrollkanäle durch Verschlüsselung von Befehlen, Replys und der Daten.

Im Mittelpunkt der Sicherheitserweiterungen steht die Benutzer-Authentifizierung. Sie beginnt damit, dass der Client dem Server mitteilt, welchen Sicherheitsmechanismus er verwenden will. Dazu wird der AUTH-Befehl verwendet. Der Server akzeptiert diesen Mechanismus oder aber lehnt ihn ab, wenn er diesen nicht unterstützt. Der Client kann dabei mehrere Mechanismen testen, um eine von beiden Seiten unterstützte Methode zu finden. Je nach Sicherheitsprotokoll benötigt der Server weitere Informationen vom Server. Diese protokollabhängigen Informationen überträgt der Client mit dem ADAT-Befehl an den Server. Je nach Protokoll wird der ADAT-Befehl mehrfach verwendet, so lange, bis alle nötigen Parameter zwischen Client und Server ausgetauscht sind.

Dieses Aushandeln dient lediglich der Abstimmung der implementierten Sicherungsfunktionen. Verfügt beispielsweise der FTP-Server über einen RSA -Schlüsselpaar, der Client aber nicht, so kann zwar der Client den Server authentifizieren, der Server den Client dagegen nicht. Haben sich beide Seiten auf ein gemeinsames Verschlüsselungssystem geeinigt, können auch sichere Übertragungskanäle für die Übermittlung der Steuerkommandos und der Daten erzeugt werden.