Es gab viele Diskussionen, während ich nachforschte, wie ich meine gesamte Site https machen kann. Die meisten Antworten lauteten, http auf https (.htaccess-Datei) umzuleiten, was nicht gut ist, da es nicht gut ist, denselben Job zweimal auszuführen (zwei Anfragen). Außerdem übernimmt der "Mann in der Mitte" zuerst http, und ich möchte, dass meine Website direkt auf https geschaltet wird. Gibt es eine andere Möglichkeit, Ihre gesamte Site mit https zu versehen, und wie geht das? Wenn der Benutzer beispielsweise example.com eingibt, wechselt diese example.com automatisch zu https, ohne vorher von http oder etwas anderem umzuleiten.
14
Antworten:
Nein. Sie können den Browser des Besuchers nicht auf magische Weise dazu bringen, das richtige Protokoll auszuwählen. Eine Umleitung ist der Weg, um es zu tun.
quelle
Mit http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security kann Ihr Server angeben, dass auf die Domain nur über HTTPS zugegriffen werden soll. Dies gilt nur für nachfolgende Anforderungen, sodass ein anfängliches HTTP-Laden erfolgt. Zukünftige Anforderungen würden jedoch HTTPS laden, selbst wenn jemand HTTP explizit eingibt.
IE unterstützt es noch nicht, aber alle anderen Majors tun es.
quelle
Wie andere gesagt haben, können Sie Benutzer nicht zwingen, das richtige Protokoll zu wählen. Was sollten Sie tun, wenn der Benutzer versucht, HTTP zu verwenden? Eine Umleitung ist ebenfalls unzureichend, da ein Angreifer, der zwischen Ihnen und dem Client sitzt, die Umleitung abfangen kann, sodass der Client sie nie sieht. Der Client sendet weiterhin normales HTTP und der Angreifer entfernt die SSL-Schicht vom Server ( SSL-Stripping-Angriff ).
Der einzig sichere Weg, dies zu verhindern, besteht darin , HTTP überhaupt nicht zu bedienen . Antworten Sie nicht auf Port 80, es sei denn, Sie stellen eine Nur-Text-Seite bereit, die den Benutzer anweist, es erneut mit HTTPS zu versuchen (ohne jedoch einen Link bereitzustellen, den der Angreifer manipulieren könnte). Dadurch wird der Benutzer gezwungen,
https://
in seinen Browser zu tippen , um die Verbindung mit SSL herzustellen und den MITM-Angriff zu verhindern.quelle
https://
. Stattdessen werden sie "huh, die Seite ist kaputt" sagen und gehen. Das beste Szenario könnte darin bestehen,www.example.com
sowohl auf HTTP als auch auf HTTPS zu reagieren, die App selbst jedoch auf so etwas wieadmin.example.com
nur mit HTTPS auszuführen.Nicht ganz richtig: Verwendung von DNS / Hostnamen oder anderen Methoden zum Auflösen eines bestimmten IP-Ports
Es gibt einen Weg, aber die meisten Browser implementieren rfc2782 nicht.
quelle
ceejayoz hat die beste Antwort, um den hier speziell erwähnten Angriff zu verhindern, aber ich möchte auch darauf hinweisen, was viele Leute hier vermissen, im Grunde genommen hat HTTP den anderen Teil bereits herausgefunden. Sie möchten eine permanente 301-Umleitung durchführen. Dadurch wird der Client angewiesen, weitere Anforderungen an die neue Adresse zu richten. Also ja, wenn jemand die falsche URL eingibt, wird er 2 Anfragen stellen, ABER in Zukunft sollte ein guter Client Anfragen an diese URL erkennen und stattdessen die richtige Anfrage stellen, um weitere verschwendete Anfragen zu vermeiden. Das Problem ist, dass dies nur für genau diese URL gilt. HSTS verbessert dieses Schema, indem es auch sagt, dass für die nächsten n Sekunden auch keine nicht sicheren Verbindungen von dieser Domäne zugelassen werden.
Benutzer sollten keine sensiblen Sites an unsicheren Standorten besuchen. Sie sollten sich insbesondere nicht an unsicheren Orten für sie anmelden. Hierbei handelt es sich um grundlegende Prinzipien der Benutzersicherheit, die wie folgt vermittelt werden sollten: Öffnen Sie keine Anhänge aus nicht vertrauenswürdigen Quellen. Welches sind wirklich die beste Antwort, um MiM-Angriffe für Websites zu verhindern, die noch nie besucht wurden.
Nebenbei bemerkt, einige Browser verbessern dies, indem sie auch sagen, dass bestimmte bekannte Websites immer HSTS verwenden. Leider können Sie sich nicht einfach dieser Liste hinzufügen.
Weitere Informationen: http://coderrr.wordpress.com/2010/12/27/canonical-redirect-pitfalls-with-http-strict-transport-security-and-some-solutions/
http://dev.chromium.org/sts
quelle