Was ist der Unterschied zwischen SFTP und FTPS?

In diesem Beitrag erklären wir den Unterschied zwischen den Verschlüsselungen FTPS und SFTP.

Was ist FTP

Um den Unterschied zwischen SFTP und FTPS zu verstehen beginnen wir mit der Erklärung des regulären FTP Protokolls.
Das FTP Protokoll hat seinen Ursprung im Jahr 1971 als der erste RFC Eintrag (959) für das FTP Protokoll veröffentlich wurde. FTP verfügt über Funktionen Dateien auf einen anderen Computer/Server zu kopieren (Upload), herunterzuladen (Download), zu kopieren (Copy) und zu löschen (Delete). Zusätzlich können Verzeichnisse erstellt, gelöscht und gelesen werden.

Was ist FTPS

Um eine gewisse Sicherheit zu gewährleisten, wurde in den folgenden Jahren nach RFC 2228 ein Sicherheitsstandard für FTP erstellt, um den Datenkanal durch den Einsatz von SSL (Secure Socket Layer) oder TLS (Transport Layer Security) zu verschüsseln.
Diese Sicherheitsfunktion für FTP lautet FTPS.

Im FTP Programm Filezilla haben Sie die Auswahl zwischen "Explizites FTP über TLS erfordern" sowie "Implizites FTP über TLS erfordern". Worin liegt der Unterschied?

FTPS Methode Explizit

Im Expliziten Modus, der auch als FTPES bekannt ist, muss der Client-PC die Sicherheit der Verbindung explizit von einem FTPS Server anfordern und diese Verbindung mit dem Server anschließend gegenseitig über die Verschlüsselung akzeptieren. Wenn der Client-PC diese Sicherheit nicht anfordert, kann der FTPS Server entweder eine unsichere Verbindung zum Client-PC zulassen, oder die Verbindung blockieren oder drosseln. Dieser Mechanismus zum Authentifizierungsabgleich der Sicherheit über FTP wurde im RFC 2228 mit dem "AUTH" Befehl hinzugefügt.
FTPS Banner

FTP Methode Implizit

Im Impliziten Modus ist das Aushandeln einer Verbindung nicht erlaubt. Stattdessen wird der Client-PC durch eine sofortige TLS/SSL ClientHello Nachricht vom FTPS Server aufgefordert. Wenn eine entsprechende Antwort nicht vom FTPS Server empfangen wird, verweigert der Server die Verbindung.

Was ist SFTP

In UNIX Systemen ist gemeinhin ein weiterer Protokoll-Sicherheitsstandard entstanden: SSH. Die Hauptfunktion von SSH war zum damaligen Zeitpunkt die Verschlüsselung des Fernzugriffs auf die UNIX Shell, und wurde später durch das File Transfer Protocol erweitert - zunächst mit SCP, dann mit SFTP. Die Version 1 von SSH ist antiquiriert und damit unsicher, wodurch SSH fast nicht mehr verwndet wird und SFTP an Zuspruch stetig an Zuspruch gewinnt. SFTP ist ein binäres Protokoll, das im RFC 4253 beschrieben wird. Alle Befehle werden in binäre Nachrichtenpakete an einen Server gesendet, der daraufhin mit binären Datenpaketen antwortet. In späteren Versionen wurde SFTP erweitert, um mehr als nur Daten Up- und Downloads tätigen zu können.
Zusammenfassend ist SFTP also das "SSH File Transfer Protokoll", was eine aktive SSH Verbindung verschlüsselt

Der häufige Fehler

Die Abkürzung SFTP wird häufig (auf falsche Weise) verwendet, um "Secure FTP" zu beschreiben, was es de facto jedoch gar nicht ist.
Ein ähnlicher Fehler ist, dass der Begriff SFTP häufig als "FTP over SSL" verwendet wird, was ebenfalls in diesem Zusammenhang nicht korrekt ist. "FTP over SSL" ist FTPS!

Was SFTP und FTPS gemeinsam haben

Doch, so unterschiedlich beide Protokolle sind, gibt es auch Gemeinsamkeiten. FTPS und SFTP verwenden beide eine Kombination aus asymmetrischen Algorithmen (RSA und DSA um genau zu sein), einem symmetrischen Algorithmus (DES/TrippleDES (3DES), AES, etc.) sowie einem Schlüssel-Austausch Algorithmus. Für die Authentifizierung benutzt FTPS beziehungsweise dessen SSL/TLS Protokoll jedoch so genannte "x.509 Zertifikate", wohingegen SFTP durch das "SSH Protokoll" entsprechende Schlüssel verwendet.

Der Unterschied zwischen x.509 und SSH

X.509 Zertifikate beinhalten einen Public Key und Informationen über den Besitzer des Zertifikats. Durch diese Information kann die andere Seite prüfen, ob das Zertifikat und die Daten des Zertifikatbesitzers korrekt sind. Diese Prüfung kann sowohl von einem Computer als auch von einem Menschen durchgeführt werden. Ein x.509 Zertifikat hat einen zugehörigen Private Key, der aus Sicherheitsgründen üblicherweise separat vom Zertifikat aufbewahrt wird.

Ein SSH Schlüssel beinhaltet einen Public Key (der dazugehörige Private Key wird separat gespeichert) und beinhaltet keine Informationen über dessen Besitzer. Auch Informationen für eine Validierung sind nicht vorhanden, da nur der Public Key genutzt wird, wodurch die Authentifizierung natürlich unvollständig ist und gleich wie die übliche SSH Schlüssel Authentifizierung ist.

Zusammenfassend kann gesagt werden:

Im Shared Webhosting Bereich haben Kunden generell keinen Zugriff auf die Shell, wodurch SFTP nicht möglich ist. Da FTPS einen verschlüsselten Kanal per FTP zum Server herstellt, ist dies die geeignete Methode, um Daten von Ihrem lokalen Computer auf Ihren Webspace zu übertragen.

Zugehörige Links

Sonntag, 19 Februar 2012 Posted in Anleitungen FAQ
  • Sie haben Fragen?
    Tel.: 06181 - 502 30 10
    E-Mail: Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!

K

o

n

t

a

k

t