HSTS Capturing

wall < "HSTS – HTTP Strict Transport Security"

Broadcast message from spillerm@unixe.de (pts/1) (Sa Aug 08 12:12:32 2015):
4
Diesen Beitrag schrieb ich vor 3 Jahren. Behalte das beim Lesen bitte im Hinterkopf.

No HSTS for www.spiller.meRFC 6797 beschreibt den Internetstandard HTTP Strict Transport Security (HSTS): hier schickt dein Webserver einem Aufruf den Header Strict-Transport-Security zusammen mit (unter anderem) einer Zeitangabe. Vor Ablauf dieser Zeit erkennt der Empfänger — also beispielsweise der Browser deines Lesers — deine Webseite bei einem erneuten Besuch wieder und erzwingt die Verschlüsselung für alle im Zertifikat enthaltenen Subdomains.

HSTS und nginx

Die benötigte Einstellung kann wiederum in /etc/nginx/mods-enabled/ssl.conf vorgenommen werden; ich setze hier eine Zeitspanne von zwei Jahren (in Sekunden) fest:

## /etc/nginx/mods-enabled/ssl.conf
...
## SSL HSTS
add_header Strict-Transport-Security 'max-age=63072000; includeSubDomains; preload';
...

HSTS und apache2

Auch für apache2 kannst du die Einstellungen direkt in der SSL-Konfiguration vornehmen; so wird der Header automatisch gesetzt, wann immer SSL für eine Website aktiviert wird.

## /etc/apache2/mods-enabled/ssl.conf
...
## SSL HSTS
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
...

HSTS testen

HSTS successfull for www.spiller.meAus Chrome heraus kannst du testen, ob die neue Einstellung nach einem Restart des Webservers das gewünschte Verhalten nach sich zieht; alternativ nutzt du einen einfachen curl-Aufruf oder aber wiederum den Service der SSL Labs. Auch kannst du deine Webseite eintragen lassen, so dass fest hinterlegt wird, dass Inhalte deiner Webseite ausschliesslich über HTTPS übertragen werden — dann solltest du dir aber sicher sein, dass du dein Setup für lange Zeit genau so beibehalten wirst, denn die Eintragung in die Liste kann sich über Monate hinziehen, und für eine Austragung gibt es meines Wissens nach keinen gesicherten Workflow.
HSTS enabled - SSL Labs

curl -I https://www.spiller.me
HTTP/1.1 200 OK
Server: nginx/1.8.0
...
Strict-Transport-Security: max-age=63072000
...
4
  1. Geheimrat

    ich mag ja deine blogeinträge sehr :)

Keine weitere Reaktionen mehr möglich.