SFTP

SFTP-Port-Anleitung: Sichere Dateiübertragung über SSH

Erfahren Sie, wie SFTP SSH verwendet, wann Port 22 verfügbar gemacht wird, wie Sie den Fernzugriff testen und wie Sie Konten, Verzeichnisse und Prüfprotokolle schützen.

Standardport
22
Protokoll
TCP
Haupteinsatz
Sicherer Dateitransfer
Transport
SSH

Was ist der SFTP-Port?

SFTP ist das SSH File Transfer Protocol. Es läuft normalerweise über denselben TCP-Port wie SSH, Port 22, und nutzt den SSH-Transport, um Benutzer zu authentifizieren, Dateiübertragungen zu verschlüsseln und Verzeichnisvorgänge zu schützen. Im Gegensatz zum klassischen FTP benötigt SFTP keinen separaten Befehlskanal und Datenkanal.

  • SFTP verwendet normalerweise SSH auf Port 22

    Wenn ein SSH-Server 22 überwacht und SFTP für das Konto aktiviert ist, können SFTP-Clients normalerweise eine Verbindung herstellen, ohne einen weiteren Port zu öffnen.

  • Für die sichere Übertragung ist weiterhin eine Zugriffskontrolle erforderlich

    Die Verschlüsselung schützt Dateien während der Übertragung, Sie benötigen jedoch weiterhin eine starke Authentifizierung, eingeschränkte Verzeichnisse, geringste Berechtigungen und Protokollierung.

So funktioniert SFTP

SFTP ist kein FTP mit zusätzlicher Verschlüsselung. Es handelt sich um ein separates Protokoll, das innerhalb einer SSH-Sitzung ausgeführt wird. Der Client stellt eine Verbindung zum SSH-Server her, authentifiziert sich mit einem Passwort, einem Schlüssel, einem Zertifikat oder einer anderen von SSH unterstützten Methode und startet dann das SFTP-Subsystem, um Verzeichnisse aufzulisten, Dateien hochzuladen, Dateien herunterzuladen, Pfade umzubenennen und Berechtigungen zu verwalten.

Da SFTP auf SSH basiert, profitiert es von der SSH-Verschlüsselung, der Überprüfung des Hostschlüssels und ausgereiften Authentifizierungskontrollen. Bei den meisten Bereitstellungen ist der SFTP-Port daher TCP 22. Einige Organisationen verlagern SSH und SFTP auf einen anderen Port, um das Hintergrund-Scan-Rauschen zu reduzieren, aber eine Änderung des Ports ersetzt nicht die Authentifizierungs- und Autorisierungskontrollen.

SFTP vs. FTP, FTPS und SCP

Klassisches FTP verwendet üblicherweise Port 21 für Befehle und separate Datenports für Übertragungen. Dadurch werden Firewall und NAT komplexer, und einfaches FTP sendet Anmeldeinformationen und Daten unverschlüsselt. FTPS fügt TLS zu FTP hinzu, behält aber weiterhin das FTP-Modell mit Befehls- und Datenkanälen bei.

SFTP verwendet eine SSH-Verbindung, was normalerweise einfacher durch Firewalls zuzulassen und einfacher zu überwachen ist. SCP verwendet ebenfalls SSH, aber SFTP bietet umfangreichere Dateiverwaltungsvorgänge und ist die bessere Standardeinstellung für interaktive Übertragungen, Partner-Drops und automatisierte Datei-Workflows.

Wann Sie den SFTP-Zugriff öffnen sollten

Öffnen Sie den SFTP-Zugriff, wenn ein Partner, ein Automatisierungsjob, ein Backup-Prozess, eine Bereitstellungspipeline oder ein internes Team Dateien sicher mit einem Server austauschen muss. Zu den gängigen Beispielen gehören Lieferantendaten-Feeds, nächtliche Exporte, Protokollerfassung, sichere Dokumentenzustellung und kontrollierte Upload-Bereiche für Kunden oder Feldgeräte.

