SFTP – der sichere Weg für die Datenübertragung

Das SSH File Transfer Protocol sorgt für einen sicheren Transfer von Daten zwischen zwei Kommunikationspartnern. Für viele Arbeitsabläufe in Unternehmen ist das inzwischen unabdingbar: Außendienstler beispielsweise senden Arbeitsergebnisse an die Firmenzentrale, die Serverarchitektur eines Firmen-Netzwerkes wird per Fernwartung aktuell und sicher gehalten oder Reparaturanleitungen werden online vom Reparateur vor Ort abgerufen. Dazu müssen Daten bidirektional über eine Internetverbindung vom und zum Unternehmensserver transferiert werden. Auch Dateien für Websites werden auf diese Weise in den entsprechenden Webspace übertragen. Für diesen Datenaustausch gibt es schon seit dem Jahr 1971 das File Transfer Protocol, abgekürzt als FTP.

Das praktische Datenmanagement per FTP ähnelt dem Arbeiten im Windows Explorer, im Mac Finder oder in Linux Nautilus. Der Unterschied besteht darin, dass die Daten von und zu weit entfernten Servern transferiert werden. Der Übertragungsweg vom Nutzer (FTP-Client) zum Server (FTP-Server) und umgekehrt bietet dabei stets eine potenzielle Angriffsfläche für Datendiebstahl und -manipulation oder das Einschleusen von Malware in das System der Nutzer. Und das Risiko ist umso größer, je geringer der Sicherheitsstandard ist. Und bei FTP ist dieser sehr gering: Der Nutzername und das Zugangspasswort werden im Klartext, also unverschlüsselt, übertragen. Potenzielle Angreifer können somit die Zugangsdaten mitlesen und sich unberechtigten Zugang zu FTP-Client und -Server verschaffen – mit den entsprechenden Folgen.

Um diese Angriffsmöglichkeiten ausschließen zu können, wurde das SFTP als Alternative mit wesentlich verbesserter Sicherheit entwickelt.

Was ist das SSH File Transfer Protocol?

Unter anderem, um den Schutz der FTP-Datenübertragung zu verbessern, wurde das Übertragungsprotokoll SSH, die „Secure Shell“, entwickelt. Dieses Protokoll sorgt für eine sichere Authentifizierung der Kommunikationspartner. Sobald ein Login von einem Client gestartet wird, prüft der Server über und mit SSH die Identität des Clients. Die gegenseitige Authentifizierung erfolgt über Zertifikate und über das Public- und Private Key-Verfahren. Der Zugriff wird nur erlaubt, wenn der Schlüssel des SFTP-Clients zum „Türschloss“ des SFTP-Servers passt und der Server überprüft, ob der Client die Datenautobahn mit einem passenden Schlüssel „aufgeschlossen“ hat.

Dieser Schlüssel besteht aus einer zufällig generierten Abfolge von Buchstaben, Ziffern und Sonderzeichen mit einer festgelegten Anzahl an Bits. Er wird als kryptografisches Protokoll bezeichnet. Mit diesem kann selbst bei ungesicherter Internetverbindung verschlüsselt kommuniziert werden.

Definition: SSH File Transfer Protocol

Dies Protokoll – abgekürzt SFTP, auf Deutsch „Sicheres Daten-Übertragungs-Protokoll“ – gewährleistet die verschlüsselte Datenübertragung zwischen Client- und Serversystem und umgekehrt mit nur einer Verbindung. Dabei sind sowohl die Daten der Verbindungsaufnahme als auch die übertragenen Daten durch sogenannte Keys auf Basis des SSH-Protokolls verschlüsselt.

Wie funktioniert SFTP?

Voraussetzung für eine funktionierende Verbindung mit dem SSH File Transfer Protocol ist ein SSH-Zugang auf dem Server des Hosters. Damit stehen dort die Zugangsdaten für den SFTP-Benutzer bereit: Serveradresse, Nutzername und Passwort. In dem vom Client verwendeten (S)FTP-Programm werden diese Daten eingetragen. Beim ersten Verbindungsaufbau wird der Schlüssel zur Verifizierung angezeigt und im FTP-Programm für die künftige Nutzung hinterlegt. Damit authentifiziert sich der Client bei jedem Verbindungsaufbau beim Server. Wenn sich eine Seite oder eben ein Angreifer in dieser Kommunikation ohne oder mit fehlerhaftem Schlüssel „ausweist“, wird die Verbindung sofort abgebrochen.

