Frage:
Bietet FTPS (FTP + S) auf der Serverseite eine bessere Sicherheit als SFTP?
Stéphane C.
2016-04-28 12:47:13 UTC
view on stackexchange narkive permalink

Ich hatte gestern einen Austausch mit einem Systemadministrator eines Drittanbieters bezüglich der Einrichtung einer Dateiübertragungsschnittstelle zwischen unseren Servern.

Ich schlug die Verwendung von SFTP vor, da unsere Anwendung dies gut unterstützt. Mein Gesprächspartner möchte unbedingt FTP + S (FTP + TLS), das wir derzeit nicht unterstützen und entwickeln müssten.

Ich argumentierte, dass ich in FTP + S keinen wirklichen Vorteil gegenüber SFTP gesehen habe, da beide bieten solide Verkehrsverschlüsselung. SFTP ist leicht verfügbar und kann durch die Authentifizierung mit öffentlichem Schlüssel noch sicherer gemacht werden. Last but not least macht es der Einzelverbindungsmodus viel einfacher, ihn hinter Unternehmensfirewalls zu verwenden.

Der Systemadministrator nannte mich fast einen Idioten und erklärte, dass SFTP auf SSH funktioniert, einem Protokoll, das für Verwaltungszwecke entwickelt wurde und dass das Öffnen eines SSH-Ports für eine andere Verwendung als die Verwaltung eindeutig eine schlechte Idee ist, da dadurch ein breiter Angriffsvektor gegen das Hostsystem geöffnet wird.

Ich frage mich, ob dieses Argument gültig ist. Es scheint verschiedene Möglichkeiten zu geben, eine SSH-Sitzung so einzuschränken, dass nur die Übertragung von SFTP-Dateien möglich ist. Es gibt das interne Open-SFTP-Subsystem, das mit openSSH geliefert wird, mit dem Sie einfach eine Chroot einrichten und die TCP-Weiterleitung deaktivieren können. Ich habe sogar von Lösungen gehört, mit denen Benutzer vermutlich eine Verbindung über SFTP herstellen können, ohne dass ein Eintrag in die passwd-Datei erforderlich ist ... Ich sehe kein klares Problem mit SFTP, das Sie mit FTP + S nicht hätten, aber mir könnte etwas fehlen?

Ist FTP + S trotz der Einschränkungen, die Sie für SSH anwenden können, aus Sicherheitsgründen eine bessere Option für Dateiübertragungen?

Wer betreibt den Server?Sie können entscheiden, welches Protokoll sie ausführen.Die Anpassung an die Anfrage eines Kunden (Kunden) ist ein soziales Problem, und es ist dasselbe, dem Kunden eine Wahl aufzuzwingen.Wenn sie der Server sind und FTPS ausführen, muss Ihr Client dies unterstützen.Wenn Sie den Server ausführen, ist dies Ihre Sicherheit.
Entschuldigung, wenn das nicht klar war, aber die ganze Frage ist, ob Argumente gültig sind oder nicht.Das Szenario wurde bereitgestellt, um einen Kontext zu geben, wer das letzte Wort haben sollte, ist eine andere Sache.
Es gibt auch HTTPS mit WebDAV-Erweiterungen.Das hat alle Vorteile von FTPS (wie klein sie auch sein mögen), aber nicht seine Nachteile, da es auch über eine einzelne Verbindung läuft.
Ich würde hinzufügen, dass Sie SFTP auch mit herkömmlichen FTP-Servern wie proftpd ausführen können, sodass Sie ein vertrautes Setup (Chroots, virtuelle Verzeichnisse usw.) haben können, ohne Ihren OpenSh-Server optimieren zu müssen.Siehe http://www.proftpd.org/docs/contrib/mod_sftp.html
Wenn auf dem Server SSH bereits zu Verwaltungszwecken ausgeführt wird, wird möglicherweise SFTP bevorzugt, um die Angriffsfläche auf nur einen Dienst anstatt auf zwei zu beschränken.
Ich hatte den Eindruck, dass TLS auch die Authentifizierung mit öffentlichem Schlüssel über Client-Zertifikate unterstützt.
Es ist hervorzuheben, dass hier ein häufiger Fehler vorliegt, der anscheinend von Ihrem Systemadministrator eines Drittanbieters begangen wird (tatsächlich scheinen die meisten Antwortenden diesen Punkt ebenfalls übersehen zu haben, obwohl einige dies wie @Steffen beiläufig erwähnt haben): ** SFTP! = FTP-über-SSH **.Tatsächlich ist SFTP ein Unterprotokoll, das mit der SSH-Familie verwandt ist, aber es unterscheidet sich von SSH und ist * völlig unabhängig von FTP *.Es hört sich so an, als würde er an etwas wie SecureFTP (IS FTP-over-SSH) denken, das viele der von ihm erwähnten Nachteile aufweist.Weitere Informationen finden Sie hier: http://security.stackexchange.com/q/858/33
Ich habe die Antwort von Steffen Ulrich akzeptiert, weil sie am informativsten war, aber die Beiträge von Marcelm und FjodrSo sind auch gute zusätzliche Lektüren.
Sieben antworten:
Steffen Ullrich
2016-04-28 13:03:20 UTC
view on stackexchange narkive permalink

