Skip to main content

File Transfer Protocol (FTP)

Was ist ein File Transfer Protocol (FTP)?

Beim File Transfer Protocol FTP handelt es sich um ein Datenübertragungsprotokoll für Netzwerke, das im Jahr 1985 im Rahmen der RFC 959 spezifiziert wurde. Im Hinblick auf das OSI-Schichtenmodell ist FTP in der Anwendungsschicht integriert und wird in erster Linie benutzt, um Dateien vom Server zum Client sowie vom Client zum Server zu transferieren.

FTP FilezillaFunktionsweise des File Transfer Protocols

Um das File Transfer Protocol FTP nutzen zu können, benötigt man einen sogenannten “FTP-Client”. FTP-Clients sind in unterschiedlichen Ausführungen erhältlich. Neben dedizierten Softwarelösungen, die auf den PC installiert werden, verfügen die meisten modernen Web-Browser über integrierte FTP-Clients. Diese bieten den Vorteil, dass man direkt aus dem Browser heraus eine Verbindung zum FTP-Server herstellen kann, ohne zusätzliche Anwendungen installieren zu müssen. So kann man beispielsweise direkt im Browser innerhalb der Serververzeichnisse navigieren und einzelne Dateien herunterladen.

Nachdem durch den Einsatz eines FTP-Clients eine Verbindung zum File Transfer Protocol FTP-Server erfolgreich hergestellt worden ist, stehen dem Benutzer unterschiedliche Möglichkeiten zur Verfügung. Neben dem Hoch- und Herunterladen von Dateien (Upload und Download) kann der Nutzer neue Verzeichnisse erstellen, modifizieren oder auch löschen. Darüber hinaus verfügt das File Transfer Protocol FTP über eine leistungsstarke Berechtigungsverwaltung für Verzeichnisse und Dateien.

So kann der FTP-Admin genau bestimmen, ob die gespeicherten Dateien und Verzeichnisse nur von dem jeweiligen Eigentümer, von einer bestimmten Gruppe von Nutzern oder von allen Usern gelesen, modifiziert oder auch ausgeführt werden dürfen. Diese Verwaltungsrechte werden durch eine dreistellige Ziffernfolge dargestellt. So wird beispielsweise mit dem Wert 755 angegeben, dass eine Datei lediglich von dem Eigentümer modifiziert werden kann und dass jedermann auf die Datei zugreifen und sie ausführen kann.

Verbindungsarten

Das Senden und Empfangen von Dateien sowie die Übertragung der Ordnerlisten wird beim File Transfer Protocol FTP über eine gewöhnliche TCP-Verbindung realisiert. Der Standard-Port, der bei einer File Transfer Protocol FTP-Session zum Einsatz kommt, ist Port 21. Die Kommunikation zwischen FTP-Server und Client verläuft in zwei Phasen. Zuerst werden von dem Client Befehle an den gewünschten FTP-Server geschickt, der diese dann mit unterschiedlichen Statuscodes beantwortet. Bei dem Aufbau einer File Transfer Protocol FTP-Sitzung wird zwischen zwei unterschiedlichen Modi unterschieden, und zwar aktives und passives FTP.

Bei dem aktiven FTP fungiert der Client als übergeordnetes Glied, welches die Initiative ergreift und einen zufälligen Port zum Server eröffnet. Dies ist gewöhnlich ein Port, der jenseits von 1033 liegt, wobei die Datenübertragung auf Serverseite standardmäßig über Port 20 realisiert wird. Darauffolgend wird der Server kontaktiert und über die IP-Adresse, den Port und weitere wichtige Parameter des Clients informiert. Die gesamte Interaktion zwischen Server und Client wird über den sogenannten “Control Port” realisiert. Dadurch wird sichergestellt, dass Client und Server während der Datenübertragung, weiterhin kommunizieren können. Dieses Verfahren nennt man “Out-of-Band-Steuerung”.

Beim passiven FTP hingegen wird der Server vom Client dazu aufgefordert, selbständig einen Port zur Verfügung zu stellen. Darauffolgend öffnet der Server einen Port und sendet eine Nachricht an den Client, die den Port und die genaue IP-Adresse des Servers enthält. Durch diesen Vorgang wird eine Verbindung zwischen Client und Server hergestellt. Die passive Methode wird in vielen Fällen dann eingesetzt, wenn es nicht möglich ist, eine serverseitige Verbindung zum Client aufzubauen. Dies kann beispielsweise dann der Fall sein, wenn sich der Client hinter einer NAT-Firewall befindet, die sämtliche Zugriffe außerhalb des lokalen Netzwerks unterbindet.

Öffentliche FTP-Server

Ein wesentlicher Vorteil des File Transfer Protocols ist die Möglichkeit, ein öffentliches Konto anzulegen. Durch den Einsatz dieser öffentlichen Konten wird ein anonymer Zugriff auf die Dateien des jeweiligen FTP-Servers ermöglicht. Ein solcher öffentlicher Zugang, der über das File Transfer Protocol realisiert wird, ist unter der Bezeichnung “Anonymous FTP” standardisiert. Anonymous FTP wird wie das “gewöhnliche FTP” zum Datenaustausch von und zu einem Server im Internet verwendet.

Dabei ist es jedoch nicht erforderlich, sich über einen Benutzernamen und ein Kennwort anzumelden, um einen anonymen Zugriff auf die Dateien des jeweiligen Servers zu erlangen. FTP-Server, die einen anonymen Zugriff zulassen, kommen oft in Universitäten und anderen Institutionen zum Einsatz, wo Dateien für eine Vielzahl von Nutzern zugänglich sein müssen. Das anonyme FTP kann mit allen gängigen Anwendungen genutzt werden, die das File Transfer Protocol FTP unterstützen.

Wenn der Zugriff per Anonymous FTP umgesetzt wird, werden dem Benutzer zwei Pfadangaben zur Verfügung gestellt, und zwar ein Upload- sowie ein Download-Ordner. Dies ist deswegen erforderlich, da der User versehentlich Dateien löschen oder modifizieren könnte, die ein anderer Benutzer gerade herunterlädt. Außerdem wird dadurch eine saubere Trennung zwischen verschiedenen Dateipools ermöglicht, auf welche die User unterschiedliche Schreibrechte haben.

Sicherheit und Alternativen

Um eine möglichst hohe Sicherheit bei der Datenübertragung zwischen FTP-Server und Client zu gewährleisten, kann das sogenannte “FTP über SSL” eingesetzt werden (FTPS). Durch den Einsatz von FTPS wird der gesamte Datenverkehr zwischen Server und Client verschlüsselt, sodass die Datenpakete bei der Übertragung vor eventuellen Angriffen optimal geschützt sind. Darüber hinaus lässt sich die Authentifizierung des Clients neben dem gängigen Authentifizierungsverfahren mittels Username und Passwort auch über ein TLS-Zertifikat realisieren. Eine Alternative zum File Transfer Protocol FTP stellt das SSH File Transfer Protocol dar. Bei diesem wird die sogenannte Secure Shell (SSH) eingesetzt, die auf vielen unixbasierten Betriebssystemen bereits vorinstalliert ist, sodass keine weitere Software auf Serverseite erforderlich ist.

Sie haben noch Fragen?

Kontaktieren Sie uns

File Transfer Protocol (FTP)
Beitrag bewerten