HTTP Strict Transport Layer Security (HSTS)

hsts tls ssl apache webserver

Wo ich schonmal dabei war an den SSL-Zertifikaten zu schrauben habe ich gleich noch HSTS angeknipst. HSTS zwingt den Browser, für eine gewisse Zeit, nur noch HTTPS-Verbindungen zu einem Server/einer Domain herzustellen und verhindert so bestimmte Formen von Man-in-the-middle-Angriffen.

Die Aktivierung im Apache geht sehr einfach. Ich gehe davon aus, dass das SSL-Setup bereits steht und funktioniert.

Zunächst muss mod_headers aktiviert werden, zusätzlich aktivieren wir noch mod_rewrite:

a2enmod headers
a2enmod rewrite

Außerdem sollte man, in der VirtualHost-Konfiguration, dafür sorgen dass der Server alle HTTP-Requests auf HTTPS umleitet:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

Anschließend fügt man die folgende Zeile in die Apache-Konfiguration ein, entweder im VirtualHost oder global:

Header always set Strict-Transport-Security “max-age=31536000; includeSubDomains”

Nach einem Neustart des Apache-Servers ist man auch schon fertig. Ob alles geklappt hat lässt sich z.B. mittels https://www.ssllabs.com/ssltest/ überprüfen.

Wer einen schnellen Check bevorzugt kann natürlich auch einfach curl verwenden:

curl -I https://www.example.org

HTTP/1.1 200 OK
Date: Wed, 30 Dec 2015 22:33:17 GMT
Server: Apache
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
X-XSS-Protection: 1; mode=block
X-Frame-Options: sameorigin
Strict-Transport-Security: max-age=31536000;includeSubDomains
X-content-age: 18
X-age-hash: 7853f976c9
Vary: Accept-Encoding
Content-Type: text/html; charset=UTF-8

Kommentare

Kommentare unterstützt von Disqus.

Nächster Beitrag Vorheriger Beitrag