Aufgrund der Sicherheit, die sie theoretisch bieten, sind FTPS und SFTP ähnlich. In der Praxis haben Sie die folgenden Vor- und Nachteile:

  • Bei FTPS-Clientanwendungen können die Zertifikate häufig nicht ordnungsgemäß validiert werden, was effektiv ist bedeutet, dass ein Mann in der Mitte möglich ist. Mit SFTP überspringen Benutzer stattdessen einfach Informationen über den Hostschlüssel und akzeptieren alles, sodass das Ergebnis dasselbe ist.
  • Benutzer und Administratoren mit mehr Wissen können SSH-Schlüssel jedoch ordnungsgemäß verwenden und diese auch zur Authentifizierung verwenden Dann ist SFTP im Vergleich zur Verwendung von Passwörtern viel einfacher zu verwenden. Und wenn Passwörter überhaupt verboten sind, ist dies auch sicherer, da Brute-Force-Passwortangriffe nicht mehr möglich sind.
  • FTP verwendet dynamische Ports für Datenverbindungen und Informationen über diese Ports werden im Band übertragen. Dies macht bereits einfaches FTP (ohne TLS) zu einem Albtraum, wenn es um Firewalls, NAT oder ähnliches geht. Mit FTPS (FTP + TLS) wird dies noch schlimmer, da aufgrund der Verschlüsselung der Steuerverbindung Helper-Anwendungen in der Firewall nicht mehr herausfinden können, welche Ports geöffnet werden müssen. Dies bedeutet, dass Sie zum Bestehen von FTPS eine Vielzahl von Ports öffnen müssen, was für die Sicherheit schlecht ist (*). SFTP ist viel besser, da es nur eine einzige Verbindung für Steuerung und Daten verwendet.
  • FTP (S) -Server bieten häufig anonymen Zugriff und SFTP-Server normalerweise nicht. Mehrere FTP (S) -Server bieten auch Pseudo-Benutzer an, d. H. Benutzer aus derselben Datenbank oder ähnlichem, die keine echten Benutzer im System sind. Wenn Sie ohnehin nur richtige Benutzer haben, spielt dies keine Rolle.
  • SFTP verwendet das SSH-Protokoll und Sie müssen das System ordnungsgemäß konfigurieren, um nur den SFTP-Zugriff und nicht auch den SSH-Zugriff (Terminal) oder sogar die SSH-Weiterleitung zuzulassen. Mit FTP ist dies einfacher, da FTP ohnehin nur eine Dateiübertragung durchführen kann.

(*) Mehrere Kommentare glauben nicht wirklich, dass das Öffnen einer Vielzahl von Ports die Sicherheit beeinträchtigt. Lassen Sie mich dies näher erläutern:

  • FTP verwendet separate TCP-Verbindungen für die Datenübertragung. Welche Ports für diese Verbindung verwendet werden, ist dynamisch und Informationen über diese werden innerhalb der Steuerverbindung ausgetauscht. Eine Firewall, die nicht weiß, welche Ports derzeit verwendet werden, kann nur einen großen Portbereich zulassen, der möglicherweise manchmal über FTP verwendet wird.
  • Diese Ports müssen den Zugriff von außen nach innen ermöglichen, da im passiven FTP-Modus die Der Client stellt eine Verbindung zu einem dynamischen Port auf dem Server her (dh relevant für die serverseitige Firewall), und für den aktiven FTP-Modus stellt der Server eine Verbindung zu einem dynamischen Port auf dem Client her (relevant für die clientseitige Firewall).
  • Mit einer breiten Eine Reihe von Ports, die für uneingeschränkten Zugriff von außen nach innen geöffnet sind, wird normalerweise nicht als restriktive Firewall angesehen, die das Innere schützt. Dies ähnelt eher einem großen Loch in der Tür, durch das ein Einbrecher ins Haus kommen könnte.
  • Um dieses Problem zu umgehen, verwenden die meisten Firewalls "Helfer" für FTP, die die FTP-Steuerverbindung untersuchen, um herauszufinden, welche Ports für die nächste Datenverbindung geöffnet werden müssen. Ein Beispiel ist ip_conntrack_ftp für iptables. Leider ist bei FTPS die Steuerverbindung (normalerweise) verschlüsselt, sodass diese Helfer blind sind und die erforderlichen Ports nicht dynamisch öffnen können. Dies bedeutet, dass entweder FTP nicht funktioniert oder eine Vielzahl von Ports ständig geöffnet sein muss.
