Eine Website, die ich häufig besuche, hat sich endgültig entschieden, TLS für ihre Server zu aktivieren, nur um sie nicht wie viele andere Websites zu beauftragen. Der Betreuer behauptet, dass TLS optional sein muss . Warum?
Auf meiner eigenen Website habe ich lange Zeit TLS- und HSTS-Mandate eingerichtet und die schwächeren Cipher Suites sind deaktiviert. Der Zugriff auf Klartext wird mit einem HTTP 301 auf die TLS-geschützte Version garantiert gesperrt. Beeinträchtigt dies meine Website negativ?
Antworten:
Es gibt mehrere gute Gründe, TLS zu verwenden
(und nur wenige marginale Gründe, dies nicht zu tun).
Selbst auf statischen, lediglich informativen Sites stellt die Verwendung von TLS sicher, dass niemand die Daten manipuliert hat.
Seit Google I / O 2014 hat Google verschiedene Schritte unternommen, um alle Websites zur Verwendung von HTTPS zu ermutigen:
Der Mozilla-Sicherheitsblog hat außerdem angekündigt, nicht sicheres HTTP zu verwerfen, indem alle neuen Funktionen nur zum Sichern von Websites zur Verfügung gestellt werden und der Zugriff auf Browserfunktionen für nicht sichere Websites schrittweise eingestellt wird. Dies gilt insbesondere für Funktionen, die die Sicherheit und den Datenschutz der Benutzer gefährden .
Es gibt auch mehrere gute Gründe, TLS durchzusetzen
Wenn Sie bereits ein weit verbreitetes vertrauenswürdiges Zertifikat haben, warum nicht immer? Praktisch alle aktuellen Browser unterstützen TLS und haben Stammzertifikate installiert. Das einzige Kompatibilitätsproblem, das ich seit Jahren gesehen habe, waren Android-Geräte und fehlende Zwischenzertifizierungsstellen, da Android nur Stammzertifizierungsstellen direkt vertraut. Dies kann auf einfache Weise verhindert werden, indem der Server so konfiguriert wird, dass die Zertifikatskette zurück an die Stammzertifizierungsstelle gesendet wird.
Wenn Ihr Betreuer weiterhin HTTP-Verbindungen ohne direkte Verbindung zulassen möchte, um beispielsweise den
301 Moved Permanently
Zugriff über einige sehr alte Browser oder mobile Geräte sicherzustellen, kann der Browser nicht erkennen, dass Sie sogar HTTPS konfiguriert haben . Darüber hinaus sollten Sie HTTP Strict Transport Security (HSTS) nicht ohne Folgendes bereitstellen301 Moved Permanently
:Das Problem verschiedener Sites, die für beide Protokolle konfiguriert sind, wird von The Tor Project und der Electronic Frontier Foundation erkannt und von einer HTTPS Everywhere- Erweiterung mit mehreren Browsern behoben :
Gemischte Inhalte stellten auch ein großes Problem dar, da möglicherweise XSS-Angriffe auf HTTPS-Websites durch Ändern von JavaScript oder CSS, die über eine nicht sichere HTTP-Verbindung geladen wurden, vorgenommen wurden. Daher warnen heutzutage alle gängigen Browser Benutzer vor Seiten mit gemischtem Inhalt und lehnen es ab, diese automatisch zu laden. Dies macht es schwierig, eine Site ohne die
301
Weiterleitungen auf HTTP zu verwalten: Sie müssen sicherstellen, dass jede HTTP-Seite nur HTTP-Contects (CSS, JS, Bilder usw.) und jede HTTPS-Seite nur HTTPS-Inhalte lädt. Das ist mit dem gleichen Inhalt auf beiden extrem schwer zu erreichen.quelle
If your maintainer still would like to allow HTTP connections without direct 301 Moved Permanently, say for ensuring access from some really old browsers or mobile devices, HSTS is the correct choise as it only enforces HTTPS when it is clear that the browser supports it
In diesem Fall wird der Client (auch HTTPS-kompatibel) jedoch nie über die HTTPS-Version informiert, wenn er zunächst HTTP lädt.HSTS Host MUST NOT include the STS header field in HTTP responses conveyed over non-secure transport.
If an HTTP response is received over insecure transport, the UA MUST ignore any present STS header field(s).
tools.ietf.org/id/draft-ietf-websec-strict-transport-sec-14.txtHeutzutage ist TLS + HSTS ein Kennzeichen dafür, dass Ihre Website von Fachleuten verwaltet wird, denen vertraut werden kann, dass sie wissen, was sie tun. Dies ist ein sich abzeichnender Mindeststandard für Vertrauenswürdigkeit, wie Google bestätigt, dass Websites, die dies tun, ein positives Ranking erhalten.
Am anderen Ende ist maximale Kompatibilität. Es gibt immer noch ältere Kunden, insbesondere in Teilen der Welt, die nicht die USA, Europa oder China sind. Normales HTTP funktioniert immer (funktioniert aber nicht immer gut ; das ist eine andere Geschichte).
TLS + HSTS: Optimiert für Suchmaschinen-Ranking.
Plain HTTP: Optimiert für Kompatibilität
Kommt drauf an, was für dich wichtiger ist.
quelle
Es gibt einen guten Grund für einfache Nur-Lese- Websites, HTTPS nicht zu verwenden.
quelle
Um die Antwort auf diese Frage wirklich zu wissen, müssen Sie sie stellen. Wir können jedoch einige Vermutungen anstellen.
In Unternehmensumgebungen ist es üblich, dass die IT-Abteilung eine Firewall installiert, die eingehenden und ausgehenden Datenverkehr auf Malware, verdächtige CnC-ähnliche Aktivitäten, für die Arbeit ungeeignete Inhalte (z. B. Pornografie) usw. überprüft. Dies wird viel schwieriger, wenn der Datenverkehr verschlüsselt wird. Es gibt im Wesentlichen drei mögliche Antworten:
Für einen betroffenen Systemadministrator ist keine dieser Optionen besonders attraktiv. Es gibt sehr viele Bedrohungen, die ein Unternehmensnetzwerk angreifen, und es ist ihre Aufgabe, das Unternehmen vor ihnen zu schützen. Das Blockieren einer großen Anzahl von Websites erhöht jedoch den Ärger der Benutzer, und die Installation einer Stammzertifizierungsstelle kann sich etwas unangenehm anfühlen, da Datenschutz- und Sicherheitsaspekte für Benutzer berücksichtigt werden. Ich erinnere mich, dass ich einen Sysadmin-Petitions-Reddit gesehen habe (sorry, kann den Thread nicht finden), als sie HSTS zum ersten Mal einschalteten, weil er sich in genau dieser Situation befand und nicht alle Reddits blockieren wollte, nur weil er vom Unternehmen dazu gezwungen wurde um die pornografischen Subreddits zu blockieren.
Die Räder der Technologie drehen sich immer weiter und Sie werden viele finden, die argumentieren, dass diese Art von Schutz altmodisch ist und auslaufen sollte. Aber es gibt immer noch viele, die es praktizieren, und vielleicht sind es sie, mit denen sich Ihr mysteriöser Erhalter befasst.
quelle
Alles hängt von Ihren Sicherheitsanforderungen, der Wahl des Benutzers und dem Risiko einer impliziten Herabstufung ab. Das Deaktivieren der Serverseite für alte Chiffren ist weitgehend erforderlich, da Browser im Namen des Nutzererlebnisses / der Benutzerfreundlichkeit problemlos zur Client-Seite für absolut schreckliche Chiffren durchdringen. Sicherzustellen, dass nichts von Ihnen, das von einem sicheren Kanal zum Benutzer abhängt, mit einer unsicheren Methode nicht erreicht werden kann, ist natürlich auch sehr vernünftig.
Mir nicht zu erlauben, ein explizites Downgrade auf unsicheres HTTP durchzuführen, wenn ich der Ansicht bin, dass Ihr Blogbeitrag darüber, warum Sie Python mehr mögen als Ruby (ohne dass Sie das sagen, nur ein allgemeines Beispiel), den Spooks oder der Öffentlichkeit nichts ausmacht Ich bin gerade ohne guten Grund in die Quere gekommen, unter der Annahme, dass HTTPS für mich trivial sein wird.
Es gibt heutzutage eingebettete Systeme, die nicht in der Lage sind, TLS direkt zu verwenden, oder solche, die auf alten Implementierungen basieren (ich finde es schrecklich schlecht, dass dies so ist, aber als Power-User von [eingebettet einfügen] Gerät hier], kann ich manchmal nicht ändern).
Hier ist ein lustiges Experiment: Versuchen Sie, eine aktuelle Version von LibreSSL von der Upstream-OpenBSD-Site über HTTPS mit einer ausreichend alten TLS / SSL-Implementierung herunterzuladen. Das wirst du nicht können. Ich habe es neulich auf einem Gerät mit einem älteren OpenSSL-Build aus dem Jahr 2012 versucht, weil ich dieses eingebettete System auf sicherere, neue Quellen aktualisieren wollte - ich habe nicht den Luxus eines vorgefertigten Pakets. Die Fehlermeldungen beim Versuch waren nicht genau intuitiv, aber ich nehme an, dass dies daran lag, dass mein älteres OpenSSL nicht das richtige Material unterstützte.
Dies ist ein Beispiel, bei dem die Bewegung, die das einzige HTTPS bietet, die Menschen tatsächlich schädigen kann: Wenn Sie nicht den Luxus der neuesten vorgefertigten Pakete haben und das Problem selbst beheben möchten, indem Sie aus dem Quellcode erstellen, sind Sie ausgeschlossen. Zum Glück können Sie im Fall LibreSSL auf die explizite Anforderung von HTTP zurückgreifen. Dies wird Sie sicher nicht davor bewahren, dass ein Angreifer Ihren Datenverkehr bereits umschreibt, Quellpakete durch kompromittierte Versionen ersetzt und alle Prüfsummen in HTTP-Körpern überschreibt, die die Pakete beschreiben, die auf den von Ihnen besuchten Webseiten zum Herunterladen verfügbar sind häufiger Fall.
Die meisten von uns sind nicht ein einziger ungesicherter Download, der nicht im Besitz einer APT ist (Advanced Persistent Thread: Sicherheitssprache für nationale Geheimdienste und andere äußerst gut ausgestattete Cyber-Bedrohungen). Manchmal möchte ich nur
wget
eine einfache Textdokumentation oder ein kleines Programm, dessen Quelle ich schnell überprüfen kann (z. B. meine eigenen kleinen Dienstprogramme / Skripte auf GitHub), auf eine Box, die die neuesten Chiffresuiten nicht unterstützt.Persönlich würde ich Folgendes fragen: Ist Ihr Inhalt so beschaffen, dass eine Person legitimerweise entscheiden kann, ob ich in Ordnung bin, öffentlich zu sein? Besteht eine plausible Gefahr für nichttechnische Personen, die versehentlich auf HTTP für Ihre Inhalte heruntergestuft haben? Wägen Sie Ihre Sicherheitsanforderungen, die Anforderungen an den Schutz der Privatsphäre für Ihre Benutzer und das Risiko impliziter Herabstufungen gegen die Möglichkeit ab, dass Benutzer, die die Risiken verstehen, von Fall zu Fall eine fundierte Entscheidung zu treffen, ungesichert bleiben. Es ist absolut legitim zu behaupten, dass es für Ihre Website keinen guten Grund gibt, HTTPS nicht durchzusetzen - aber ich denke, es gibt immer noch gute Anwendungsfälle für einfaches HTTP.
quelle
Host:
Header. Oder surfen Sie auf modernen Websites mit einem Webbrowser, der nur das Javascript von 2001 unterstützt. Irgendwann müssen wir als Community weitermachen, was leider für einige Probleme mit sich bringt. Dann stellt sich die Frage: Ist der Mehrwert den Bruch wert?Es wird hier viel darüber diskutiert, warum tls gut ist - aber das wurde nie so gefragt wie im ursprünglichen Beitrag.
Maxthon stellte 2 Fragen:
1) Warum hat sich eine zufällige, nicht benannte Site entschieden, sowohl die http- als auch die https-Präsenz beizubehalten?
2) Hat Maxthon einen negativen Einfluss darauf, dass nur 301 Antworten auf http-Anfragen gesendet werden?
In Bezug auf die erste Frage wissen wir nicht, warum sich die Anbieter dafür entschieden haben, sowohl http- als auch https-Websites beizubehalten. Es kann viele Gründe geben. Neben den Hinweisen zu Kompatibilität, verteiltem Caching und Hinweisen zur geopolitischen Erreichbarkeit wird auch die Integration von Inhalten und die Vermeidung hässlicher Browsermeldungen zu unsicheren Inhalten berücksichtigt. Wie Alvaro betonte, ist TLS in Bezug auf die Sicherheit nur die Spitze des Eisbergs.
Die zweite Frage ist jedoch beantwortbar. Das Offenlegen eines Teils Ihrer Website über http, wenn für den sicheren Betrieb tatsächlich https erforderlich ist, bietet einen ausnutzbaren Vektor für Angriffe. Es ist jedoch sinnvoll, dies beizubehalten, um festzustellen, wo der Datenverkehr fälschlicherweise an Port 80 auf Ihrer Site geleitet wird, und um die Ursache zu beheben. Das heißt, es gibt sowohl negative Auswirkungen als auch die Möglichkeit positiver Auswirkungen. Das Nettoergebnis hängt davon ab, ob Sie Ihre Arbeit als Administrator erledigen.
Laut Sysadmin1138 wirkt sich https auf das SEO-Ranking aus. Während Google angegeben hat, dass es Rangfolgen auswirkt, legen die einzigen zuverlässigen Studien, die ich gesehen habe, nahe, dass der Unterschied gering ist. Dies wird nicht von Menschen geholfen , die es besser wissen sollten , dass behauptet, da bestplatzierten Seiten sind eher eine https - Präsenz hat, eine https Präsenz daher Rankings verbessert.
quelle
In der Vergangenheit musste ich HTTP anstelle von HTTPS verwenden, weil ich
<embed>
Seiten von einem anderen Ort haben wollte, die selbst über HTTP bereitgestellt wurden, und sie funktionieren ansonsten nicht.quelle
Dies ist kein guter Grund, da Sie schlechte / defekte / unsichere Clients haben. Wenn jedoch automatisierte Prozesse über die vorhandenen
http://
URLs auf Ressourcen zugreifen , unterstützen einige von ihnen möglicherweise nicht einmal https (z. B. busybox wget, was nicht der Fall ist) Sie haben keine interne TLS-Unterstützung und haben diese erst in jüngerer Zeit über einen untergeordneten openssl-Prozess hinzugefügt. Sie würden dann unterbrochen, wenn sie eine Weiterleitung zu einer https-URL erhalten würden, der sie nicht folgen können.Ich wäre versucht, mit dieser Möglichkeit umzugehen, indem ich die Umleitungsregel schreibe, um zu verhindern, dass unbekannte (oder bereits bekannte) User-Agent-Zeichenfolgen umgeleitet werden, und ihnen den Zugriff auf den Inhalt über http zu ermöglichen, wenn sie möchten, sodass alle tatsächlichen Browser davon profitieren können erzwungene https / hsts.
quelle
Es gibt nur wenige gute Gründe, auf einer Website HTTP anstelle von HTTPS zu verwenden. Wenn Ihre Website Transaktionen jeglicher Art abwickelt oder sensible oder persönliche Daten speichert, müssen Sie unbedingt HTTPS verwenden, wenn Sie möchten, dass diese Daten sicher sind. Der einzige vernünftige Grund, warum ich HTTPS nicht erzwingen würde, ist, wenn Ihre Website auf Caching angewiesen ist, da HTTPS nicht mit Caching funktioniert. Es lohnt sich jedoch oft, ein wenig Leistung zu opfern, um die Sicherheit Ihrer Website zu gewährleisten. Es ist auch möglich, dass Ihre Kunden HTTPS nicht unterstützen, dies sollte jedoch 2017 der Fall sein.
quelle