Webserver SSL Optimierung: HSTS und HPKP

Ich möchte euch hier erklären wie ihr eure Apache, NGINX und Lighttpd Webserver einer SSL Härtung unterziehen könnt. In den folgenden Schritten aktivieren wir HSTS und HPKP in den einzelnen Konfigurationen.

Kurz erklärt:

  • HSTS oder auch „HTTP Strict Transport Security“ soll die Verbindung vor einer Downgrade-Attacke schützen, mehr dazu könnt ihr hier nachlesen.
  • HPKP oder auch „HTTP Public Key Pinning“ soll vor Man-in-the-Middle-Angriffen schützen, mehr dazu ist hier nachzulesen.

Punkt 1: Apache Webserver

Wichtig: Für die folgenden Schritte wird das Apache Modul headers_module benötigt.

HSTS aktivieren:

Füge diesen Code in deine vHost-Config im Abschnitt <VirtualHost> ein.

Starte den Dienst neu.

Das Rating der SSL Labs Webseite sollte sich mit dieser Zeile Code von einem A Rating auf ein A+ Rating verbessern und es sollte Strict Transport Security (HSTS) :  YES zurückgegeben werden.

HPKP aktivieren:

Zuerst berechnen wir die sha256 Prüfsumme für den Public Key aus unserem signierten Zertifikat.

Weiter benötigen wir einen Backup Public Key. Damit wir kein neues Zertifikat erstellen wollen, nehmen wir das CSR File und erstellen unseren sha256 Hash. Zur not kann aus dem CSR ein neues Zertifikat angefordert werden. Darum bietet sich diese Methode an.

Die Fehlermeldungen sollen uns nicht weiter stören, wichtig ist wieder die letzte Zeile.

Jetzt pflegen wir beide Public Keys in die vHost-Config im Abschnitt <VirtualHost> ein. Zuerst den Haupt-Key, dann den Backup-Key.

Starte den Dienst neu.

Prüfe auf der SSL Labs Webseite ob Public Key Pinning (HPKP) : YES zurückgegeben wird.

CipherSuite anpassen:

In den SSL Einstellung /etc/apache2/mods-enabled/ssl.conf setzen wir noch folgende Ciphers.

Starte den Dienst neu.

Prüfe auf der SSL Labs Webseite ob sich die Cipher Strength erhöht hat.

Punkt 2: NGINX Webserver

HSTS aktivieren:

Füge diesen Code in deine vHost-Config im Abschnitt server { ein.

Starte den Dienst neu.

Das Rating der SSL Labs Webseite sollte sich mit dieser Zeile Code von einem A Rating auf ein A+ Rating verbessern und es sollte Strict Transport Security (HSTS) :  YES zurückgegeben werden.

HPKP aktivieren:

Zuerst berechnen wir die sha256 Prüfsumme für den Public Key aus unserem signierten Zertifikat.

Weiter benötigen wir einen Backup Public Key. Damit wir kein neues Zertifikat erstellen wollen, nehmen wir das CSR File und erstellen unseren sha256 Hash. Zur not kann aus dem CSR ein neues Zertifikat angefordert werden. Darum bietet sich diese Methode an.

Die Fehlermeldungen sollen uns nicht weiter stören, wichtig ist wieder die letzte Zeile.

Jetzt pflegen wir beide Public Keys in die vHost-Config im Abschnitt server { ein. Zuerst den Haupt-Key, dann den Backup-Key.

Starte den Dienst neu.

Prüfe auf der SSL Labs Webseite ob Public Key Pinning (HPKP) : YES zurückgegeben wird.

CipherSuite anpassen:

In den SSL Einstellung /etc/nginx/sites-enabled/domain.de.conf setzen wir noch folgende Ciphers.

Starte den Dienst neu.

Prüfe auf der SSL Labs Webseite ob sich die Cipher Strength erhöht hat.

Punkt 3: Lighttpd Webserver

HSTS aktivieren:

Füge diesen Code in deine Config /etc/lighttpd/lighttpd.conf ein. Achtet darauf, dass mod_setenv noch vor mod_redirect geladen wird.

Starte den Dienst neu.

Das Rating der SSL Labs Webseite sollte sich mit dieser Zeile Code von einem A Rating auf ein A+ Rating verbessern und es sollte Strict Transport Security (HSTS) :  YES zurückgegeben werden.

HPKP aktivieren:

Zuerst berechnen wir die sha256 Prüfsumme für den Public Key aus unserem signierten Zertifikat.

Weiter benötigen wir einen Backup Public Key. Damit wir kein neues Zertifikat erstellen wollen, nehmen wir das CSR File und erstellen unseren sha256 Hash. Zur not kann aus dem CSR ein neues Zertifikat angefordert werden. Darum bietet sich diese Methode an.

Die Fehlermeldungen sollen uns nicht weiter stören, wichtig ist wieder die letzte Zeile.

Jetzt pflegen wir beide Public Keys in die Config /etc/lighttpd/lighttpd.conf ein. Zuerst den Haupt-Key, dann den Backup-Key.

Starte den Dienst neu.

Prüfe auf der SSL Labs Webseite ob Public Key Pinning (HPKP) : YES zurückgegeben wird.

CipherSuite anpassen:

In den SSL Einstellung /etc/lighttpd/lighttpd.conf setzen wir noch folgende Ciphers.

Starte den Dienst neu.

Prüfe auf der SSL Labs Webseite ob sich die Cipher Strength erhöht hat.

 

0

dominion

Linux Systemadministrator

Das könnte dich auch interessieren …

Schreibe einen Kommentar

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