HTTP Strict-Transport-Security

Veröffentlicht am

Die IETF hat Ende 2012 mit HTTP-Strict-Transport-Security (RFC 6797) einen neuen Internetstandard verabschiedet, der Useragents mitteilen soll, dass die Kommunikation mit einer Webseite nur über verschlüsselte und zertifizierte TLS-Verbindungen abgewickelt werden soll. Damit soll verhindert werden, dass der Benutzer beim ersten Verbindungsaufbau zur unverschlüsselten Version von einem Man-In-The-Middle attackiert werden kann, der die Weiterleitung zur verschlüsselten HTTPS-Version verhindert und somit die Verbindung manipulieren kann.

Der Benutzer tippt nämlich meistens nur den Hostnamen ohne Protokoll in die Adressleiste seines Browsers und ist somit über die erste unverschlüsselte Verbindung angreifbar. Wenn ein Webseitenbetreiber den Useragents mitteilen möchte, dass diese nur noch verschlüsselte und beglaubigte Verbindungen zur Webseite aufbauen sollen, dann setzt dieser im HTTP Response-Header der verschlüsselten Version den HSTS-Header mit einer Ablaufzeit, der dann vom Useragent zwischengespeichert wird.

Wenn der Benutzer dann das nächste mal den Hostnamen ohne Protokoll in die Adressleiste seines Browser eingibt (oder einem Link auf einer Webseite folgt der auf die unverschlüsselte Version zeigt) dann baut der Useragent sofort eine verschlüsselte Verbindung zur Webseite auf.

HSTS-Header im Apache setzen

Um den HSTS-Header in der Apache-Konfiguration eines VirtualHosts setzen zu können wird das aktivierte Modul mod_headers benötigt. Danach kann man in Apache-Konfigurationen folgendermaßen den HSTS-Header setzen:

Header always set Strict-Transport-Security "max-age=15552000"
Bild meiner Person

Über mich

Hi. Ich bin Thomas. Hier veröffentliche ich in unregelmäßgen Abständen mehr oder wenigerinteressante Beiträge über Dies und Jenes, hauptsächlich über Computer und IT. Außerdem mag ich die Linux-Kommandozeile, vor allem wenn ich mit (m)einer mechanischen Tastatur darauf herumhacken kann. 😀