![Securty Headers und Optionen Cybersicherheit Kubus](https://securemaker.de/wp-content/uploads/2024/01/security-headers.jpg)
Überblick über Security Header Optionen
Security Headers sind HTTP-Header, die die Sicherheit einer Website erhöhen können. Sie können dazu beitragen, Angriffe wie Clickjacking, Cross-Site Scripting (XSS) und Content-Security-Policy-Bypass (CSP-Bypass) zu verhindern.
Die folgenden Security Header Optionen sind am weitesten verbreitet:
X-Frame-Options: Dieser Header kann verwendet werden, um zu verhindern, dass eine Website in einem Frame auf einer anderen Domäne angezeigt wird. Dies kann Clickjacking-Angriffe verhindern.
X-Content-Type-Options: Dieser Header kann verwendet werden, um zu verhindern, dass ein Browser den Inhalt eines Dokuments als anderes MIME-Typ interpretiert, als er tatsächlich ist. Dies kann XSS-Angriffe verhindern.
Content-Security-Policy (CSP): Dieser Header kann verwendet werden, um zu steuern, woher Ressourcen geladen werden dürfen. Dies kann eine Vielzahl von Angriffen verhindern, einschließlich Clickjacking, XSS und CSP-Bypass.
X-Frame-Options
Die X-Frame-Options-Header-Optionen sind:
SAMEORIGIN: Diese Option erlaubt die Anzeige der Seite nur in einem Frame, der auf demselben Ursprungs-Domänennamen wie die Seite selbst gehostet wird. Dies ist die Standardeinstellung.
DENY: Diese Option verbietet die Anzeige der Seite in einem Frame, unabhängig vom Ursprungs-Domänennamen des Frames.
ALLOW-FROM: Diese Option erlaubt die Anzeige der Seite nur in einem Frame, der auf einer bestimmten Domäne gehostet wird. Die Domäne muss als Wert des Optionswerts angegeben werden.
X-Content-Type-Options
Die X-Content-Type-Options-Header-Optionen sind:
nosniff: Diese Option verbietet dem Browser, den Inhalt eines Dokuments als anderes MIME-Typ zu interpretieren, als er tatsächlich ist. Dies kann XSS-Angriffe verhindern.
Content-Security-Policy (CSP)
Die Content-Security-Policy (CSP) ist ein leistungsstarker Mechanismus zur Kontrolle der Ressourcen, die von einer Website geladen werden dürfen. CSP-Richtlinien können verwendet werden, um eine Vielzahl von Angriffen zu verhindern, einschließlich Clickjacking, XSS und CSP-Bypass.
CSP-Richtlinien bestehen aus einer Liste von Ressourcen, die von einer Website geladen werden dürfen. Diese Ressourcen können nach Typ, Ursprungsdomänenname und anderen Kriterien spezifiziert werden.
Beispiel für eine CSP-Richtlinie
Die folgende CSP-Richtlinie erlaubt nur das Laden von Skripten von derselben Domäne und von inline eingebetteten Skripten:
Content-Security-Policy: script-src ‘self’ ‘unsafe-inline’
Unterschiede zwischen Apache und Nginx
Apache und Nginx sind beide beliebte Webserver. Beide unterstützen die Verwendung von Security Header Optionen.
Die folgenden Tabelle zeigt die wichtigsten Unterschiede zwischen den beiden Webservern in Bezug auf Security Header Optionen:
Feature Apache Nginx
Unterstützung für X-Frame-Options Ja Ja
Unterstützung für X-Content-Type-Options Ja Ja
Unterstützung für Content-Security-Policy Ja Ja
Standardeinstellung für X-Frame-Options SAMEORIGIN SAMEORIGIN
Standardeinstellung für X-Content-Type-Options nosniff nosniff
Standardeinstellung für Content-Security-Policy Keine Keine
Konfiguration von Security Header Optionen
Die Konfiguration von Security Header Optionen hängt vom verwendeten Webserver ab.
Apache
In Apache können Security Header Optionen in der Datei .htaccess konfiguriert werden.
Hier ist ein Beispiel für die Konfiguration der X-Frame-Options-Header-Option in Apache:
Header always set X-Frame-Options “DENY”
Nginx
In Nginx können Security Header Optionen in der Datei nginx.conf konfiguriert werden.
Hier ist ein Beispiel für die Konfiguration der X-Frame-Options-Header-Option in Nginx:
add_header X-Frame-Options “DENY”;
Weitere Informationen zur Konfiguration von Security Header Optionen in Apache und Nginx finden Sie in den Dokumentationen der jeweiligen Webserver.
Wer seinen Rootserver mit dem Apache betreibt könnte folgende Headers testen. Diese werden in die .htaccess eingetragen.
# Security Headers
Header set Content-Security-Policy “upgrade-insecure-requests”
Header set X-Xss-Protection “1; mode=block”
Header set X-Frame-Options “SAMEORIGIN”
Header set X-Content-Type-Options “nosniff”
Header set Referrer-Policy “strict-origin-when-cross-origin”
Header set Permissions-Policy “geolocation=self”
# END Headers Security Advanced & HSTS WP
Wenn alles gut läuft, sollte der Check so aussehen.