In Bezug auf den letzten Aufzählungspunkt: Der Befehl `SITE` (insbesondere` SITE EXEC`) hat eine ziemlich schlechte Geschichte in Bezug auf Sicherheit / Exploits.Das "kann nur Dateiübertragungen durchführen" gilt nur für einen vernünftigen und korrekt konfigurierten FTP-Server.
@Mat: historisch ja.Aber ich habe lange Zeit noch nie von solchen Problemen gehört, daher gehe ich davon aus, dass Server heutzutage standardmäßig mit einer nicht verfügbaren oder nur auf wenige Dinge beschränkten SITE ausgestattet sind.Während Sie bei SFTP normalerweise den SSH-Server selbst einschränken müssen, um nur SFTP zuzulassen.
Vielen Dank für die ausführliche Antwort. Dies ist keine "Ja / Nein" -Antwort, sondern bestätigt tendenziell, dass man mit angemessenen Anstrengungen mit SFTP eine sehr gute Sicherheit erreichen kann, die in bestimmten Fällen vergleichbar oder sogar besser als FTP + S ist.Sicherlich ausreichend zwischen zwei Partnern, die ein angemessenes Vertrauen in die Absichten des anderen haben.
@StéphaneC.: Und FTPS ist definitiv ein Albtraum, um durch Firewalls und NAT (d. H. Typischer SoHo-Router) zu gelangen.Die Verwendung von SFTP kann daher denjenigen, die ihre Benutzer unterstützen müssen, viel Ärger ersparen.
FTP ist ein [dummes Protokoll] (http://mywiki.wooledge.org/FtpMustDie) und muss sterben.
* "Öffnen Sie eine Vielzahl von Ports (was unsicher ist!)" * Ohne Angabe von Gründen * warum * das unsicher wäre, halte ich es für eine seltsame Aussage.Ich bin im Allgemeinen anderer Meinung (wenn Ihre Sicherheit davon abhängt, dass Ports geschlossen werden, stimmt wahrscheinlich etwas nicht), aber ich dachte, ich würde dies kommentieren und fragen, bevor ich es nur bearbeite ... (Insgesamt gute Antwort - positiv bewertet.)
@Luc: Ich fand es offensichtlich, warum das Öffnen einer Vielzahl von Ports in einer Firewall eine schlechte Idee ist.Aber ich habe diesen Teil umformuliert, damit er hoffentlich klarer wird.Und natürlich sollte Ihre Sicherheit nicht davon abhängen, dass Ports geschlossen werden, aber solche Einschränkungen sind Teil der Sicherheit im Detail.Ein uneingeschränkter Zugriff von außen nach innen auf eine Vielzahl von Ports ist nur dann eine schlechte Idee, wenn die Systeme im Inneren als (meistens) sicher gelten.
@SteffenUllrich Ihre Bearbeitung hat nicht wirklich erklärt, wie das System durch den Zugriff auf Ports weniger sicher gemacht wird.Es ist nicht weniger sicher, wenn der FTP-Server mehrere Ports überwacht, als wenn er nur einen überwacht.Ich weiß, dass Ihr Rat beliebt ist, aber soweit ich weiß, ist seine Popularität nur Frachtkult.
@AndréParamés: Sie müssen die Ports offen lassen, auch wenn der FTP-Server oder -Client (!) Diese Ports derzeit nicht überwacht, da Sie nie wissen, ob der Host diese Ports verwendet.Und es könnte tatsächlich sein, dass eine andere Anwendung (wie ein Trojaner oder ein RAT-Tool) diesen Port abhört und somit von außen zugänglich ist.Es ist einfach eine schlechte Idee, eine Vielzahl von Ports ständig offen zu lassen, da FTP möglicherweise einige davon manchmal verwendet, wenn Sie eine Firewall zum Schutz Ihrer Systeme verwenden möchten.
@SteffenUllrich Ich sehe Ihren Standpunkt als Trojaner, aber wenn jemand bereits Code auf Ihrem System ausführen kann, kann er ohne offenen Port wahrscheinlich genug Schaden anrichten.Ich denke immer noch, dass es kein großes Problem ist, aber dies gehört wahrscheinlich in eine separate Antwort.(Es gibt bereits einige Fragen dazu [1] (http://security.stackexchange.com/q/78802) [2] (http://security.stackexchange.com/q/9461) [3] (http://security.stackexchange.com/q/96568) [4] (http://security.stackexchange.com/q/13714) [5] (http://security.stackexchange.com/q/10729) [6] (http://security.stackexchange.com/q/9461), aber keine der Antworten ist vollständig.)
Sftp hat den Vorteil, dass SSH-Master-Steuerungsverbindungen verwendet werden können. Dies kann von Vorteil sein, da Sie nur 1 TCP-Verbindung herstellen und den Pass / Schlüssel nur einmal senden, selbst wenn Sie 10 Sftp-Verbindungen verwenden, um die hohe Latenz zu umgehenIhrer Satalite-Verbindung durch internes Pipelining der Anfragen
marcelm
2016-04-28 15:28:52 UTC
view on stackexchange narkive permalink

Der Systemadministrator wirft einen gültigen Punkt auf. (aber seine zwischenmenschlichen Fähigkeiten erfordern möglicherweise Arbeit)

SSH ist ein komplexes Protokoll, und openssh implementiert viele Funktionen. Alle diese Funktionen bietet Angriffsvektoren an, und es ist sehr schwer sicher zu sein, dass keiner dieser Vektoren ausnutzbar ist.

Auch wenn openssh keine Fehler aufweist (was nicht der Fall ist), wissen Sie über die richtigen Möglichkeiten zum Schließen Bescheid Unerwünschte Funktionen und das Verständnis, wie diese Optionen interagieren können, sind an sich mit erheblichem Aufwand verbunden. Diese Interaktionen können sich von Version zu Version ändern.

Betrachten Sie als Beispiel das folgende Snippet sshd_config . Dies hat die Absicht, bestimmte Benutzer auf SFTP-only zu beschränken (wir haben sogar daran gedacht, sie an ihre Home-Verzeichnisse zu sperren):

  Match Group sftponly ChrootDirectory% h ForceCommand internal-sftp  

Und sicher genug:

 % ssh somehostDieser Dienst erlaubt nur SFTP-Verbindungen. Verbindung zu einem Host-Clo sed.  

Aber warten Sie ...

  ssh -N -L 9000: localhost: 80 somehost  

Hoppla, ich habe jetzt Port 80 auf somehost an Port 9000 auf meinem Host weitergeleitet. Das bedeutet, wir können eine Verbindung zu Port 80 auf somehost herstellen, als ob wir von localhost kommen Für Port 80 keine große Sache, aber was ist mit Diensten, die nur auf localhost lauschen, wie z. B. Verwaltungsdienste oder Datenbanken?

Und das ist nur TCP-Weiterleitung. Zumindest SSH ermöglicht auch die Weiterleitung von X11 und SSH-Agenten, und ich kenne nicht einmal die Auswirkungen dieser beiden.

Wir verwenden häufig ssh / sftp, da für unsere Situation die Vorteile diese Risiken überwiegen. Aber es ist ein berechtigtes Anliegen, das nicht zu leicht genommen werden sollte. Wir haben dies für Anwendungsfälle erreicht, in denen nur sftp ausreicht:

  Match Group sftponly ChrootDirectory% h X11Forwarding no AllowTcpForwarding no AllowAgentForwarding no ForceCommand internal-sftp  

Wir hoffen, dass dies ausreicht, um nur SFTP-Zugriff zu gewährleisten, können uns jedoch nicht ganz sicher sein. (Vorschläge willkommen;)

Um dennoch Schaden anrichten zu können, müssen Angreifer die Authentifizierung hinter sich lassen, was äußerst schwierig sein kann.Dann verstehe ich, dass Sie sicherstellen müssen, dass alle Türen geschlossen sind und dass dies SFTP möglicherweise riskanter machen würde, wenn Sie nur begrenztes Vertrauen in Ihre Benutzer haben
@StéphaneC.Wahr.Aber Sie haben erwähnt, dass er ein Systemadministrator eines Drittanbieters ist.Warum sollte er Ihnen vertrauen und Ihnen möglicherweise mehr Zugang gewähren, als Sie benötigen?Es geht nicht nur um böswillige Absichten auf Ihrer Seite.Was ist, wenn Ihre Maschinen kompromittiert werden?;)
Richtig, aber wie oben erwähnt, kann die Multi-Socket-Architektur dieses Protokolls zu Komplikationen und potenziellen FW-Problemen führen.Ich denke, es ist ein Kompromiss.Wiegt das potenzielle (oder fast theoretische?) Sicherheitsrisiko von SFTP auf?Schwer zu sagen für mich ...
Es ist in der Tat ein Kompromiss.Ehrlich gesagt, wenn ich Dritten, mit denen ich nicht vertraut bin, Dateizugriff auf einen unserer Server gewähren müsste, würde ich mich wahrscheinlich nicht für SFTP entscheiden.Aber für uns ist es meistens intern und gelegentlich mit vertrauenswürdigen Dritten, also für uns die Vorteile von ssh / sftp gewinnen.
Ich erinnere mich noch an eine Sache, konnte sie aber nicht überprüfen.Wenn Sie die Authentifizierung mit öffentlichem Schlüssel für die ssh-Familie einrichten, funktioniert der Versuch eines MITM nach diesem Zeitpunkt nicht, selbst wenn der Client den Hostschlüssel vergessen hat, weil der Authentifizierungsschlüssel verwendet wird.
Denken Sie daran, dass OpenSSH zwar komplex ist und eine große Angriffsfläche hat, aber auch die Privilegientrennung in großem Umfang nutzt, wie z. B. seccomp, ein Kind mit reduzierten Privilegien, das nur über eine Pipe, Rlimits und mehr kommuniziert.Ich glaube nicht, dass ein ftps-Client ähnliche Funktionen hat.Es ist daher schwer zu sagen, dass OpenSSH mehr Angriffsfläche hat, wenn es auch weitaus umfassender gesperrt ist.
@marcelm in Bezug auf "Ehrlich gesagt, wenn ich Dritten, mit denen ich nicht genau vertraut bin, Dateizugriff auf einen unserer Server gewähren müsste, würde ich mich wahrscheinlich nicht für SFTP entscheiden.", Was würden Sie für die Dateiübertragung zwischen Dritten verwenden??Ich bin auf diese Seite gekommen, nachdem ich nach den üblichen 'FTPS - sftp Vor- / Nachteilen' gesucht hatte und dachte, warum nicht die andere Frage stellen :)
FjodrSo
2016-04-28 17:02:21 UTC
view on stackexchange narkive permalink

Beide Protokolle haben Vor- und Nachteile, wie in diesem Vergleichsartikel sehr gut erläutert.

Da sich die Frage speziell auf die Sicherheit bezieht, gibt es einige Überlegungen, die sollte bei der Auswahl des Protokolls berücksichtigt werden, das unter bestimmten Bedingungen am besten geeignet ist.

FTPS und FTPES verwenden SSL oder TLS, um die Steuerung / Daten zu verschlüsseln Verbindungen. Der Hauptvorteil dieser sicheren Kanäle besteht darin, dass sie X.509-Zertifikate verwenden, die viel mehr Informationen enthalten als ein einfaches Schlüsselpaar (Hostname, E-Mail-Adresse, Organisationsname, ISSUER (CA), ...) und daher a viel einfacher zu validieren. Aber:

  • SSL 1.0 , SSL 2.0 : vor langer Zeit veraltet (unsicher)
  • SSL 3.0 : Vor kurzem wegen POODLE
  • TLS 1.0 veraltet : Für die PCI-Konformität nicht mehr akzeptabel
  • TLS 1.1 : Es fehlen einige der Erweiterungen von TLS 1.2 und die Client-Unterstützung ist eingeschränkt. Es gibt keinen Grund, sie zu verwenden.
  • TLS 1.2 : aktueller Standard, der bisher als sicher / sicher li angesehen wurde >

Und das Obige deckt nur das Verschlüsselungsprotokoll des Kanals ab, dann gibt es Sicherheitsüberlegungen bezüglich des FTP-Protokolls selbst. Der Befehl SITE wurde beispielsweise immer wieder verwendet, um Angriffe auszuführen, und das inhärente Design des Protokolls selbst erfordert das Öffnen und NAT mehrerer Ports in Ihrer Firewall (was zu einem Albtraum werden kann) ). Darüber hinaus können die meisten Firewalls FTP-Datenverbindungen nur dann ordnungsgemäß NAT-Verbindungen herstellen, wenn der Client dies anfordert und der Server CCC (Clear Control Channel) zulässt, wodurch ein Teil der Sicherheit beeinträchtigt wird, indem die Steuerverbindung unverschlüsselt ausgeführt wird.

