Was ist HSTS?

24. Mai 2024

HTTP Strict Transport Security (HSTS) ist ein Sicherheitsrichtlinienmechanismus, der zum Schutz von Websites beiträgt Man-in-the-Middle-Angriffe wie Protokoll-Downgrade-Angriffe und Cookie-Hijacking. Durch die Durchsetzung sicherer Verbindungen weist HSTS Browser an, mit einer Website nur über eine sichere HTTPS-Verbindung zu interagieren, anstatt HTTP.

Was ist hsts

Was ist HSTS?

HTTP Strict Transport Security (HSTS) ist eine Web-Sicherheitsrichtlinie, die es Websites ermöglicht, sich nur über sichere HTTPS-Verbindungen als zugänglich zu erklären. Wenn eine Website HSTS implementiert, informiert sie darüber Browsern dass sie für die Kommunikation mit der Website ausschließlich HTTPS verwenden sollten, wodurch die Möglichkeit ausgeschlossen wird, das weniger sichere HTTP-Protokoll zu verwenden. Dies wird durch die erreicht server Senden eines HSTS-Headers in seinen HTTP-Antworten, der einen Zeitraum angibt, in dem der Browser diese Richtlinie durchsetzen soll.

HSTS trägt dazu bei, verschiedene Angriffe zu verhindern, darunter Protokoll-Downgrade-Angriffe, bei denen ein Angreifer einen Browser dazu zwingt, HTTP anstelle von HTTPS zu verwenden, und Cookie-Hijacking, bei dem Cookies über ungesicherte Verbindungen abgefangen werden.

Durch die Vorgabe von HTTPS stellt HSTS sicher, dass die gesamte Kommunikation zwischen dem Browser des Benutzers und der Website erfolgt verschlüsselt und sicher, wodurch die allgemeine Sicherheitslage des verbessert wird Web-Anwendung.

Eine kurze Geschichte von HSTS

Das Konzept der HTTP Strict Transport Security (HSTS) entstand aus dem wachsenden Bedarf, die Websicherheit zu verbessern. Es wurde erstmals 2009 von Jeff Hodges, Collin Jackson und Adam Barth vorgeschlagen. Ihre Arbeit konzentrierte sich auf die Minderung der Risiken, die mit Man-in-the-Middle-Angriffen und Protokoll-Downgrade-Angriffen verbunden sind, die die Schwachstellen von HTTP ausnutzen. Der erste Entwurf wurde 2010 der Internet Engineering Task Force (IETF) vorgelegt und nach mehreren Überarbeitungen und Community-Feedback 2012 mit der Veröffentlichung von RFC 6797 zum Standard. Seitdem wurde HSTS von den wichtigsten Webbrowsern weitgehend übernommen und Websites werden zu einem entscheidenden Instrument bei der Sicherung der Webkommunikation.

Warum ist HSTS wichtig?

HSTS ist wichtig, weil es die Sicherheit der Webkommunikation erheblich erhöht. Durch die Durchsetzung der Verwendung von HTTPS stellt HSTS sicher, dass alle zwischen dem Browser eines Benutzers und einer Website ausgetauschten Daten verschlüsselt sind und so vor Abhören und Manipulation geschützt sind. Dies ist von entscheidender Bedeutung, um vertrauliche Informationen wie Anmeldeinformationen, persönliche Daten und Finanztransaktionen vor böswilligen Akteuren zu schützen.

HSTS verhindert außerdem Protokoll-Downgrade-Angriffe, bei denen Angreifer den Browser dazu verleiten, das weniger sichere HTTP zu verwenden, sowie Cookie-Hijacking, bei dem Sitzungscookies über eine ungesicherte Verbindung abgefangen werden.

Wie funktioniert HSTS?

HTTP Strict Transport Security (HSTS) ist ein Mechanismus, der sicherstellt, dass ein Webbrowser bei der Kommunikation mit einer Website immer eine sichere HTTPS-Verbindung verwendet. Es funktioniert, indem es Websites erlaubt, sich nur über HTTPS als erreichbar zu erklären, und so verschiedene Angriffe im Zusammenhang mit dem weniger sicheren HTTP-Protokoll verhindert.

