
HTTP Security Header
HTTP Security Header sind ein wichtiger Bestandteil für die Sicherheit von Webseiten. Sie helfen gängige Angriffsszenarien wie SQL-Injections, XSS, Clickjackint etc. zu verhindern.
HTTP Strict Transport Security (HSTS)
Dieser Header erzwingt die Verwendung einer sicheren Verbindung vom Browser. Es wird also verhindert, dass Besucher eine unsichere Verbindung (über http) zu einer Seite aufbauen. Nur Anfragen an https werden erlaubt.
# Beispielcode apache Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" # Beispielcode nginx add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload';
Content Security Policy (CSP)
Der Content Security Policy (CSP) ist ein Konzept, das die Sicherheit von Webseiten erhöht, indem es die Ausführung bestimmter Arten von Inhalten beschränkt. Diese Einschränkungen können auf Scripts, Stylesheets, Bilder und andere Ressourcen angewendet werden, die von einer Webseite geladen werden. Eine CSP-Richtlinie wird als HTTP-Header an den Browser gesendet und beschreibt, welche Arten von Inhalten erlaubt sind und welche nicht. Dies verhindert Angriffe wie Cross-Site-Scripting (XSS) und andere bösartige Aktivitäten auf einer Webseite.
# Beispielcode apache Header always set Content-Security-Policy "default-src 'self'; font-src *;img-src * data:; s # Beispielcode nginx add_header Content-Security-Policy "default-src 'self'; font-src *;img-src * data:; script-s
X-XSS-Protection
Der X-XSS (Cross-Site-Scripting) Header wird verwendet um Cross-Site-Scripting Angriffe zu verhindern. Dieser Header teilt dem Browser mit, dass er möglicherweise bösartige Inhalte blockieren soll. Dieser Header kann nur Teil einer Reihe von Maßnahmen wie einer CSP oder entsprechend sicher programmierten Webseiten sein und biete alleine keine vollständige Sicherheit.
Parameter X-XSS-Protection:
- Wert ‚0‘: Der Filter wird deaktiviert
- Wert ‚1‘: Der Filter ist aktiviert, der Browser entfernt unsichere Inhalte
- Wert ‚1; mode=block‘: Statt unsichere Inhalte zu entfernen, wird die gesamte Seite blockiert
# Beispielcode apache Header set X-XSS-Protection "1; mode=block" # Beispielcode nginx add_header X-XSS-Protection "1; mode=block";
X-Frame-Otions
Über den X-Frame Options Header kann gesteuert werden, ob und wo die Seite als iFrame eingebunden werden darf. Dies ist ein wirksames Mittel gegen Klickjacking Angriffe.
- DENY: Die Seite darf nirgends als iFrame eingebunden werden
- SAMEORIGIN: Die Seite darf als iFrame innerhalb der eigenen Domain eingebunden werden
- ALLOW-FROM: Eine Liste von Domains, auf denen die Seite als iFram eingebunden werden darf
# Beispielcode apache Header always set X-Frame-Options "SAMEORIGIN" # Beispielcode nginx add_header X-Frame-Options "SAMEORIGIN";
X-Content-Type-Options
Das X-Content-Type-Options Header ist ein HTTP-Header, der von einem Server gesendet wird, um dem Browser mitzuteilen, dass er keine Inhalte automatisch rendern soll, die nicht mit dem angegebenen MIME-Typ übereinstimmen. Dies verhindert, dass Angreifer gefährliche Inhalte wie Schadcode einschleusen können, die vom Browser als harmlos interpretiert werden. Wenn dieser Header gesetzt ist, wird der Browser nur Inhalte rendern, die explizit vom Server als sicher gekennzeichnet wurden.
# Beispielcode apache Header always set X-Content-Type-Options "nosniff" # Beispielcode nginx add_header X-Content-Type-Options nosniff;
Referrer-Policy
Das Referrer-Policy Header ist ein HTTP-Header, der bestimmt, welche Informationen über die Quelle eines HTTP-Requests an den Server gesendet werden.
Es gibt verschiedene Optionen für den Wert des Headers, wie z.B. "no-referrer", "same-origin", "strict-origin" oder "origin-when-cross-origin". Jede dieser Optionen legt fest, welche Art von Referrer-Informationen gesendet werden sollen und unter welchen Umständen.
# Beispielcode apache Header always set Referrer-Policy "strict-origin" # Beispielcode nginx add_header Referrer-Policy "strict-origin";