Stellen Sie SFTP nicht allgemein zur Verfügung, nur weil es verschlüsselt ist. Ein mit dem Internet verbundener SSH-Dienst zieht Angriffe auf Anmeldeinformationen und automatisierte Scans nach sich. Wenn nur eine kleine Gruppe Zugriff benötigt, beschränken Sie die Quell-IPs, veröffentlichen Sie SFTP hinter einem VPN oder einem privaten Netzwerk oder verwenden Sie ein verwaltetes Transfer-Gateway mit strengeren Richtlinienkontrollen.

Vor dem Öffnen des SFTP-Ports

Bevor Sie Port 22 für SFTP öffnen, bestätigen Sie, dass der SSH-Server installiert, ausgeführt und konfiguriert ist, um das SFTP-Subsystem zuzulassen. Entscheiden Sie dann, welche Benutzer oder Dienstkonten eine Verbindung herstellen sollen, welche Verzeichnisse sie sehen können, ob eine Passwortauthentifizierung zulässig ist und wie Uploads und Downloads protokolliert werden.

Trennen Sie die Netzwerkerreichbarkeit von der Kontoautorisierung. Ein Port-Checker kann anzeigen, ob TCP 22 aus dem Internet erreichbar ist, er kann jedoch nicht nachweisen, dass sich ein bestimmter Benutzer anmelden kann oder dass ein Chroot-Verzeichnis korrekt ist. Verwenden Sie einen SFTP-Client oder SSH-Befehlszeilentests, um das Verhalten auf Anwendungsebene zu überprüfen.

So aktivieren Sie SFTP unter Windows, Linux und macOS

Installieren und aktivieren Sie auf Windows Server den OpenSSH-Server, lassen Sie eingehendes TCP 22 in der Windows Defender-Firewall zu und bestätigen Sie, dass der SSHD-Dienst ausgeführt wird. Wenn sich der Server in einer Cloud-Umgebung befindet, lassen Sie auch Port 22 in der Cloud-Firewall oder Sicherheitsgruppe zu. Verwenden Sie dedizierte Konten anstelle eines breiten Administratorzugriffs.

Installieren Sie unter Linux den OpenSSH-Server, bestätigen Sie, dass sshd Port 22 überwacht, und stellen Sie sicher, dass das SFTP-Subsystem in sshd_config aktiviert ist. Konfigurieren Sie für eingeschränkte Dateiübertragungskonten Chroot-Verzeichnisse, Besitzregeln und ForceCommand internal-sftp, damit Benutzer keine interaktive Shell erhalten.

Unter macOS ist SFTP über den integrierten SSH-Dienst verfügbar. Es wird am häufigsten für lokale Netzwerke, Entwicklungsmaschinen oder Laborumgebungen verwendet. Wenn Sie es außerhalb eines vertrauenswürdigen Netzwerks verfügbar machen, wenden Sie dieselben schlüsselbasierten Authentifizierungs- und Firewallregeln an, die Sie auch auf einem Server verwenden würden.

  • Serviceschicht: OpenSSH-Server oder eine andere SSH-Implementierung muss ausgeführt werden und das SFTP-Subsystem aktivieren.
  • Netzwerkschicht: Host-Firewalls, Cloud-Sicherheitsgruppen, Router-Weiterleitung und VPN-Richtlinien müssen den ausgewählten TCP-Port zulassen.
  • Kontoebene: Benutzer sollten über Berechtigungen mit den geringsten Rechten, dedizierte Verzeichnisse und keinen Shell-Zugriff verfügen, sofern dies nicht erforderlich ist.
  • Audit-Ebene: Protokollieren Sie erfolgreiche Übertragungen, fehlgeschlagene Anmeldungen, Schlüsseländerungen, Berechtigungsfehler und ungewöhnliche Quellnetzwerke.

So testen Sie die SFTP-Konnektivität

Beginnen Sie mit einer externen Portprüfung anhand des öffentlichen Hostnamens oder der IP-Adresse und Port 22. Wenn der Port geöffnet ist, ist der TCP-Pfad zum SSH-Dienst erreichbar. Verwenden Sie als Nächstes einen SFTP-Client oder führen Sie sftp user@example.com aus, um die Authentifizierung, die Hostschlüssel-Vertrauenswürdigkeit, den Verzeichniszugriff und die Upload-Berechtigungen zu überprüfen.