Wenn ein Benutzer zum ersten Mal eine Website besucht, die HSTS unterstützt, wird die server antwortet mit einem speziellen HTTP-Header namens Strenge-Transport-Sicherheit. Dieser Header gibt a an Höchstalter Wert, der den Zeitraum (in Sekunden) angibt, für den der Browser reine HTTPS-Verbindungen für die Site erzwingen soll. Der Header könnte auch eine enthalten einschließenSubDomains Richtlinie, die darauf hinweist, dass alle Sub-Domains Der Zugriff sollte auch über HTTPS erfolgen.

Sobald der Browser diesen Header empfängt, zeichnet er die HSTS-Richtlinie auf und beginnt mit der Durchsetzung. Wenn der Benutzer während des angegebenen Zeitraums versucht, die Site oder ihre Subdomains über HTTP zu besuchen Höchstalter Nach Ablauf dieser Frist wandelt der Browser die Anfrage automatisch in HTTPS um und sorgt so für eine sichere Verbindung. Auch wenn der Benutzer manuell tippt "http://" in der Adressleiste des Browsers, der Browser ändert es in "https://" bevor Sie die Anfrage stellen.

Wenn die HSTS-Richtlinie Subdomains umfasst, erstreckt sich dieser Schutz auch auf diese, wodurch die gesamte Site zusätzlich geschützt wird Domain Struktur. Dieser Mechanismus verhindert effektiv, dass Angreifer die Verbindung abfangen oder manipulieren, indem sie HTTP-Schwachstellen ausnutzen.

HSTS-Anforderungen

Für HTTP Strict Transport Security müssen mehrere Anforderungen erfüllt sein, damit es ordnungsgemäß funktioniert und die Webkommunikation effektiv schützt. Hier sind die wichtigsten Anforderungen:

  • HTTPS-Implementierung. Die Website muss HTTPS unterstützen und über eine gültige Version verfügen SSL / TLS Zertifikat. HSTS kann nicht auf einer Site implementiert werden, die nur HTTP unterstützt, da der gesamte Zweck von HSTS darin besteht, sichere HTTPS-Verbindungen zu erzwingen.
  • HSTS-Headerdem „Vermischten Geschmack“. Seine server muss den HSTS-Header senden (Strenge-Transport-Sicherheit) in seinen HTTPS-Antworten. Dieser Header enthält die Höchstalter -Direktive, die angibt, wie lange der Browser daran denken soll, HTTPS für die Site zu erzwingen. Ein Beispiel für einen HSTS-Header ist:
Strict-Transport-Security: max-age=31536000; includeSubDomains
  • Richtlinie zur Höchstaltersgrenzedem „Vermischten Geschmack“. Seine Höchstalter Die Direktive ist obligatorisch und definiert die Dauer in Sekunden, für die der Browser HTTPS für die Site erzwingen soll. Zum Beispiel, Höchstalter = 31536000 legt die Police für ein Jahr fest.
  • IncludeSubDomains-Direktive. Diese optionale Anweisung erweitert die HSTS-Richtlinie auf alle Subdomains der Site. Sofern enthalten, müssen alle Subdomains auch HTTPS unterstützen.
  • Vorladen (optional, aber empfohlen). Beim Vorladen wird die Website an die HSTS-Vorladeliste gesendet, eine Liste, die von Browser-Anbietern verwaltet wird. Sobald eine Website vorab geladen ist, erzwingen Browser beim ersten Besuch HTTPS für sie und ihre Subdomains, noch bevor sie den HSTS-Header erhalten. Um sich für das Vorladen zu qualifizieren, muss die Site einen HSTS-Header bereitstellen Höchstalter von mindestens einem Jahr (31536000), umfassen die einschließenSubDomains Richtlinie und umfassen die Vorspannung Direktive im Header.
  • Kein gemischter Inhalt. Die Website muss gemischte Inhalte vermeiden, die auftreten, wenn HTTPS-Seiten Ressourcen (z. B. Bilder, Skripte oder Stylesheets) über HTTP laden. Gemischte Inhalte untergraben die Sicherheit von HTTPS und können dazu führen, dass Browser solche Ressourcen blockieren oder Sicherheitswarnungen anzeigen.
  • Weiterleitungen. Alle HTTP-Anfragen an die Site sollten vor der Anwendung von HSTS auf HTTPS umgeleitet werden. Dadurch wird sichergestellt, dass Benutzer, die die Website zunächst über HTTP besuchen, zur sicheren Version weitergeleitet werden.

