Überspringen zum Hauptinhalt

Was ist Secure File Transfer Protocol?

Secure File Transfer Protocol (SFTP) ist ein Standard-Netzwerkprotokoll für die sichere Übertragung von Dateien zwischen verbundenen Systemen. Ein Netzwerkprotokoll ist eine Reihe festgelegter Regeln, die als gemeinsame Sprache dienen, unabhängig von der spezifischen Hardware oder Software, die von den Geräten im Netzwerk verwendet wird. SFTP erweitert die Dateiübertragung um Authentifizierung und Verschlüsselung, sodass Unternehmen Dateien sicher austauschen und die gesetzlichen Anforderungen für sensible Dateidaten erfüllen können.

Warum ist das Secure File Transfer Protocol wichtig?

Datensicherheit und Vertraulichkeit sind grundlegende Anforderungen für die Dateiübertragung über jedes Netzwerk, sei es innerhalb eines lokalen Unternehmensnetzwerks (LAN) oder über das Internet. Das Secure File Transfer Protocol wird zusammen mit anderen gängigen Netzwerksicherheitsprotokollen wie HTTPS (Hypertext Transfer Protocol Secure) verwendet, um die Sicherheit von Dateidaten auf Netzwerkebene zu gewährleisten.

SFTP wurde entwickelt, um das File Transfer Protocol (FTP), eine traditionelle Methode der Dateiübertragung, zu ersetzen. Es wird für die Übertragung sensibler Dateien in vielen der weltweit am häufigsten verwendeten Anwendungen verwendet, darunter Git, VSCode, Ansible, WordPress und AWS Transfer Family.

Wofür steht das S in SFTP?

SFTP ist auch als SSH File Transfer Protocol bekannt, da es das Secure Shell (SSH)-Verbindungsprotokoll verwendet. S kann sowohl für Secure als auch für Secure Shell stehen.

SSH

Das SSH-Protokoll ist ein auf Authentifizierung basierendes kryptografisches Verbindungsprotokoll für die Netzwerkkommunikation. SSH sorgt für sicheren Datentransport, Authentifizierung und Verbindungen über TCP (Transmission Control Protocol). TCP ist eines der wichtigsten Internet-Transportprotokolle.

SSH stellt sicher, dass kein Listener zwischen zwei Parteien in einem Netzwerk die geteilte, vertrauliche Kommunikation entschlüsseln kann, sobald eine Sitzung hergestellt wurde. Beispielsweise kann ein Listener in einem Netzwerk keine Passwörter oder persönlich identifizierbare Informationen (PII) einsehen, die über eine Verbindung mit Secure-Shell-Verschlüsselung gesendet werden.

SSH gibt dem Client (Benutzer) die Berechtigung, grundlegende Befehle auf einem Remote-Server auszuführen. Allerdings kann SSH keine Dateien übertragen und bearbeiten. Für die sichere Datenübertragung von Dateien und Dateimanipulationen erfordert SSH einen mehrschichtigen Ansatz in Kombination mit SFTP.

Wie funktioniert das Secure File Transfer Protocol?

SFTP ermöglicht es Benutzern, Serverdateien und -ordner zu senden, zu empfangen und zu manipulieren, wodurch das Risiko von Informationslecks aufgrund einer kompromittierten Verbindung verringert wird. SFTP verschlüsselt alle Dateiinhalte und Befehle, sodass sie während der Übertragung nicht entschlüsselt werden können, um die Compliance der Dateiübertragung zu gewährleisten.

Client-Server-Architektur

Das SFTP-Protokoll verwendet das SSH-Client-Server-Architekturmodell für die Kommunikation. Dieses Architekturmodell gibt dem Server die Kontrolle über Verbindungen, Ressourcen und Sicherheit, auch wenn der Client eine Sitzung initiiert.

Infrastruktur mit öffentlichen und privaten Schlüsseln

