Im Laufe der letzten Jahrzehnte hat sich das Internet soweit entwickelt, dass es heute nicht mehr wegzudenken ist. Viele Prozesse des alltäglichen Leben hängen bereits vom Internet ab. Da ist es nicht verwunderlich, dass auch das Thema Datenschutz und Sicherheit im Internet eine immer größere Bedeutung gewinnen.

Security Headers

Um die Sicherheit einer Internetseite bestmöglich gewährleisten zu können greifen viele Faktoren. In diesem Beitrag möchten wir uns ausschließlich um die noch gar nicht so weit verbreitete Lösung der Security Headers kümmern, die schon mehrere Bereiche umfasst. Um die eigene Seite (oder auch andere) hinsichtlich der Sicherheitseinstellungen zu prüfen, bietet sich folgende Seite an: https://securityheaders.com/

 

Das obere Bild zeigt zwei wichtige Informationen:

  1. SSL-Erzwingung
    Hier ist gut zu erkennen, dass nur die Domain „roundaboutweb.net“ eingegeben wurde und automatisch auf „https://www.roundaboutweb.net“ umgeleitet wurde.
  2. Beurteilung A+
    Besser geht es nicht mehr. Alle aktuellen Prüfpunkte sind erfüllt und somit das Ergebnis ein sehr zufriedenstellendes A+

Links im Bild (Grand Totals) sind die möglichen Bewertungsstufen von „R“ bis „A+“ zu erkennen, sowie hierzu die Anzahl der gescannten Seiten mit Stand vom 28.03.2019.

Hall of Fame

Zugegeben, wir sind schon etwas stolz, dass wir am 28.03.2019 in der „Hall of Fame“, also der Bestenliste erscheinen, als einer der Wenigen mit der Bestnote A+. Damit schneiden wir sogar besser ab als manche große Seitenbetreiber wie zum Beispiel trello.

Wir konnten somit alle geprüften Sicherheitsanforderungen mit Bestnote erfüllen um unseren Seitenbesuchern eine möglichst sichere Seite zu bieten. Dafür haben wir auch einiges getan und freuen uns über diese Bewertung.

Aber nun weiter zu den eigentlichen Fakten:

Wozu brauche ich die Security Headers?

Grundsätzlich sollte es soweit selbsterklärend sein, dass eine Internetseite einen entsprechenden Sicherheitsstandard erfüllen muss oder zumindest sollte. Zum Einen fordert die Datenschutz-Grundverordnung (DS-GVO) und die bevorstehende ePrivacy die Verwendung von aktueller und sicherer Technik zum Schutz der Daten. Zum Anderen will man seine Seite auch zum Eigenschutz absichern um Angreifer möglichst fern zu halten und wenig Angriffsfläche zu bieten.

 

Zur Zeit werden folgende 7 Punkte bewertet:

1. Strict-Transport-Security

Stellt sicher, dass die Verbindung zwischen Browser und Internetseite ausschließlich per https aufgebaut wird.

2. Referrer-Policy

Verhindert die Verschleierung beim Aufruf über einen Link.
„same-origin“: Übermittelt die Herkunftseite
“no-referrer”: unterbindet die Übermittlung der URL bei Verlinkung

3. X-XSS-Protection

Aktiviert den Schutzfilter im Browser.

4. X-Frame-Options

Verhindert, dass die eigene Seite auf anderen Seiten per Frame eingebunden wird.
„DENY“: verbietet jede Einbettung
„SAMEORIGIN“: erlaubt die Einbettung der Seite in sich selbst
„ALLOW-FROM …“: erlaubt die Freigabe der Einbettung auf frei definierbaren Seite

5. X-Content-Type-Options

Nur korrekte Styles und Scripte werden geladen.
„nosniff“: Unterbindet das Erraten des Dateityp durch den Browser

6. Feature-Policy

Verhindert beispielsweise die Nutzung von Webcams oder Mikrofonen auf der Seite.

7. Content-Security-Policy

Es werden nur explizit erlaubte Dateien geladen.

Es gibt jedoch noch weitere Header, wie zum Beispiel den „X-Powerd-By“ mit dem man die verwendete Software für die Seitenerstellung verbergen kann. Dieser wird hierbei jedoch (noch) nicht bewertet.

Wie kann meine Seite optimieren werden?

WordPress bietet auch hierzu unterschiedliche PlugIn-Lösungen an, die wir teilweise getestet haben. Hierbei mussten wir jedoch feststellen, dass es oftmals Probleme in Verbindung mit Caching-PlugIns oder anderen Security-PlugIns gibt. Da wir grundsätzlich versuchen mit möglichst wenig PlugIns zu arbeiten, da jedes PlugIn für sich selbst wieder ein Sicherheitsrisiko darstellt und negative Auswirkungen auf die Performance hat (vor allem im BackEnd), haben wir uns mit den Möglichkeiten direkt über die Webserverkonfiguration beschäftigt. Diese Konfigurationsmöglichkeit besteht bei professionellen Hostern auch in kleineren Paketen und ist daher unseres Erachtens die optimale Lösung ohne PlugIns mit wenig Codetext die Security Headers einer Seite zu optimieren.

Diese Einstellungen müssen individuell für jede Webseite angepasst werden, da jede Seite auch unterschiedliche Anforderungen und Funktionen hat. Das zudem positive an der Konfiguration über die Datei .htaccess ist, dass diese noch vor dem Aufruf der Anwendung (z.B. WordPress) ausgewertet wird und bei allen Systemen funktioniert, auch bei handgeschriebenen PHP- oder HTML-Anwendungen.

Muster

ACHTUNG: die folgenden Codezeilen für die .htaccess sind nicht pauschal gültig und können Fehler auf der Seite verursachen. Daher ist eine individuelle Anpassung zwingend erforderlich:

# Security Headers
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header set Referrer-Policy "same-origin"
Header set X-XSS-Protection "1; mode=block"
Header set x-frame-options "SAMEORIGIN"
Header set X-Content-Type-Options "nosniff"
Header set Feature-Policy "none"
Header set Content-Security-Policy "self"
</IfModule>

Links:
Doku von Mozilla zu Header-Security
Content-Security-Policy-Generator
Security Headers Scanner

Quellangaben:
Andreas Hecht von drweb.de
David Jardin von hosteurope.de
Rudolf Rohaczek von limesoda.com
Marian Dietrich von econsor.de

RoundAboutWEB

Die Waren und Dienstleistungen von RoundAboutWEB stehen ausschließlich Unternehmern im Sinne von § 14 BGB zur Verfügung.
Ein Vertragsschluss mit Verbrauchern im Sinne von §13 BGB ist ausgeschlossen.