HSTS-Einschränkungen

HTTP Strict Transport Security (HSTS) ist ein leistungsstarker Sicherheitsmechanismus, der einige Einschränkungen aufweist, darunter:

  • Anfänglich unsichere Verbindung. Die allererste Verbindung zu einer Website ist nicht durch HSTS geschützt und somit anfällig für Man-in-the-Middle-Angriffe. Bis der Browser den HSTS-Header empfängt, kann die Verbindung über HTTP erfolgen.
  • Fehlkonfigurationsrisiken. Falsche Konfiguration von HSTS, z. B. Einstellung einer sehr langen Zeitspanne Höchstalter für eine Site, die nicht für die vollständige HTTPS-Durchsetzung bereit ist, kann zu Problemen führen. Weitere Beispiele für Fehlkonfigurationen sind die nicht vollständige Implementierung von HTTPS oder Probleme mit gemischten Inhalten. Wenn dies auftritt, kommt es bei Benutzern zu eingeschränkter Funktionalität oder Problemen mit der Zugänglichkeit.
  • Subdomain-Abdeckung. Wenn der einschließenSubDomains Wird die Direktive nicht verwendet, sind Subdomains nicht durch die HSTS-Richtlinie geschützt. Dies kann sie anfällig für Angriffe machen und die Sicherheitsvorteile von HSTS untergraben.
  • Zugänglichkeit der Website. Wenn das SSL/TLS-Zertifikat einer Site abläuft oder falsch konfiguriert ist, können Benutzer nicht auf die Site zugreifen, bis das Problem behoben ist, da HSTS nur HTTPS-Verbindungen vorschreibt.
  • Cache-Probleme. Sobald ein Browser einen HSTS-Header empfängt, erzwingt er HTTPS für die Site, bis der Höchstalter Frist läuft ab. Wenn eine Site HTTPS nicht mehr verwenden möchte oder ihre Konfiguration ändert, sind Benutzer aufgrund zwischengespeicherter HSTS-Richtlinien möglicherweise dennoch gezwungen, HTTPS zu verwenden.
  • Nicht unterstützte Browser. Nicht alle Browser unterstützen HSTS. Benutzer mit älteren oder weniger verbreiteten Browsern, die den HSTS-Header nicht erkennen, profitieren nicht von seinen Sicherheitsmaßnahmen.
  • Nachteile beim Vorladen. Während das Vorladen die Sicherheit erhöht, ist es eine Verpflichtung. Sobald eine Site in die HSTS-Preload-Liste aufgenommen wurde, kann sie nicht einfach entfernt werden, und alle Probleme mit HTTPS auf der Site führen zu erheblichen Zugriffsproblemen für Benutzer.
  • Auswirkung auf die Leistung. Das Erzwingen von HTTPS führt aufgrund der Verschlüsselung zu einem leichten Leistungsaufwand Entschlüsselung Prozesse. Obwohl es im Allgemeinen minimal ist, kann es bei stark frequentierten Websites oder Benutzern mit langsameren Verbindungen spürbar sein.

HSTS-Browserkompatibilität

Die folgende Tabelle vergleicht die HSTS-Kompatibilität mit den heute am häufigsten verwendeten Browsern.

BrowserUnterstützte Versionen
Google Chrome4 und höher
Mozilla Firefox4 und höher
Microsoft Edge12 und höher
Apple Safari7 und höher
Opera12 und höher
Internet ExplorerKeine Unterstützung

Best Practices für die HSTS-Bereitstellung

