it-swarm-eu.dev

HSTS zusätzliche Sicherheit über HTTPS

Ist HSTS gut zu verwenden, selbst wenn meine Server für die Verwendung von HTTPS konfiguriert sind (wenn HTTP verwendet wird, wird es durch die Umschreiberegeln in Apache in HTTPS umgewandelt)?

Sollte HSTS auch für Ressourcen wie CSS und Bilder verwendet werden oder nur, wenn der Inhaltstyp Text/HTML ist?

28
Novice User

Ja, wenn Sie SSL-weit verbreitet verwenden, empfehle ich auf jeden Fall, HSTS zu aktivieren.

HSTS ist eine wichtige Sicherheitsmaßnahme, um Man-in-the-Middle-Angriffe abzuwehren, bei denen der Benutzer auf http umgestellt und anschließend angegriffen wird. Zum Beispiel ist sslstrip ein bekanntes Tool, um einen solchen Angriff zu starten. Weitere Informationen zu dieser Art von Angriff finden Sie in den folgenden Fragen: Wie kann man einen sslstrip-Angriff verhindern? , Optionen bei der Verteidigung gegen SSLstrip? und diese Antwort .

HSTS teilt dem Browser mit: Verwenden Sie auf dieser Site niemals HTTP. Greifen Sie nur über HTTPS darauf zu. Um HSTS zu aktivieren, müssen Sie sicherstellen, dass Ihre Site mit HTTPS und nur mit HTTPS funktioniert. Dies beinhaltet alles: HTML, CSS, Javascript, alles. Stellen Sie sicher, dass das gesamte CSS und Javascript auf Ihrer Site über HTTPS verfügbar ist. Außerdem empfehle ich Ihnen, Ihre Seiten so zu konvertieren, dass sie über HTTPS auf alles verweisen (ich empfehle, dass Ihre Seiten das Laden anderer Javascript- oder CSS-Ressourcen über HTTP vermeiden, da dies bei einigen Browsern zu Warnungen oder Sicherheitsproblemen führen kann).

Nehmen wir zum Beispiel an, Ihre Site ist www.example.com und du hast eine Seite https://www.example.com/buy.html mit Javascript von Ihrer Site. Sie müssen sicherstellen, dass Ihre Javascript-Datei unter einer HTTPS-URL verfügbar ist (z. B. https://www.example.com/library.js). Ich empfehle, dass Sie es über eine HTTPS-URL laden (z. B. <SCRIPT SRC="https://www.example.com/library.js">).

P.S. Ich empfehle außerdem, dass Sie bei allen von Ihnen verwendeten Cookies das Flag secure setzen.

15
D.W.

Ja, strenge Transportsicherheit bietet einen echten Vorteil.

HSTS weist den Browser an, nur über HTTPS mit dem Server zu kommunizieren. Wenn der Browser den HSTS-Header zum ersten Mal vom Server sieht, merkt er sich diesen. Wenn der Benutzer die Site erneut besucht, erzwingt der Browser, dass die gesamte Kommunikation über HTTPS erfolgt. Dies funktioniert so lange, wie der Angreifer den Header beim ersten Besuch der Site nicht entfernt.

Dies verhindert SSL-Stripping-Angriffe, eine Form des Man-in-the-Middle-Angriffs, bei dem dem Benutzer anstelle der SSL-Ressource eine Klartextressource zur Verfügung steht. Normalerweise wird der Benutzer nicht benachrichtigt, und die meisten "durchschnittlichen" Benutzer würden nicht erkennen, dass das SSL-Vorhängeschloss oder die grün/blaue Markierung nicht in der URL-Leiste angezeigt wird. Im Fall von HSTS warnt der Browser den Benutzer sofort, dass der Browser versucht, seine eigene Sicherheitsrichtlinie zu verletzen.

  1. Der Client stellt eine Klartextverbindung zum Server her.
  2. Der Server antwortet mit einer Umleitung auf die HTTPS-Adresse, wobei der HSTS-Header festgelegt ist.
  3. Client und Server kommunizieren über SSL.
  4. Sitzung endet.
  5. Der Client kommt später zurück. Der Browser hat das HSTS-Flag für diese Domain gespeichert.
  6. Der Angreifer versucht, einen SSL-Strip-Angriff auszuführen, und stellt dem Client Klartext zur Verfügung.
  7. Der Client erkennt, dass die HSTS-Richtlinie dies nicht zulässt, und benachrichtigt den Benutzer.

Aus Sicherheitsgründen schlagen einige vor, HSTS als Option in DNSSEC zu implementieren, damit der HSTS-Header als Teil der DNS-Suche festgelegt wird. Da DNSSEC durch vorverteilte Berechtigungszertifikate eine hohe Sicherheit bietet, würde es für einen Angreifer äußerst schwierig sein, den HSTS-Mechanismus zu umgehen, selbst wenn er beim ersten Besuch der Site aktiv versucht, einen SSL-Strip durchzuführen.

22
Polynomial