Auf der anderen Seite haben wir SFTP , ein Subsystem von SSH . Die größte Herausforderung besteht darin, dass SSH-Schlüssel "nur Schlüssel" sind, nicht von einer Zertifizierungsstelle ausgegeben werden und keine Ausstelleranweisung oder Schlüsselkette enthalten ist. Daher müssen SSH-Serverschlüssel vom Client ausdrücklich als vertrauenswürdig eingestuft werden .

Jemand könnte argumentieren, dass die Konfiguration eines SSH-Servers so, dass nur SFTP (keine Shell, keine Befehle, keine Weiterleitungstunnel, kein X11) zulässig ist, schwierig sein kann. Das hängt tatsächlich davon ab: Wenn Sie Linux und OpenSSH ausführen, ist dies möglicherweise der Fall, aber es gibt eine Vielzahl von SSH / SFTP-Servern, die diese Art der Konfiguration zum Kinderspiel machen. Daher würde ich dies nicht unbedingt als potenziellen Fehler auflisten. es sei denn, wie gesagt, Linux / OpenSSH werden verwendet.

Einige bemerkenswerte Nebeneffekte von SFTP sind jedoch:

  • ECDSA-Schlüsselaustausch : Ein 521-Bit-ECDS (X) -Schlüssel entspricht in Bezug auf die Sicherheit einem 15.360-Bit-RSA-Schlüssel und erfordert 9-mal weniger CPU-Zyklen für die Signaturberechnung.
  • Inhärente Weiterleitung Geheimhaltung : Das SSH-Protokoll kann den tatsächlichen Kanalverschlüsselungsschlüssel in der Sitzung neu aushandeln und bietet im Gegensatz zu SSL / TLS-fähigen Servern, für die zusätzliche Konfigurationsarbeiten erforderlich sind, eine inhärente Weiterleitungsgeheimnis.

