HSTS in nginx aktivieren

Eine zunehmende Anzahl an Webseiten (so wie auch dieser Blog hier) ist mittlerweile erfreulicherweise nur
noch per SSL geschützer Verbindung zu erreichen („https://“).

Durch einige Magic ist es jedoch trotzdem möglich, einem unachtsamen Benutzer ungewollten Code unterzuschieben.
Diesem Problem nimmt sich der RFC 6797 an, welcher eine Funktion namens „HTTP Strict Transport Security“ oder
kurz „HSTS“ beschreibt. In aller Kürze erklärt sorgt dieser Header dafür, das der Browser weiß, das eine Webseite
ausschließlich per HTTPS besucht werden möchte. Wer mehr über HSTS erfahren möchte sollte sich einige der Links
am Ende des Artikels anschauen.

Wie aktiviere ich nun HSTS für meine SSL gesichterte Webseite wenn ich nginx als Webserver einsetze? Sehr einfach:
Zu der bestehenden Konfiguration wird einfach in den Server Abschnitt diese Zeile eingefügt:

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

Nach dem reload von nginx sollte dieser Header bereits ausgeliefert werden, ganz einfach zu testen mittels curl:

# curl -Ik https://blog.devh.de
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 05 Feb 2014 10:12:50 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Pingback: https://blog.devh.de/xmlrpc.php
Strict-Transport-Security: max-age=31536000; includeSubDomains

Das wärs also schon, damit haben wir die (Internet-)Welt mal wieder ein kleines wenig sicherer gemacht.
Links nach dem Klick.

http://www.heise.de/netze/meldung/HTTP-Strict-Transport-Security-als-Internet-Standard-1754184.html
http://wiki.nginx.org/HttpHeadersModule#add_header
http://www.heinlein-support.de/blog/security/hsts-header-strict-transport-security-fuer-webserver-einrichten/

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.