Welches ist besser? SFTP oder FTPS

3231
Jegschemesch

Ich habe aus einigen Quellen gehört, dass SFTP FTPS vorzuziehen ist. Wenn dies der Fall ist, frage ich mich warum genau.

5
Eine solche Frage eignet sich besser für Serverfault. Josh Hunt vor 15 Jahren 0
"Wie cool wäre es, eine Frage zu sehen, die ping ponged wird. SF-> SO-> SU-> MSO-> SF-> SU-> SF-> SU-> SF-> MSO-> Closed - Lucas McCoy" Josh Hunt vor 15 Jahren 2
@joshhunt Eine Frage hat den Homerun gemacht, aber keiner hat einen Wirbelwind gemacht. random vor 15 Jahren 0

5 Antworten auf die Frage

7
Josh Hunt

Ich bevorzuge SFTP gegenüber FTPS, vor allem, weil es einen zusätzlichen Aufwand erfordert, einen FTP-Server auf einem Server einzurichten. Höchstwahrscheinlich hat der Server bereits SSH installiert, um ihn remote zu verwalten. Warum also nicht einfach das nutzen, was bereits installiert ist? Die Verwendung von SFTP erfordert keine zusätzlichen Anstrengungen, um es auszuführen.

Die meisten FTP-Clients verfügen über eine integrierte Unterstützung für SFTP. Daher ist die Client-Unterstützung hauptsächlich ein Moot-Punkt.

5
FjodrSo

Im SSH-SFTP-Blog gibt es einen hübschen erläuternden Artikel, in dem die Unterschiede zwischen SFTP und FTPS beschrieben werden und ein Überblick über die Szenarien gegeben wird, für die jedes von ihnen besser geeignet ist.

Gemäß dem oben genannten Artikel hat jedes Protokoll "Vorzüge" und "Nachteile", so dass je nach Szenario ein Protokoll effektiver sein kann als das andere.

Im Folgenden werde ich die Punkte zusammenfassen, die - meiner bescheidenen Meinung nach - die wichtigsten sind:

SFTP ist immer sicher, FTPS ist möglicherweise nicht : SFTP ist ein Subsystem des SSH-Protokolls und läuft daher immer in einem verschlüsselten / gesicherten Kanal. Stattdessen kann FTPS eine einfache (unverschlüsselte) FTP-Fallback-Strategie aufweisen, falls der Server SSL / TLS nicht unterstützt.

FTPS kann schneller als SFTP sein : Unter den gleichen Netzwerkbedingungen könnte FTPS wahrscheinlich schneller als SFTP sein, da es den Steuerkanal und den Datenkanal getrennt ausführt (während SFTP in einem einzigen Kanal läuft und die Steuerpakete innerhalb des Datenflusses verschachtelt )

SFTP ist Firewall-freundlich, während FTP (S) nicht ist : SFTP läuft innerhalb von SSH und verwendet daher nur einen Port auf dem Server (Standard: 22). FTP (S) erfordert stattdessen entweder die Möglichkeit, dass sich der Server wieder mit dem Client (aktiv) verbindet, oder eine große Anzahl offener Ports in Ihrer Firewall, damit der Server eingehende Datenverbindungen annehmen kann (passiv).

FTPS kann Vertrauen delegieren, SFTP kann Folgendes nicht : FTP (S) nutzt die intrinsische SSL / TLS-Sicherheit auf der Grundlage von X.509-Zertifikaten, die von einer Zertifizierungsstelle ausgestellt werden können, die von beiden Parteien als vertrauenswürdig eingestuft wird, während SSH-Serverschlüssel nur vom Server ausgegeben werden können Teil und muss vom Client-Teil als vertrauenswürdig eingestuft werden.

Können Sie den verknüpften Inhalt detaillierter beschreiben und erklären, wie er sich auf die Frage bezieht? Dadurch wird sichergestellt, dass diese Antwort auch dann nützlich ist, wenn der Link ungültig wird. bwDraco vor 9 Jahren 0
Sicher. Ich werde jetzt die Antwort bearbeiten ... FjodrSo vor 9 Jahren 0
3
jergason

Diese Seite von CodeGuru enthält eine gute Zusammenfassung der Vor-und Nachteile von jedem:

Die Antwort hängt wie üblich von Ihren Zielen und Anforderungen ab. Im Allgemeinen ist SFTP FTPS technologisch überlegen. Natürlich ist es eine gute Idee, die Unterstützung für beide Protokolle zu implementieren, aber sie unterscheiden sich in den Konzepten, in den unterstützten Befehlen und in vielen anderen Dingen.

Es ist eine gute Idee, FTPS zu verwenden, wenn Sie über einen Server verfügen, auf den Sie von persönlichen Geräten (Smartphones, PDAs usw.) oder von bestimmten Betriebssystemen aus zugreifen müssen, die FTP unterstützen, aber keine SSH / SFTP-Clients haben. Wenn Sie eine benutzerdefinierte Sicherheitslösung erstellen, ist SFTP wahrscheinlich die bessere Option.

Auf der Clientseite werden die Anforderungen von den Servern definiert, zu denen Sie eine Verbindung herstellen möchten. Bei der Verbindung mit Internet-Servern ist SFTP beliebter, da es standardmäßig von Linux- und UNIX-Servern unterstützt wird.

Für die private Host-zu-Host-Übertragung können Sie sowohl SFTP als auch FTPS verwenden. Für FTPS müssen Sie nach einer freien FTPS-Client- und Serversoftware suchen oder eine kommerzielle Lizenz erwerben. Für die SFTP-Unterstützung können Sie ein OpenSSH-Paket installieren, das kostenlose Client- und Serversoftware enthält.

3
Arjan

SFTP hat keine Probleme mit Port-Mappings und somit auch keine Probleme mit NAT- Router / Firewalls. (Außerdem sind viele Heim-DSL- und -Kabelmodems tatsächlich NAT-Router, und der Anschluss eines eigenständigen drahtlosen Zugangspunkts führt möglicherweise sogar zu einer "doppelten NAT".)

Bei FTP und damit bei FTPS sind mehrere Verbindungen erforderlich. Client und Server vereinbaren die IP-Adresse und die Ports, die innerhalb der sogenannten Kommunikation auf Anwendungsebene verwendet werden sollen. Ein NAT-Router oder eine Firewall (die sich eher nur mit Problemen der Transportebene beschäftigen würde) muss jedoch über diese Details Bescheid wissen und muss daher die tatsächlichen Daten überprüfen. Dies wirft viele Probleme auf, die für SFTP nicht existieren.

0
Andrew Keith

Ich glaube nicht, dass einer dem anderen vorzuziehen ist. Das hängt wirklich von Ihrer Infrastruktur ab. In diesem Thread von CodeGuru werden die Vor- und Nachteile von SFTP und FTPS erörtert.

Ein Vorteil von FTPS ist der Datenkanal. Der Datenkanal kann umgeleitet werden, um Dateien von Server zu Server zu übertragen. Diese Funktion ist nicht gut verstanden. Deshalb würden viele Leute sagen, dass der FTP-Datenkanal nicht notwendig ist.

Ich glaube, wenn Sie nur daran interessiert sind, Dateien sicher zu senden, sollten Sie sich für FTPS entscheiden. Wenn Sie bereits über eine SSH-Infrastruktur verfügen, kann SFTP hilfreich sein.