Wenn Sie Details auf niedrigerer Ebene benötigen, testen Sie den SSH-Handshake mit ssh -vvv user@example.com oder überprüfen Sie die Listener auf dem Server mit ss -tlnp, netstat oder PowerShell. Vergleichen Sie bei Cloud-Servern die Host-Firewall-Regeln mit den Cloud-Sicherheitsgruppen, da beide Ebenen die Verbindung zulassen müssen.

Testen Sie Port 22 für SFTP

Häufige Fälle zur Fehlerbehebung bei SFTP

Wenn der SFTP-Port geschlossen angezeigt wird, wird sshd möglicherweise nicht ausgeführt, lauscht möglicherweise an einem anderen Port oder wird möglicherweise von der Host-Firewall blockiert. Wenn bei der Prüfung eine Zeitüberschreitung auftritt, kann es sein, dass eine Cloud-Sicherheitsgruppe, eine Router-NAT-Regel, ein ISP-Filter, eine VPN-Richtlinie oder eine Quell-IP-Zulassungsliste Pakete verwirft, bevor sie den Server erreichen.

Wenn der Port geöffnet ist, aber die SFTP-Anmeldung fehlschlägt, überprüfen Sie den Benutzernamen, die Schlüsselberechtigungen, die Passwortrichtlinie, die MFA-Anforderung, die zugelassenen Benutzer, den Chroot-Besitz, die ForceCommand-Regeln und die Serverprotokolle. Ein häufiger Fehler besteht darin, einem Benutzer Schreibrechte für ein Chroot-Verzeichnis zu erteilen; OpenSSH erfordert bestimmte Besitz- und Berechtigungsmuster, damit Chroot sicher funktioniert.

Sicherheitscheckliste für SFTP

Bevorzugen Sie SSH-Schlüssel oder zertifikatbasierte Authentifizierung gegenüber Passwörtern. Deaktivieren Sie die Root-Anmeldung, beschränken Sie die Anzahl der Benutzer, die eine Verbindung herstellen können, rotieren Sie Schlüssel, entfernen Sie nicht verwendete Konten und schützen Sie private Schlüssel mit Passphrasen oder hardwaregestütztem Speicher. Erstellen Sie für den Partnerzugriff ein Konto pro Partner, damit Aktivitäten sauber zugeordnet und widerrufen werden können.

Beschränken Sie den Dateisystemzugriff mit Chroot oder eng begrenzten Verzeichnissen, vermeiden Sie freigegebene beschreibbare Ordner, sofern diese nicht erforderlich sind, und überwachen Sie fehlgeschlagene Anmeldungen und ungewöhnliche Übertragungsvolumina. Wenn SFTP mit dem Internet verbunden ist, kombinieren Sie Ratenbegrenzung, Quellenzulassungslisten, Einbruchserkennung und regelmäßiges Patchen des SSH-Servers.

Häufig gestellte Fragen

Welchen Port verwendet SFTP?

SFTP verwendet normalerweise TCP-Port 22, da es über SSH läuft. Es kann auf einem anderen Port ausgeführt werden, wenn der SSH-Server so konfiguriert ist, dass er dort lauscht, und der Client diesen Port angibt.

Ist SFTP dasselbe wie FTPS?

Nein. SFTP ist ein Dateiübertragungsprotokoll, das innerhalb von SSH ausgeführt wird. FTPS ist FTP-geschützt mit TLS. Es handelt sich um unterschiedliche Protokolle, die nicht austauschbar sind, es sei denn, Client und Server unterstützen dasselbe.

Kann ich SFTP verwenden, ohne Port 22 zum Internet zu öffnen?

Ja. Sie können SFTP nur über ein VPN, ein privates Netzwerk, einen Bastion-Host, eine Zero-Trust-Zugriffsschicht oder eine Quell-IP-Zulassungsliste verfügbar machen. Das ist oft sicherer als die Veröffentlichung von SSH im gesamten Internet.

Warum ist Port 22 geöffnet, SFTP schlägt jedoch immer noch fehl?

Der TCP-Port ist möglicherweise erreichbar, während die Authentifizierung oder das SFTP-Subsystem fehlschlägt. Überprüfen Sie Kontoberechtigungen, Schlüsselformat, Chroot-Besitz, ForceCommand-Einstellungen, zugelassene Benutzer, MFA-Richtlinien und SSH-Serverprotokolle.