Letztendlich liegt die Wahl also wirklich bei Ihnen, aber das Argument, das der Systemadministrator vorbrachte, ist offensichtlich ungültig, und wenn es einen vorhandenen SFTP-Server gibt, ist dies der Fall Gut konfiguriert (wie erläutert), gibt es keinen Grund (insbesondere keinen sicherheitsrelevanten Grund), auf FTPS (oder FTPES) umzusteigen.

Können Sie einen SFTP-Server empfehlen, der das Einrichten des Nur-Datei-Übertragungsmodus vereinfacht?Ich könnte in Betracht ziehen, so etwas für andere Projekte auf einem anderen Port auszuführen.
Schauen Sie sich Syncplify.me Server an (Offenlegung: Es ist das Unternehmen, für das ich arbeite).Ich glaube nicht, dass ich Links in Kommentare einfügen kann, aber ich bin sicher, dass Sie es einfach googeln können.;)
@StéphaneC.Das mod_sftp-Modul von ProFTPD implementiert ebenfalls SFTP (und SCP), jedoch keinen Shell-Zugriff.
@FjodrSo Verhandelt ChangeCipherSpec die Sitzungsschlüssel in TLS nicht neu, wenn Verschlüsselungssuiten verwendet werden, die dies unterstützen?
SSL / TLS unterstützt FS mit DHE seit 1999 und unterstützt ECDH (E) und ECDSA seit 2006 - obwohl die zahlreichen Implementierer im SSL / TLS-Bereich ECC nicht so aktiv vorantrieben wie der eine dominierende SSH-Implementierer OpenSSH;Zum Beispiel hat OpenSSL ECC in SSL / TLS erst 2010 einfach gemacht. @reirab Renegotiation in SSL / TLS führt die vollständige Handshake-Sequenz aus, beginnend mit ClientHello (mit Neuverhandlungsanzeige, wenn 5746 verwendet wird, wie es fast immer ist) oder ServerHelloRequest;CCS ist nur der vorletzte Schritt.SSH * kann * ohne Reauth neu schreiben, obwohl ich nicht sicher bin, ob es jemand will.
Ich würde ECDSA nicht als Vorteil bezeichnen, da es denselben Problemen unterliegt wie DSA.Nun, wenn Sie andererseits EdDSA sagten ...
Steve Sether
2016-05-20 22:23:47 UTC
view on stackexchange narkive permalink