Für die effektive Bereitstellung von HTTP Strict Transport Security (HSTS) müssen Best Practices befolgt werden, um eine robuste Sicherheit zu gewährleisten und potenzielle Probleme zu minimieren. Hier sind einige Best Practices für die Bereitstellung von HSTS:

  • Stellen Sie die vollständige HTTPS-Unterstützung sicher. Stellen Sie vor der Aktivierung von HSTS sicher, dass Ihre gesamte Website HTTPS unterstützt, einschließlich aller Subdomains und Ressourcen. Gemischte Inhalte können Probleme verursachen, wenn HSTS erzwungen wird.
  • SSL/TLS richtig konfigurieren. Verwenden Sie starke SSL/TLS-Konfigurationen, um Schwachstellen zu vermeiden. Stellen Sie sicher, dass Ihre SSL/TLS-Zertifikate gültig, aktuell und korrekt installiert sind.
  • Legen Sie das entsprechende Höchstalter fest. Beginnen Sie mit einem kurzen Höchstalter Wert (z. B. einen Tag), um die Implementierung zu testen und sicherzustellen, dass alles ordnungsgemäß funktioniert. Erhöhen Sie schrittweise die Höchstalter auf eine längere Dauer (z. B. ein Jahr), sobald Sie mit der Einrichtung vertraut sind.
  • Subdomains einbeziehen. Benutze die einschließenSubDomains Richtlinie, um sicherzustellen, dass alle Subdomains von der HSTS-Richtlinie abgedeckt werden und so umfassenden Schutz für Ihre gesamte Domain bieten.
  • Vorspannung verwenden. Senden Sie Ihre Website an die HSTS-Preload-Liste, um sicherzustellen, dass Browser HSTS ab dem ersten Besuch erzwingen. Dies erfordert die Einstellung a Höchstalter von mindestens einem Jahr, einschließlich der einschließenSubDomains Direktive und Hinzufügen der Vorspannung Direktive in Ihren HSTS-Header einfügen.
  • HTTP auf HTTPS umleiten. Konfiguration server-seitige Weiterleitungen von HTTP zu HTTPS. Dadurch wird sichergestellt, dass Benutzer, die zunächst über HTTP auf Ihre Website zugreifen, auf die sichere Version umgeleitet werden.
  • Überwachen und testen. Überwachen Sie Ihre Website regelmäßig auf SSL/TLS-Probleme, gemischte Inhalte und andere potenzielle Probleme. Verwenden Sie Tools wie den SSL-Test von SSL Labs, um Ihre Konfiguration zu überprüfen und sicherzustellen, dass sie den Best Practices entspricht.
  • Sicherheitsrichtlinien aktualisieren. Halten Sie Ihre Sicherheitsrichtlinien und -konfigurationen, einschließlich HSTS, regelmäßig mit den neuesten Empfehlungen und Praktiken auf dem neuesten Stand.
  • Informieren Sie Benutzer und Stakeholder. Kommunizieren Sie die Änderungen an Ihre Benutzer und Stakeholder und erläutern Sie die Vorteile und möglichen Auswirkungen der HSTS-Implementierung. Dies hilft, Erwartungen zu verwalten und stellt sicher, dass etwaige Probleme umgehend gemeldet und behoben werden.
  • Bereiten Sie sich auf Notfälle vor. Halten Sie einen Plan für den Umgang mit Notfällen bereit, z. B. beim Ablauf von Zertifikaten oder bei Konfigurationsfehlern. Bei Bedarf sollten Sie in der Lage sein, Ihre Website aus der HSTS-Preload-Liste zu entfernen, obwohl dieser Vorgang aufgrund der Aktualisierungszyklen des Browsers einige Zeit in Anspruch nehmen kann.

Anastazija
Spasojević
Anastazija ist eine erfahrene Content-Autorin mit Wissen und Leidenschaft für cloud Computer, Informationstechnologie und Online-Sicherheit. Bei phoenixNAP, konzentriert sie sich auf die Beantwortung brennender Fragen zur Gewährleistung der Datenrobustheit und -sicherheit für alle Teilnehmer der digitalen Landschaft.