FTP, FTPS, FTPES und SFTP
TLS und SSL
Für die verschlüsselte Datenübertragung zwischen Ihrem Browser und dem Webserver wird das Transfer Layer Security (TLS) Protokoll genutzt, das als Nachfolger für das SSL-(Secure Sockets Layer)Protokoll entwickelt wurde. Die dafür benötigten SSL-Zertifikate versehen die Websitedaten mit einem digitalen kryptografischen Schlüssel. Die Verwendung erkennen Sie beispielsweise an dem Schloss-Symbol in der Adresszeile Ihres Browsers.
FTP
Werden hingegen Dateien in einem IP-Netzwerk zwischen einem Server und einem Client (z.B. Rechner) übertragen, wird das File Transfer Protocol (FTP) eingesetzt. Dazu wird ein zusätzliches Programm, ein sogenannter FTP-Client, genutzt. Sie benötigen dies beispielsweise, um Dateien auf Ihren Server hoch- oder herunterzuladen, wenn Sie ein CMS oder Shop-System wie WordPress oder Shopware nutzen. Ähnlich wie Ihr Betriebssystem verwenden diese Programme eine hierarchische Verzeichnisstruktur zur Anzeige der Dateien und Ordner, die auf dem Server gespeichert sind. Grundsätzlich werden bei FTP Daten zwischen zwei Kanälen, dem Daten- sowie dem Befehls- bzw. Steuerungskanal, unverschlüsselt übertragen.
Da dies hohe Sicherheitsrisiken birgt, wurden zwei verschlüsselte Protokolle entwickelt: FTPS sowie FTPES und SFTP.
FTPS
Findet die Übertragung des FTP über SSL statt, spricht man von FTPS. Dem FTP-Protokoll wird quasi eine Sicherheitsebene hinzugefügt, das damit zwei Verbindungen nutzt. Für die verschlüsselte Übertragung wird eine Authentifizierung mittels Benutzer-ID und Kennwort und/oder über ein Zertifikat durchgeführt. FTPS nutzt mehrere Portnummern – einen Port für den Befehlskanal (für Authentifizierungs- und Übergabebefehle) und je eine Portnummer für den Datenkanal (für jede Anfrage wird ein Datenkanal geöffnet). Dieses Protokoll ist auch als implizites FTPS bekannt.
FTPES
Bei FTPES handelt es sich um das explizite FTPS, bei dem vor der Authentifizierung und Datenübertragung eine verschlüsselte Kommunikation mit TLS hergestellt wird. Dabei wird kein zusätzlicher Port auf dem Server oder auf dem Client geöffnet.
SFTP
Das SSH File Transfer Protocol (SFTP) ist ein eigenständiges Netzwerkprotokoll, das für die sichere Dateiübertragung die Secure Shell (SSH, Kommandozeile) verwendet und nur eine Verbindung zwischen Client und Server benötigt. Daher wird auch nur eine Portnummer benötigt. Durch die hohe Sicherheit eignet sich SFTP beispielsweise für die Remote-Verwaltung von Systemen und Anwendungen.
Die Nutzung der genannten Übertragungsprotokolle erfolgt über ein zusätzliches Programm, dem sogenannten FTP-Client. Welches Protokoll für die Datenübertragung genutzt wird, hängt vom jeweiligen FTP-Client ab.
SSH & Kommandozeile
Alternativ zum FTP-Client können Sie sich auch mit dem SSH-Zugang auf der Kommandozeile Ihres Servers einloggen und, unter anderem, Dateien per SFTP transferieren. Ein SSH-Zugang steht Ihnen bei allen unseren Webhosting-Produkten zur Verfügung.
Die Abkürzung SSH steht für Secure Shell und bezeichnet ein Netzwerkprotokoll sowie die für die Nutzung benötigte Software, über die Sie eine verschlüsselte Verbindung auf Ihrem Webserver (oder einem anderen Rechner im Netzwerk) herstellen können. "Shell" ist die Kommandozeile (command-line) und Teil Ihres Betriebssystems. Sie wird auch Konsole bzw. Kommandozeilen-Interface (CLI), SSH-Client oder Terminal genannt.
Für die Verbindung mit Ihrem Server ist zunächst eine Autorisierung nötig. Wurde diese hergestellt, sind Sie auf der Kommandozeile des Servers eingeloggt und können diesen ferngesteuert (remote) bedienen. Die Shell nimmt über die Tastatur eingegebene Textzeilen oder Scripts entgegen und führt sie auf dem Server aus. Die Eingabe folgt einer Syntax, die meist aus einem Kommando und dazugehörigen Parametern besteht. Ein sogenannter Command Prompt zeigt an, dass das Programm bereit ist und auf eine Eingabe wartet. Ist der Prompt nicht verfügbar, signalisiert dies genau das Gegenteil, denn normalerweise werden die eingegebenen Kommandos ausgeführt und erst danach ist eine weitere Befehlseingabe möglich. Auf Unix-artigen Betriebssystemen (zum Beispiel Linux) ist aber auch ein automatisiertes Abarbeiten mehrerer Kommandos mit Hilfe eines eines sogenannten Shell-Scripts möglich.