SFTP verwendet öffentliche und private SSH-Schlüssel zur Authentifizierung von Sitzungen zwischen Clients und Servern. Die Verwendung einer SSH-Schlüsselinfrastruktur gewährleistet einen minimalen Verwaltungsaufwand für die Sicherheit, da nur der SFTP-Client und der SFTP-Server beteiligt sind.

Standardmäßig Port 22

SFTP verwendet standardmäßig Port 22 für eine zuverlässige Datenbereitstellung mit SSH-Verbindungen über TCP. Es ist jedoch möglich, einen anderen Port in SFTP anzugeben, wenn bereits Verbindungen auf Port 22 bestehen.

Wiederaufnahme unterbrochener Übertragungen

SFTP ermöglicht es Benutzern, Dateiübertragungen fortzusetzen, die zuvor aufgrund unterbrochener Sitzungen angehalten wurden. Die Wiederaufnahme von Dateiübertragungen erhöht die Produktivität, selbst bei instabilen Verbindungen.

Welche gängigen SFTP-Befehle gibt es?

Benutzer können SFTP-Befehle über die Befehlszeilenschnittstelle (CLI) oder durch Befolgen von Click-Through-Workflows in einer Anwendung mit integriertem SFTP ausführen. Windows-, Mac- und Linux-Benutzer haben alle über eine Shell-Anwendung Zugriff auf die SFTP-Befehlszeile. Hier sind einige nützliche SFTP-Befehle für die Bash-Shell.

SFTP-Sitzung starten und beenden

sftp user@hostname z. B. sftp dan@example.com

Öffnet eine neue SFTP-Verbindung auf dem Server example.com. Die Eingabeaufforderung in der Shell ändert sich zu sftp>, um anzuzeigen, dass die Sitzung begonnen hat. Es gibt verschiedene Optionen, die Sie in diesen Befehl einfügen können, z. B.:

  • -P [Nummer] um eine Portnummer anzugeben
  • -i [Datei], um eine private Schlüsseldatei einzufügen, und
  • -r zum Aktivieren der rekursiven Verzeichnisübertragung.

sftp exit schließt eine SFTP-Sitzung.

Dateien übertragen

get server_path_and_filename local_path kopiert die angegebene Datei vom Server in das angegebene Verzeichnis.

z. B. get /projects/marketing/proposal.txt /newopportunities

put local_path_and_filename server_path überträgt eine lokale Datei in das angegebene Serververzeichnis.

z. B. put /finances/invoices/march.txt /projects/marketing/payments

In ähnlicher Weise setzen die Befehle reget und reput unterbrochene Übertragungen fort.

Remote-Verwaltung von Dateien

  • chown user path ändert die Eigentumsrechte der Datei oder des Ordners unter dem angegebenen Pfad auf dem Server auf den angegebenen Benutzer.
  • chmod number path ändert die Berechtigungen der Datei oder des Ordners unter dem angegebenen Pfad auf dem Server.
  • ls zeigt die Liste der Dateien und Ordner im aktuellen Serververzeichnis an.
  • cd path navigiert zum angegebenen Verzeichnis auf dem Server.
  • mkdir dir_name erstellt einen neuen Ordner auf dem Server.
  • rmdir dir_name entfernt einen bestimmten Ordner auf dem Server.
  • rename old_file_name new_file_name benennt eine bestimmte Datei auf dem Server um.
  • pwd zeigt das aktuelle Verzeichnis auf dem Server an.
  • lpwd zeigt das aktuelle lokale Verzeichnis an.

Wie unterscheidet sich SFTP von anderen Dateiübertragungsprotokollen?

SFTP ist eines von mehreren Standard-Dateiübertragungsprotokollen.

SFTP im Vergleich zu FTPS