Zwischen Client und Server sowie auf dem Weg zurück besteht der sogenannte SSH-Tunnel, über den die Authentifizierung und die Datenübertragung vollzogen werden. Dieser Tunnel ist durchgehend verschlüsselt, sodass kein Angreifer auf irgendwelche Daten zugreifen kann. Somit kommen die Daten unmanipuliert beim Empfänger an. Startet ein Angreifer dennoch den Versuch, Daten auf diesem Übertragungsweg zu verändern, erkennt SSH diese Manipulation und trennt unmittelbar die Verbindung.

Die Datenübertragung mit dem SSH File Transfer Protocol schützt somit vor:

  • Änderungen der IP-Adresse eines Datenpakets, auch als IP-Spoofing bezeichnet
  • Umleitungen des ursprünglich angesprochenen Rechnernamens auf die IP-Adresse eines Angreifers (DNS-Spoofing)
  • dem Abhören von Zugangsdaten im Klartext durch einen Angreifer
  • der Manipulation der übertragenen Daten durch einen Angreifer
Hinweis

SFTP schützt die Benutzer nicht vor dem sorglosen Umgang mit Nutzerdaten und Schlüsseln!

Verwendung des SSH File Transfer Protocols

Im (S)FTP-Programm wird das Protokoll in dem Bereich ausgewählt, in dem die Zugangsdaten eingetragen werden. Bei der unten abgebildeten Client-Anwendung FileZilla ist das der sogenannte Server-Manager. In den meisten Fällen ist es nicht nötig, einen Port anzugeben, da dieser bei ausgewähltem SFTP automatisch auf 22 gesetzt wird.

Tipp

Eine Übersicht empfehlenswerter (S)FTP-Programme haben wir in unserem Artikel „10 FTP-Programme bzw. FTP-Clients für Windows & Mac“ zusammengestellt.

Beim ersten Versuch, eine Verbindung mit dem SSH File Transfer Protocol aufzubauen, erhält der SFTP-Client eine Meldung, die den SSH-Sicherheitsstandard widerspiegelt.

Daraufhin prüfen Sie noch einmal die Richtigkeit der Serveradresse. Dass der korrekte Port 22 verwendet wird, ist am ebenfalls Eintrag für den Server zu erkennen: „home….-data.host:22“. Mit dem Haken in der Checkbox „Diesem Server immer vertrauen, diesen Schlüssel speichern“ und einem Klick auf den Button „OK“ werden die Verbindungsdaten abgespeichert und die verschlüsselte Verbindung aufgebaut.

Eine erneute Abfrage dieser Angaben erfolgt beim nächsten Verbindungsaufbau nicht, da sich der SFTP-Client mit dem nur einmal existierenden Schlüssel am SFTP-Server identifiziert. Diese digitale Signatur verschlüsselt alle Übertragungen, einschließlich der Login-Daten zum Verbindungsaufbau. Meldungen im Statusfenster des FTP-Programms informieren über den Fortschritt des Down- oder Uploads.

Tipp

Zum Datenspeichern oder -Transferieren bietet IONOS SFTP-Server zum Mieten mit persönlichen Konten, Backups und App-Verwaltung an.

Was ist der Unterschied zwischen SFTP und FTP?

Der wesentliche Unterschied besteht darin, dass die Authentifizierung und der gesamte Datenverkehr zwischen Client und Server bei der SFTP-Übertragung verschlüsselt sind. Selbst wenn es einem Angreifer gelingt, Daten abzugreifen, sind diese für ihn nicht verwendbar. Auf manipulierte Anmeldedaten oder Angriffsversuche reagiert das SSH File Transfer Protocol mit Verbindungsabbruch. Kurz zusammengefasst gibt es folgende Unterschiede zwischen FTP und SFTP:

  FTP SFTP
Anzahl der benutzten Kanäle 2 separate 1
Verschlüsselungs-Standard Keiner SSH2
Verschlüsselung der Authentifizierung
Verschlüsselung der Datenübertragung
Angriffsmöglichkeiten (Mitlesen, Angriff)

Diese technische Sicherheit der kryptografischen Übertragung sollte sowohl auf Seiten des Clients als auch von Seiten des Server-Anbieters mit weiteren Sicherheit-Features noch gesteigert werden. Das betrifft beispielsweise Entscheidungen zum geografischen Standort und der physischen Sicherheit der SFTP-Server sowie zur geschützten Datenablage bei zugreifenden Clients. Jede Sorglosigkeit im Umgang mit Daten wird meist früher oder später bestraft.