Viele Leute sprechen gültige Punkte über die Unterschiede zwischen den beiden Protokollen an. Aber ich denke für Ihre Zwecke lautet die Frage wirklich: "Ist SFTP sicher genug?" eher als "welches ist sicherer"?. Wie Sie gesagt haben, haben Sie andere Bedenken als nur die Sicherheit.

Dies stellt sich als schwierig zu lösendes Problem heraus. SSH wurde ausgiebig genutzt und ausgiebig untersucht. Es sind keine Fehler im Protokolldesign bekannt. Sicherheitslücken haben jedoch häufig nichts mit dem Protokoll und alles mit der Implementierung zu tun. Immerhin ist SMTP selbst nicht "unsicher" und relativ einfach im Design, aber vor 16 Jahren war die gemeinsame SendMail-Anwendung eines der Aushängeschilder schlecht implementierter Software-Sicherheit und hatte Loch für Loch.

Selbst wenn das Protokoll gut gestaltet und einfach ist, kann die Implementierung ein Nest voller Komplexität, zusätzlicher Funktionen und Sicherheits-Albträume sein.

Ich denke also Es geht mehr darum, eine gute UMSETZUNG als ein gutes Protokoll zu wählen. Beide Protokolle sind in Ordnung und beide Implementierungen können schlecht implementiert werden.

