Die Abkürzung FTP steht für File-Transfer-Protocol und ist die englische Bezeichnung für „Dateiübertragungsprotokoll”. Bei diesem Protokoll handelt es sich genauer gesagt um ein Netzwerkprotokoll, welches den Transfer von Daten zwischen einem Server und Client in einem IP-Netzwerk ermöglicht.
Die ursprüngliche Spezifikation des File-Transfer-Protocol wurde am 16. April 1971 als RFC 114 veröffentlicht. RFC steht für Request for Comments und bezeichnet ein formelles Dokument der Internet Engineering Task Force. Im Oktober 1985 wurde mit RFC 959 die heute noch gültige Spezifikation des File Transfer Protocol eingeführt. Somit gilt das File-Transfer-Protocol als eines der ältesten Protokolle, die es im Zusammenhang mit dem Internet gibt.
Das File-Transfer-Protocol dient primär dem Austausch von Dateien zwischen einem Client und einem Server oder der Übertragung zwischen zwei Servern. Hierbei sind mehrere Konstellationen denkbar:
und
Sobald eine FTP-Verbindung hergestellt worden ist, können FTP-User nicht nur Dateien hoch- und herunterladen, sondern auch neue Verzeichnisse anlegen, verändern, auslesen oder löschen. Außerdem können sie Dateien umbenennen, verschieben und löschen. Zudem ermöglicht das File Transfer Protocol die Berechtigungsverwaltung für Dateien. Sprich, man kann festlegen, ob gespeicherte Dateien nur vom Besitzer, von einer bestimmten Gruppe oder von der Öffentlichkeit gelesen, geändert oder ausgeführt werden dürfen.
Aber lassen Sie mich die Dateiübertragung mittels des File Transfer Protokolls noch etwas näher erklären.
Um einen FTP-Server zu erreichen, ist zunächst einmal der Verbindungsaufbau durch eine Benutzerauthentifizierung und einen FTP-Client notwendig. Beim FTP-Client handelt es sich um eine Software, die in den meisten Betriebssystemen standardmäßig integriert ist und welches das FTP-Protokoll zur Übertragung von Dateien nutzt.
Ein FTP-Verbindungsaufbau sieht vor, dass das FTP zwei separate Verbindungen zwischen Client und Server herstellt. Eine Verbindung ist der Steuerkanal über den TCP-Port 21. Dieser Kanal dient ausschließlich zur Übertragung von FTP-Befehlen, auch Kommandos genannt und deren Antworten. Die zweite Verbindung ist der Datenkanal über den TCP-Port 20. Dieser Kanal dient ausschließlich zur Übertragung von Daten.
Im ersten Schritt wird also der Steuerkanal vom FTP-Client zum FTP-Server aufgebaut. Steht der Steuerkanal werden sowohl Befehle des Clients zum Server gesendet als auch die Antworten des Servers zum Client übertragen. Im zweiten Schritt wird Datenverbindung vom FTP-Server zum FTP-Client initiiert, um die Daten auszutauschen, wie es in den Kommandos festgelegt wurde. Sobald die Dateiübertragungen abgeschlossen sind, werden die Verbindungen vom Benutzer oder vom Server (Timeout) beendet.
Grundsätzlich gibt es zwei unterschiedliche Herangehensweisen, einen Datei-Transfer zwischen Client und Server zu initialisieren: den aktiven und den passiven Verbindungs-Modus.
Beiden gemein ist, dass zuerst eine Steuerverbindung aufgebaut wird, über die FTP-Kommandos gesendet werden, und anschließend zum Datentransfer eine Datenverbindung aufgebaut wird.
Der Unterschied liegt darin, wer diese Verbindungen aufbaut – Client oder Server. Im Detail läuft das folgendermaßen ab:
Neben dem aktiven und dem passive Verbindungs-Modus kennt das FTP zwei verschiedene Übertragungsmodi: Den ASCII-Modus und den Binary-Modus, wobei sich die beiden Modi in der Art der Codierung unterscheiden.
Außerdem bieten viele FTP-Server, vor allem Server von Universitäten ein sogenanntes Anonymous FTP an. Hier ist zum Einloggen neben den realen Benutzerkonten ein spezielles Benutzerkonto, typischerweise „anonymous“ und/oder „ftp“, vorgesehen, für das kein (oder ein beliebiges) Passwort angegeben werden muss. Früher gehörte es zum „guten Ton“, bei anonymem FTP seine eigene, gültige E-Mail-Adresse als Passwort anzugeben. Die meisten Webbrowser tun dies heute nicht mehr, da es aus Spamschutz-Gründen nicht zu empfehlen ist.
Bevor wir nun zum Ende unseres heutigen Podcast kommen, möchte Ihnen kurz die Begriffe FTPS und SFTP erläutern und vor allem warum sie zum Einsatz kommen.
Zunächst einmal müssen Sie wissen, obwohl ein -User zum FTP-Verbindungsaufbau stets ein Kennwort und Passwort eingeben muss, erfolgt die Übertragung von Dateien zwischen Client und Server immer unverschlüsselt. Das bedeutet, dass mit etwas Know-How und den richtigen Tools die gesamte Kommunikation einfach abgehört und auch verändert werden kann. Daher kann bei einer FTP-Verbindung kein Datenschutz oder und ein Schutz der Datenintegrität gewährleistet werden.
Um die Sicherheitsprobleme des FTPs zu umgehen hat man nun zwei Möglichkeiten: den Einsatz von SFTP oder FTPS.
Kontakt: Ingo Lücker, ingo.luecker@itleague.de