| FTP | |||||
|
File Transfer Protocol. FTP ist ein Netzwerkprotokoll zur Übertragung von Dateien im Internet und in lokalen Netzwerken, bei denen das TCP/IP-Protokoll zur Anwendung kommt. FTP befindet sich auf Schicht 7 des OSI-Schichtenmodells (Application Layer/Anwendungsschicht). Via FTP kann man Daten von einem Client zu einem Server oder vice versa übertragen oder auch clientgesteuert zwischen 2 Servern. Bei FTP wird für die Datenübertragung und die Steuerung jeweils eine eigene Leitung verwendet. Ein Standard Port für eine FTP Sitzung ist der Port 21 (Control Port des Servers): der FTP-Client beginnt eine FTP Sitzung, indem er eine Verbindung zum Port 21 (bzw. den jeweiligen Control Port des Servers) über TCP aufbaut. Der FTP-Client sendet über diese Leitung Befehle zum Server, die dieser nach einer eventuellen Authentifizierung mit einem Statuscode quittiert. Die Übertragung der Daten und Verzeichnislisten erfolgt separat über den Data Port (standardmässig Port 20). Hierbei wird i.d.R. pro Vorgang eine TCP-Verbindung verwendet. FTP-Modi: Active Mode und Passive Mode Dabei gibt es zwei verschiedene Modi eine solche Verbindung aufzubauen: den Active Mode (Aktives FTP) und den Passive Mode (passives FTP): der Active Mode (Aktives FTP) zeichnet sich dadurch aus, dass der FTP-Client einen zufälligen Port öffnet und dem Server über diesen Port die Port Nummer und seine IP-Adresse durch das PORT-Kommando mitteilt. Es handelt sich hierbei i.d.R. um einen Port des Clients von Port 1023 an aufwärts. Beim Passive Mode (passives FTP) sendet der FTP-Client ein PASV-Kommando an den Server, woraufhin dieser einen Port öffnet und die Port Nummer mitsamt seiner IP-Adresse an den Client übermittelt. Diese Port Nummer wird dann zum Server Port, der Client Port ist i.d.R. eine Port Nummer ab 1023 aufwärts. FXP Es kann aber auch FXP vorliegen (File Exchange Protocol): beim FXP werden Dateien zwischen 2 FTP-Servern ausgetaucht, ohne dass sie über einen FTP Client laufen müssen. Dabei wird der Active und Passive Mode gleichzeitig eingesetzt: Ein FTP-Client sendet an einen FTP-Server ein PASV-Kommando (Passive Mode): daraufhin erhält er die Port Nummer des Server Ports und die IP-Adresse des FTP-Servers. Danach sendet der FTP-Client ein PORT-Kommando an einen zweiten FTP-Server (Active Mode); jedoch enthält dieses PORT-Kommando als Argument nicht die eigene IP-Adresse und Port Nummer, sondern die Antwort des ersten FTP-Servers, wodurch der zweite FTP-Server eine Verbindung zum ersten FTP-Server aufbaut. Um die Datenübertragung zu starten sendet der FTP-Client das RETR-Kommando an den zweiten FTP-Server und das STOR-Kommando an den ersten FTP-Server. Falls einer der Server keinen Passive Mode unterstützt, kann auf dem anderen Server ein PASV-Kommando ausgeführt werden (Alternative Mode). Die FXP-Übertragungen können durch den CPSV-Befehl (statt PASV) oder durch SSCN (Set Secured Client Negotiation) sicherer gemacht werden. Diese Methoden sind jedoch anfällig für Man-in-the Middle Attacken, da die Zertifikate nicht überprüft werden. FTP und Sicherheit Um FTP sicherer zu machen kann man Secure FTP (Secure File Transfer Protocol), SSH File Transfer Protocol (SFTP: eine Weiterentwicklung von Secure Copy) verwenden, oder gar ein anderes Protokoll: MBS/IP (Multi-purpose Business Security over IP). Bei diesen Massnahmen ist es möglich, die FTP-Übertragungen mittels SSL oder TLS zu verschlüsseln. Anonymous FTP und WebFTP Beim Anonymous FTP, welches oft von Bildungseinrichtungen oder Anbietern sogenannter FTP-Mirrors eingerichtet wird, existiert neben den üblichen Benutzerkonten ein Konto "anonymous" oder "ftp", in das man sich ohne (oder beliebiges) Passwort einloggen kann. Beim WebFTP wird der Zugriff auf FTP-Server via HTTP ermöglicht. |
|||||
| Siehe auch: HTTP Client-Server TCP-IP OSI-Schichtenmodell protokoll netzwerk | |||||