Ich bin mit FTPS nicht ganz vertraut, daher weiß ich nicht, ob es angesehene Implementierungen davon gibt. Für SSH wird OpenSSH jedoch allgemein als qualitativ hochwertig angesehen und wurde von Grund auf unter Berücksichtigung der Sicherheit (Trennung von Berechtigungen usw.) entwickelt.

KHChiu
2017-03-25 06:47:33 UTC
view on stackexchange narkive permalink

Wie Sie dachte ich, beide wären fast gleich, als ich im Internet nach ihren Unterschieden suchte.

Im wirklichen Leben ist es jedoch eine andere Geschichte. Im Folgenden habe ich folgende Erfahrungen gemacht:

  1. Bei meinem NAS habe ich die FTPS-Funktionalität 3 Monate lang aktiviert. Das Firewall-Setup war in Ordnung. Ich musste nur den FTP-Port und einige weitere Ports öffnen, die für die FTPS-Übertragung verwendet wurden. So weit so gut, keine große Sache.

  2. Nach 3 Monaten schalte ich möglicherweise auch das SFTP-Protokoll ein, da es häufiger und wahrscheinlich einfacher ist verwalten. Dann passierte etwas Interessantes. 10 Minuten nachdem ich den SFTP-Port geöffnet hatte, war mein NAS einigen blauen Flecken ausgesetzt. Der NAS blockierte die angreifende IP nach 10 fehlgeschlagenen Kennwortversuchen automatisch und benachrichtigte mich per E-Mail. Stellen Sie sich vor, wenn der Angreifer die Kontrolle über Tausende von Computern mit unterschiedlichen IP-Adressen hätte, könnte mein NAS sie nicht alle stoppen. Wenn sich die Mitarbeiter unseres Unternehmens dazu entschließen, ein wirklich einfaches Passwort einzurichten, kann die Person, die den Angriff mit blauen Flecken anwendet, möglicherweise in unser System gelangen.

  3. ol>

    Nun, da ich SFTP deaktiviert, der Angriff gestoppt und ich bin froh, dass niemand mehr versucht, auf unseren Dateiserver zu gelangen.

Jeder öffentlich erreichbare Dienst kann Angriffen ausgesetzt sein. Ich verwende einige Webserver und mein auth.log ist mit Anmeldeversuchen im "root: admin123" -Stil gefüllt, in der Regel innerhalb von Minuten nach der Anmietung.Ich wünsche ihnen viel Glück beim Erraten eines starken Passworts mit brutaler Gewalt.Ich glaube nicht, dass Sie das Protokoll dafür verantwortlich machen können, vielleicht einen alternativen Port verwenden und nur die Authentifizierung mit öffentlichem Schlüssel zulassen.
Diese Anekdote zeigt nur, dass Angreifer ständig auf Ihren Port 22 hämmern, um Sie mit einem unsicheren SSH-Passwort zu erwischen.Dies ist im offenen Web nicht ungewöhnlich und bedeutet nicht, dass SSH selbst unsicher ist.Durch den bloßen Wechsel von Port 22 werden diese Protokolleinträge so gut wie gestoppt, obwohl die Sicherheit nicht wesentlich beeinträchtigt wird.
Das Protokoll ist weit verbreitet und gibt es schon so lange, dass es mehr Brute-Force-Versuche dagegen gibt. Na und?Das ändert nichts an meiner Meinung, dass SFTP zu den sichersten möglichen Dateiübertragungsmethoden gehört.
Richard R. Matthews
2017-03-25 23:38:54 UTC
view on stackexchange narkive permalink

