MulticheckMulticheck Domainsuche

HSTS

Definitionen und Erklärungen zu HSTS

HSTS steht für HTTP Strict Transport Security und ist ein Sicherheitsmechanismus, mit dem Webserver modernen Browsern vorschreiben können, ausschließlich verschlüsselte HTTPS-Verbindungen zu akzeptieren. Dadurch wird verhindert, dass Nutzer versehentlich über unsichere HTTP-Verbindungen mit einer Webseite kommunizieren – selbst wenn sie manuell „http://“ in die Adresszeile eingeben.

Wie funktioniert HSTS?

Der Webserver sendet einen speziellen HTTP-Header namens Strict-Transport-Security mit einer Gültigkeitsdauer (in Sekunden) an den Browser. Sobald dieser Header einmal empfangen wurde, merkt sich der Browser, dass er künftig nur noch HTTPS-Verbindungen zu dieser Domain zulassen darf – auch bei direkten HTTP-Aufrufen.

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Die Bestandteile:

  • max-age: Gibt die Dauer in Sekunden an, wie lange der Browser die HTTPS-Pflicht erzwingen soll.
  • includeSubDomains: Bezieht alle Subdomains mit ein (z. B. mail.domain.de).
  • preload: Optional. Die Domain kann in eine von Browsern genutzte HSTS-Preload-Liste aufgenommen werden.

Warum ist HSTS wichtig?

  • Verhinderung von Downgrade-Angriffen: Angreifer könnten versuchen, Verbindungen von HTTPS auf unsicheres HTTP umzuleiten (z. B. durch Man-in-the-Middle-Angriffe).
  • Erzwingung sicherer Kommunikation: HSTS stellt sicher, dass die Verbindung zur Webseite stets verschlüsselt erfolgt.
  • Besseres Nutzervertrauen: Webseitenbetreiber demonstrieren Sicherheitsbewusstsein.
  • DSGVO- und Compliance-Schutz: HSTS kann helfen, datenschutzkonforme Übertragungen abzusichern.

Aktivierung von HSTS – Beispiel (Apache)

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

Für Nginx:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

HSTS Preload

Domains können optional bei hstspreload.org für die HSTS-Preload-List eingereicht werden. In dieser Liste enthaltene Domains werden von Browsern von vornherein nur über HTTPS aufgerufen – sogar beim ersten Besuch.

Voraussetzung:

  • HTTPS dauerhaft aktiviert
  • Header muss includeSubDomains und preload enthalten
  • max-age mindestens 31536000 (ein Jahr)

Nachteile & Vorsicht bei der Nutzung

  • Fehlkonfiguration kann aussperren: Ist HTTPS falsch eingerichtet und HSTS aktiv, können Besucher die Seite nicht mehr aufrufen.
  • Keine Rücknahme möglich (bei Preload): Einmal in der HSTS-Preload-Liste, dauert es Monate, bis ein Eintrag entfernt wird.
  • Subdomains müssen mitbedacht werden: Mit includeSubDomains müssen auch mail., blog. usw. HTTPS-fähig sein.

Beispiel für eine HSTS-Konfiguration in Apache (.htaccess)

<IfModule mod_headers.c>
  Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</IfModule>

Beispiel für eine HSTS-Konfiguration in Nginx

server {
    listen 443 ssl;
    server_name deine-domain.de;

    ssl_certificate     /etc/ssl/certs/deine-domain.pem;
    ssl_certificate_key /etc/ssl/private/deine-domain.key;

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

    # weitere Einstellungen …
}

Fazit

HSTS ist ein wirkungsvolles Mittel, um HTTPS konsequent durchzusetzen und die Sicherheit von Domains und Webanwendungen deutlich zu erhöhen. Richtig konfiguriert verhindert es effektiv Downgrade-Angriffe und erhöht das Vertrauen der Nutzer. Bei Nutzung des Preload-Modus ist jedoch sorgfältige Planung notwendig, da eine Rücknahme aufwendig ist.

Alle Angaben ohne Gewähr.

Preise inkl. MwSt. Angebote sind zeitlich begrenzt verfügbar und teilweise an Mindestvertragslaufzeiten gebunden.