FTP Secure (FTPS) verwendet das Transport Layer Security (TLS)-Protokoll und das Secure Socket Layer (SSL)-Protokoll zusätzlich zum File Transfer Protocol, um sichere Dateiübertragungen durchzuführen. Die Authentifizierung mit FTPS basiert auf Verfahren zur Verwaltung von SSL-Zertifikaten. FTPS gilt als weitgehend veraltet.

FTPS baut auf FTP auf, während SFTP eingeführt wurde, um FTP durch eine sicherere Architektur zu ersetzen. SFTP wird heute aufgrund seiner Einfachheit, Sicherheit und Cloud-Unterstützung viel häufiger verwendet als FTPS.

SFTP im Vergleich zu TFTP

Das Trivial File Transfer Protocol (TFTP) ist ein einfaches Protokoll für die Übertragung von Dateien, das eine Client-Server-Architektur nutzt. TFTP enthält keine integrierten Sicherheitsmaßnahmen und muss daher in regulären Umgebungen mit Sicherheitsprotokollen oder Schutzmaßnahmen für Dateiübertragungen ergänzt werden.

Während SFTP in einer Vielzahl von Anwendungen zum Einsatz kommt, wird TFTP in der Regel nur direkt in einem lokalen, sicheren Netzwerk verwendet, wenn neue Hardware, Firmware und Betriebssysteme eingerichtet oder gestartet werden.

Welche bewährten Methoden gibt es für die Verwendung von SFTP?

Verwenden Sie bewährte Methoden für die Verwaltung öffentlicher und privater Schlüssel, einschließlich Schlüsselrotation und sicherer Speicherung auf dem SFTP-Server. Stellen Sie sicher, dass Ihr SFTP-Server mit Sicherheitsupdates und Patches stets auf dem neuesten Stand ist und eine starke Verschlüsselung wie AES verwendet. Protokollieren Sie erfolgreiche Dateiübertragungen und fehlgeschlagene Zugriffsversuche zur Erkennung von und Reaktion auf Anomalien.

Denken Sie daran, dass SFTP nur ein Teil der Netzwerksicherheit ist. Firewalls, Systeme zur Erkennung von Eindringlingen und andere Sicherheitsmaßnahmen sollten auf Ihre spezifische Netzwerkarchitektur zugeschnitten sein.

Wie kann AWS Sie bei Ihren Anforderungen an die Dateispeicherung unterstützen?

Amazon bietet eine Reihe von Lösungen für die sichere Speicherung und Übertragung von Dateien.

Amazon S3 ist ein Objektspeicher zum Speichern und Abrufen beliebiger Datenmengen aus allen Speicherorten. Sie können damit jederzeit und von überall aus beliebige Datenmengen, einschließlich Dateien, speichern und abrufen, einschließlich automatisierter Dateiübertragungen.

Amazon Elastic File System (EFS) bietet einen vollständig elastischen Serverless-Cloud-Dateispeicher, mit dem Sie Dateisysteme erstellen können, auf die Amazon Elastic Compute Cloud (EC2)-Instances und andere AWS-Cloud-Services zugreifen können. Es unterstützt die vollständige Dateisystemzugriffssemantik, wie z. B. starke Konsistenz und Dateisperrung. Sie können Dateidaten gemeinsam nutzen, ohne Speicherkapazität und Leistung bereitstellen oder verwalten zu müssen.

AWS Transfer Family bietet vollständig verwaltete Unterstützung für die sichere Übertragung von Dateien über SFTP, AS2, FTPS, FTP und Webbrowser direkt in und aus Amazon S3 oder Amazon EFS. Sie können Ihre Dateiübertragungs-Workflows nahtlos migrieren, automatisieren und überwachen, indem Sie die bestehenden Client-seitigen Konfigurationen für Authentifizierung, Zugriff und Firewalls beibehalten – so ändert sich für Ihre Kunden, Partner und internen Teams oder deren Anwendungen nichts.

Beginnen Sie mit der Dateispeicherung in AWS, indem Sie noch heute ein kostenloses Konto erstellen.