Nein, SSH und SSL verwenden normalerweise dieselbe Verschlüsselungsstärke. Beispiel: RSA und AES, aber SSH kann DSA verwenden. Aber ssh verwendet Port 22. Aber FTPs verwenden Port 21 und 22 für FTP- und FTP-Daten. Obwohl es meiner Meinung nach besser konfigurierbar ist, müssen Sie 2 Ports öffnen, was nicht nur angesichts von Firewalls unpraktisch ist, sondern auch ein potenzielles Sicherheitsrisiko darstellt, da Sie 2 Ports öffnen müssen.

FTP [S] verwendet eine separate Datenverbindung, jedoch nicht Port 22. SSL / TLS kann DSA verwenden, ist jedoch im öffentlichen Netz selten, da öffentliche Zertifizierungsstellen (Symantec GoDaddy usw.) meist keine DSA-Zertifikate ausstellen.In Intranets oder geschlossenen Communities funktioniert es einwandfrei (und war der einzige Weg, um PFS unter WinXP zu erhalten).OTOHs jüngstes OpenSSH (seit 7.0 im Jahr 2015) deaktiviert ssh-dss anscheinend standardmäßig, da SSH mit SHA1 auf DSA beschränkt ist.Siehe https://crypto.stackexchange.com/questions/15051/why-does-openssh-use-only-sha1-for-signing-and-verifying-of-digital-signatures
Frank
2016-04-29 08:23:48 UTC
view on stackexchange narkive permalink

Die Antwort ist irgendwie stumpf, egal in welche Richtung Sie in Ihrer Rhetorik gehen. Serverseitige Mittel werden von der Person gesteuert, die die Datei bereitstellt, und theoretisch sicherer, wenn alle Sicherheitsmerkmale bekannt sind.

Eine benutzerseitige Methode wäre dieselbe, jedoch für den Benutzer. In diesen Tagen stellen wir die Beziehung der beiden nicht in Frage. Jeder muss sich seiner Fähigkeit versichern, sich ausreichend zu schützen. Benutzer wenden sich daher einer Option für Firewalls zu.

Jede Option, die Sie für den Benutzer auswählen, kann auf diese Weise leicht außer Kraft gesetzt werden. Daher machen wir uns keine Sorgen um den Benutzer (Empfänger). Diese Rhetorik ist in dieser Angelegenheit jetzt überholt.

Ihr Anliegen sollte sich auf Ihre eigenen Wertpapiere beziehen. Dies würde Server-Seite bedeuten. Sie möchten die Kontrolle über die von Ihnen freigegebenen Informationen. Wie viel Sorge nach der Veröffentlichung ist nicht mehr umsichtig. Es liegt einfach nicht in Ihrer Verantwortung darüber hinaus. Nur was Sie in der Folge betrifft. Wenn Sie noch keine Daten dazu haben, haben Sie keine Konsequenzen.

Eine wirklich kontrollierbare Lösung wäre die Verwendung einer FTP-Quelle mit Verschlüsselung nach Ihrem eigenen Entwurf. Verlassen Sie sich nicht auf Dritte. Aber auch dies ist veraltet, da es schwierig ist, eigene Bibliotheken von Anfang bis Ende zu erstellen.

Basierend auf den von Ihnen unzureichend angegebenen Terminologien möchten Sie ein einfaches SSH-FTP. Dazu können Sie lediglich Firewall-Regeln und Iptables-Konfigurationen vorschlagen (unter Linux). Sie scheinen in beiden Fällen mit WYSIWYG festzuhalten.

Selbst wenn das Erstellen einer vollständigen Support-Bibliothek einfach wäre, würde ich nicht empfehlen, anstelle etablierter Lösungen ein eigenes Protokoll oder eine eigene FTP-Implementierung auszuführen.Beträchtliche Zeit und Erfahrung werden von ihren Betreuern in die Sicherheit der gängigen SSH / FTPS-Server investiert, und zwar auf ein Niveau, das für Sie schwer zu erreichen wäre.Vor allem, wenn es nicht Ihr Hauptgeschäftswert ist.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...