Nach einem Update meines ownCloud-Servers, bin ich vom selbigen darauf hingewiesen worden, dass ich doch bitte HTTP Strict Transport Security (HSTS) auf meinem Webserver aktivieren und mit den geeigneten Parametern konfigurieren soll. Was HSTS ist und wie man es in Lighttpd konfiguriert, möchte ich in dem heutigen Beitrag kurz anreißen.
Definition
Mit HSTS können einerseits (HTTP-)Server vorgeben, dass man die angebotenen Dienste ausschließlich über sichere, etwa per TLS verschlüsselte Verbindungen erreicht. Andererseits zwingt HSTS auch Anwendungsprogramme (User Agents) dazu, die Kommunikation mit Websites nur über verschlüsselte Verbindungen abzuwickeln.http://www.heise.de/netze/meldung/HTTP-Strict-Transport-Security-als-Internet-Standard-1754184.html
Der Vorteil einer Seite mit HSTS ist es, dass ein initialer Seitenaufruf über HTTP sofort unterbunden und stattdessen nur der verschlüsselte Kanal genutzt wird. Potenzielle Man-in-the-Middle-Angriffe können somit weiter eingeschränkt werden. Ein signifikanter Nachteil entsteht jedoch im Bereich des Datenschutzes, wie die folgende Quelle gut erklärt.
Damit das HSTS-Verfahren funktioniert […], muss sich der Browser des Benutzers merken, auf welchen Webseiten HSTS genutzt werden soll. Dafür werden die entsprechenden Einträge, ähnlich zu Cookies, in einer Browserdatenbank gespeichert. Anders als gewöhnliche Cookies werden die HSTS-Einträge allerdings aufgrund der eigentlichen Sicherheitsfunktion auch im privaten Modus des Browsers […] aktiviert und können von den besuchten Webseiten überprüft werden.https://www.datenschutz-notizen.de/hsts-sicherheitsfunktion-erzeugt-datenschutzprobleme-3010259/
Nichtsdestotrotz aktiviere ich die Funktion, da die potenziellen Vorteile der Sicherheit für mich die Nachteile im Datenschutz überwiegen.
Lighttpd-Konfiguration
Lighttpd ist relativ einfach zu konfigurieren. Eine Anpassung an der /etc/lighttpd/lighttpd.conf-Datei genügt, um die Funktion für den Webserver zu aktivieren. Eine detaillierte Anleitung für unterschiedliche Webserver ist auf raymii.org zu finden.
server.modules += ( "mod_setenv" )
$HTTP["scheme"] == "https" {
setenv.add-response-header = ( "Strict-Transport-Security" => "max-age=63072000; includeSubdomains; preload")
}