|
|
Zeile 26: |
Zeile 26: |
| # [https://www.wintotal.de/heim-ftp-server/ Einrichten eines eigenen Heim-FTP-Server für Windows-Betriebssysteme] | | # [https://www.wintotal.de/heim-ftp-server/ Einrichten eines eigenen Heim-FTP-Server für Windows-Betriebssysteme] |
| # [https://servertest.online/ftp FTP Server Online Tester] inkl. Authentifizierung, Verbindungsarten und Verschlüsselung | | # [https://servertest.online/ftp FTP Server Online Tester] inkl. Authentifizierung, Verbindungsarten und Verschlüsselung |
|
| |
| = TMP =
| |
| {| class="wikitable float-right"
| |
| |+ style="background:#C0C0FF; font-size:larger;"| FTP (File Transfer Protocol)
| |
| |-
| |
| | '''Familie:'''
| |
| | [[Internetprotokollfamilie]]
| |
| |-
| |
| | '''Einsatzgebiet:'''
| |
| | Datenübertragung,<br />Dateiverwaltung
| |
| |-
| |
| | '''Ports:''' || 20/[[Transmission Control Protocol|TCP]] DATA Port,<br />21/TCP Control Port
| |
| |-
| |
| |colspan="2" style="text-align:center"|
| |
| {{Netzwerk-TCP-IP-Anwendungsprotokoll|FTP|}}
| |
| |-
| |
| | '''Standards:'''
| |
| | RFC 354 ([[1972]]),<br /> RFC 959 / [https://www.rfc-editor.org/info/std9 STD 9] ([[1985]])
| |
| |}
| |
|
| |
| [[Datei:1st-ftp-southpole-1994.jpg|mini|Foto des ersten FTP Transfers von der [[Amundsen-Scott-Südpolstation|Amundsen-Scott Research Base]] (Südpol 1994)]]
| |
| [[Datei:AktivesFTP.png|mini|Active Mode (Aktives FTP): Der Client sendet eine Anfrage auf Port 21; die Datenübertragung erfolgt über Port 20. In dem Beispiel sendet der Server die [[Datenpaket]]e zum ursprünglichen Rückgabeport des Clients. Es ist aber auch möglich, dass der Client dem Server dafür einen anderen Port übermittelt, an den die Daten geschickt werden sollen.]]
| |
| [[Datei:Passive FTP Verbindung.svg|mini|Illustration eines passiven Verbindungsaufbaus über Port 21]]
| |
|
| |
| Das '''File Transfer Protocol''' [{{IPA|fʌɪl trɑːnsˌfəˌprəʊtəkɒl}}] ('''FTP''', {{enS}} für ''Dateiübertragungsprotokoll'') ist ein im RFC 959 von 1985 spezifiziertes zustandsbehaftetes [[Netzwerkprotokoll]] zur [[Datenaustausch|Übertragung]] von [[Datei]]en über [[Internet Protocol|IP]]-Netzwerke. FTP ist in der [[OSI-Modell|Anwendungsschicht]] (Schicht 7) des [[OSI-Modell|OSI-Schichtenmodells]] angesiedelt. Es wird benutzt, um Dateien vom Client zum Server ([[Hochladen]]), vom [[Server (Software)|Server]] zum [[Client]] ([[Herunterladen]]) oder clientgesteuert zwischen zwei FTP-Servern zu übertragen ([[File Exchange Protocol]]). Außerdem können mit FTP [[Verzeichnis]]se angelegt und ausgelesen sowie Verzeichnisse und Dateien umbenannt oder gelöscht werden.
| |
|
| |
| Das FTP verwendet für die Steuerung und Datenübertragung jeweils separate [[Nachrichtenverbindung|Verbindungen]]: Eine FTP-[[Sitzung (Informatik)|Sitzung]] beginnt, indem vom Client zum ''Control [[Port (Protokoll)|Port]]'' des Servers (der Standard-Port dafür ist Port 21) eine [[Transmission Control Protocol|TCP]]-Verbindung aufgebaut wird. Über diese Verbindung werden [[Anweisung (Programmierung)|Befehle]] zum Server gesendet. Der Server antwortet auf jeden Befehl mit einem Statuscode, oft mit einem angehängten, erklärenden Text. Die meisten Befehle sind allerdings erst nach einer erfolgreichen [[Authentifizierung]] zulässig.
| |
|
| |
| == Verbindungsarten ==
| |
| Zum Senden und Empfangen von Dateien sowie zur Übertragung von Verzeichnislisten wird pro Vorgang jeweils eine separate TCP-Verbindung verwendet. FTP kennt für den Aufbau solcher Verbindungen zwei Modi:<ref>{{Internetquelle |url=http://slacksite.com/other/ftp.html |titel=Active FTP vs. Passive FTP, a Definitive Explanation |werk=slacksite.com |sprache=en |abruf=2018-09-25}}<br /> {{Internetquelle |url=http://www.alenfelder.com/Informatik/pass-akt-ftp.html |titel=Artikel in Anlehnung an „Active FTP vs. Passive FTP, a Definitive Explanation“ |werk=alenfelder.com |abruf=2018-09-25}}</ref>
| |
|
| |
| === Aktives FTP ===
| |
| Beim ''aktiven FTP'' (auch „Active Mode“) öffnet der Client einen zufälligen Port und teilt dem Server diesen sowie die eigene [[IP-Adresse]] mittels des PORT- oder des EPRT-Kommandos mit. Dies ist typischerweise ein Port des Clients, der jenseits von 1023 liegt, kann aber auch ein anderer Server sein, der seinerseits in den ''Passive Mode'' geschaltet wurde, also auf eine Verbindung wartet (sogenanntes [[File Exchange Protocol|FXP]]). Heutzutage ist FXP jedoch bei den meisten FTP-Servern aus Sicherheitsgründen standardmäßig deaktiviert.<ref>[http://www.internetblog.org.uk/post/675/fxp-the-good-the-bad-and-the-ugly/ internetblog.org.uk: FXP: The Good, The Bad, and The Ugly]</ref><ref>[http://www.proftpd.org/docs/howto/FXP.html ProFTPD and FXP] Webseite von [[ProFTPD]]. Abschnitt "FTP Bounce Attacks". Abgerufen am 25. März 2016.</ref> Die Datenübertragung auf der Server-Seite erfolgt dabei über Port 20. Die Kommunikation mit Befehlen erfolgt ausschließlich auf dem Control Port. Man spricht auch von der Steuerung „Out of Band“. Somit bleibt es möglich, dass während der [[Datenübertragung]] die Partner noch immer miteinander kommunizieren können.
| |
|
| |
| === Passives FTP ===
| |
| Beim ''passiven FTP'' (auch „Passive Mode“) sendet der Client ein PASV- oder ein EPSV-Kommando, der Server öffnet einen Port und übermittelt diesen mitsamt IP-Adresse an den Client. Hier wird auf der Client-Seite ein Port jenseits 1023 verwendet und auf der Server-Seite der vorher an den Client übermittelte Port. Diese Technik wird eingesetzt, wenn der Server keine Verbindung zum Client aufbauen kann. Dies ist beispielsweise der Fall, wenn der Client sich hinter einem [[Router]] befindet, der die [[IP-Adresse|Adresse]] des Clients mittels [[Network Address Translation|NAT]] umschreibt, oder wenn eine [[Firewall]] das Netzwerk des Clients vor Zugriffen von außen abschirmt.
| |
| Die [[Firewall]] erlaubt in diesem Fall die Datenverbindung, weil sie ihren Ursprung innerhalb der geschützten Zone hat.
| |
|
| |
| == Öffentliche FTP-Server ==
| |
| Viele FTP-Server, vor allem Server von [[Universität]]en, [[Fachhochschule]]n und [[Spiegelserver|Mirrors]], bieten sogenanntes ''Anonymous FTP'' an. Solche FTP-Server werden auch als ''Pub'' (v. engl. {{lang|en|''public''}} ‚öffentlich‘) bezeichnet. 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 [[Spam]]schutz-Gründen nicht zu empfehlen ist.
| |
|
| |
| == FTP-Client ==
| |
| Für die Datenübertragung benötigt der Benutzer einen sogenannten FTP-Client den es in unterschiedlichen Varianten gibt:
| |
|
| |
| === Webbrowser ===
| |
| In einigen [[Webbrowser|Browsern]] ist ein FTP-Client integriert. Die Syntax einer FTP-Adressierung im Browser inklusive User mit Passwort ist seit RFC 1738 standardisiert. Ein Beispiel:
| |
| <code><nowiki>ftp://[ftp_username[:ftp_PWD]@]Servername[:Port]</nowiki></code>
| |
|
| |
| Für die Browser [[Google Chrome]] und [[Firefox]] ist die FTP-Unterstützung inzwischen standardmäßig deaktiviert und wird schrittweise abgebaut.<ref>{{Internetquelle |autor=Daniel Berger |url=https://www.heise.de/-4688393 |titel=Firefox bald ohne FTP-Support |werk=heise online |datum=2020-03-23 |abruf=2020-07-13}}</ref> Damit sinkt die Bedeutung von FTP für den Zweck ''Öffentlicher FTP-Server'' (vgl. vorheriges Kapitel).
| |
|
| |
| === WebFTP ===
| |
| {{Hauptartikel|WebFTP}}
| |
| WebFTP ist ein von Webservern angebotener Dienst, der den Zugriff auf FTP-Server auch über [[Hypertext Transfer Protocol|HTTP]] ermöglicht. Die Darstellung erfolgt dabei innerhalb eines Webbrowsers. Bei dieser Cloudlösung entfällt die Installation von Client-Software oder kann bequemer sein als eventuell vorhandene Boardmittel des Betriebssystems.
| |
|
| |
| === Terminal ===
| |
| {{Hauptartikel|ftp (Software)}}
| |
| Die ursprünglichste Form der Benutzung von FTP ist über die [[Kommandozeile]]. Viele [[Betriebssystem]]e, die einen [[Terminalemulation|Terminal-Client]] anbieten, unterstützen auch FTP-Kommandos.
| |
|
| |
| === Dateimanager ===
| |
| Die typische Form der Nutzung von FTP ist über einen [[Dateimanager]]. Der Dateimanager eines Betriebssystems bietet oft auch eine Unterstützung von FTP wie etwa der [[Windows-Explorer|Windows Explorer]]. Über Zusatztools wie etwa [[WebDrive]] lässt sich ein FTP-Server auch als lokales Laufwerk (bzw. Laufwerksbuchstaben unter Microsoft Windows) einbinden.
| |
|
| |
| Von Drittanbietern gibt es populäre Dateimanager mit größerem Funktionsumfang, wie etwa der freie [[WinSCP]] oder [[Shareware]]-Dateimanager [[Total Commander]], zu denen typischerweise eine zweispaltige Ansicht inklusive Vergleich von FTP-Server und lokalem Verzeichnis gehört.
| |
|
| |
| === Spezialprogramme ===
| |
| Ein typischer Vertreter eines reinen FTP-Clients ist [[FileZilla]]. Im vollautomatischen Masseneinsatz im Unternehmen werden [[Integration (Software)|Integrationslösungen]] eingesetzt, die im Regelfall auch FTP beherrschen.
| |
|
| |
| === Sonstige ===
| |
| Daneben gibt es viele weitere Softwareprogramme die einen FTP-Client integriert haben wie etwa HTML-Editoren.
| |
|
| |
| == FTP-Server ==
| |
| [[PureFTPd]] und [[ProFTPD]] sind kostenfreie FTP-Server-Implementationen. Auch [[FileZilla]] bietet als ''FileZilla Server'' eine Server-Implementation an. Kommerzielle FTP-Serversoftware sind beispielsweise [[Titan FTP Server]] und WS FTP Server.<ref>[https://www.techwench.com/4-popular-ftp-servers-reviewed/ 4 Popular FTP Servers Reviewed.] techwensch.com</ref>
| |
|
| |
| == Sicherheit und Alternativen ==
| |
| FTP ist ein sehr altes Protokoll, das keinerlei [[Kryptographie|kryptografische]] Sicherheitsalgorithmen nutzt. Für bestimmte Einsatzzwecke kann das ausreichend oder sinnvoll sein, beispielsweise für maximale Kompatibilität. Wenn Verschlüsselung und Authentifizierung nach dem Stand der Technik gesichert sein müssen, dann gibt es drei Weiterentwicklungen von FTP:
| |
| * [[AS3]] (FTP ertüchtigt mit S/MIME und MDN-Zustellquittung),
| |
| * [[FTP über SSL|Securing FTP with TLS]] (oft abgekürzt als FTPS),
| |
| * [[SSH File Transfer Protocol]] (SFTP) und
| |
|
| |
| Die theoretische Kombination „FTP over SSH“ (FTP über SSH-Tunnel) wurde aufgrund von Praxisproblemen durch ''SSH File Transfer Protocol'' (SFTP) verdrängt.<ref>{{Literatur |Autor=Oliver Müller |Titel=Datenschieberei. Sicherer Datenaustausch mit z/OS (II) |Sammelwerk=[[iX – Magazin für professionelle Informationstechnik|iX]] |Nummer=10 |Datum=2009 |Seiten=150–154 |Kommentar=„Wegen der FTP-Struktur lassen sich Verbindungen nur mit einigem Aufwand mit SSH-Tunneln absichern“ (S. 151) |Online=https://www.heise.de/select/ix/2021/2/seite-114 |Abruf=2021-10-01}}</ref>
| |
|
| |
| == Siehe auch ==
| |
|
| |
| == Weblinks ==
| |
|
| |
|
| |
|
| [[Kategorie:FTP]] | | [[Kategorie:FTP]] |
| </noinclude> | | </noinclude> |