Erweiterte Header für Netlify konfigurieren
Schritt-für-Schritt-Anleitung: Origin-Agent-Cluster, X-DNS-Prefetch-Control, HTTPS-Redirects und alle Header in einer konsolidierten netlify.toml.
Erweiterte Header auf Netlify
Erweiterte Security Header ergaenzen die Kern-Header um zusätzliche Schutzmechanismen. Origin-Agent-Cluster isoliert Ihre Origin im Browser-Prozess, X-DNS-Prefetch-Control verhindert DNS-Prefetching für Datenschutz, und X-Permitted-Cross-Domain-Policies kontrolliert Flash/PDF-Zugriffe. Zusammen sind sie 4 von 166 Punkten im Wolf-Agents Web Security Check.
Dieses Kapitel zeigt auch die konsolidierte Konfiguration aller Security Header in einer einzigen netlify.toml. Auf Netlify ist die gesamte Header-Konfiguration versioniert und bei jedem Deploy automatisch angewendet — ein grosser Vorteil gegenüber manueller Server-Konfiguration.
Für dynamische Szenarien (z.B. X-Powered-By entfernen, das vom Framework gesetzt wird) nutzen Sie Edge Functions. Diese laufen in der Deno-Runtime am Edge und können Header vor der Auslieferung manipulieren.
Erweiterte Header per netlify.toml und _headers
Fügen Sie die erweiterten Header zu Ihrer bestehenden netlify.toml-Konfiguration hinzu. Diese Header verursachen keine Kompatibilitätsprobleme und können bedenkenlos global für alle Pfade gesetzt werden.
# netlify.toml — Erweiterte Security Header
[[headers]]
for = "/*"
[headers.values]
Origin-Agent-Cluster = "?1"
X-DNS-Prefetch-Control = "off"
X-Download-Options = "noopen"
X-Permitted-Cross-Domain-Policies = "none" # _headers — Erweiterte Security Header
/*
Origin-Agent-Cluster: ?1
X-DNS-Prefetch-Control: off
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none // netlify/edge-functions/security-headers.ts
import type { Context } from "https://edge.netlify.com";
export default async (request: Request, context: Context) => {
const response = await context.next();
// Erweiterte Header setzen
response.headers.set("Origin-Agent-Cluster", "?1");
response.headers.set("X-DNS-Prefetch-Control", "off");
response.headers.set("X-Download-Options", "noopen");
response.headers.set("X-Permitted-Cross-Domain-Policies", "none");
// X-Powered-By entfernen (falls von Framework gesetzt)
response.headers.delete("X-Powered-By");
return response;
};
export const config = { path: "/*" }; Konsolidierte Konfiguration
Hier ist die vollständige Security-Header-Konfiguration für Netlify — alle Header in einem [[headers]]-Block inklusive www-zu-non-www-Redirect. Kopieren Sie diese als Ausgangspunkt und passen Sie CSP und Permissions-Policy an Ihre Anforderungen an.
# netlify.toml — Vollständige Security-Konfiguration
# HTTPS-Redirect (Netlify erzwingt HTTPS automatisch)
# www → non-www Redirect für SEO
[[redirects]]
from = "https://www.ihre-domain.de/*"
to = "https://ihre-domain.de/:splat"
status = 301
force = true
# Alle Security Header in einem Block
[[headers]]
for = "/*"
[headers.values]
Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"
X-Frame-Options = "DENY"
X-Content-Type-Options = "nosniff"
Referrer-Policy = "strict-origin-when-cross-origin"
Permissions-Policy = "camera=(), microphone=(), geolocation=()"
Cross-Origin-Opener-Policy = "same-origin"
Cross-Origin-Resource-Policy = "same-origin"
Origin-Agent-Cluster = "?1"
X-DNS-Prefetch-Control = "off"
X-Download-Options = "noopen"
X-Permitted-Cross-Domain-Policies = "none" Die Content Security Policy ist hier bewusst ausgelassen, da sie projekt-spezifisch angepasst werden muss. Siehe das CSP-Kapitel für Netlify für eine ausführliche CSP-Konfiguration.
Alle Header verifizieren
Prüfen Sie die vollständige Header-Konfiguration nach dem Deploy. Der Wolf-Agents Web Security Check testet alle 166 Punkte automatisch und gibt eine Gesamtnote von A+ bis F.
# Alle Security Headers auf einmal prüfen
curl -sI https://ihre-domain.de | grep -iE \
"strict-transport|x-frame|x-content-type|referrer-policy|permissions-policy|origin-agent|x-dns-prefetch|cross-origin|x-download|x-permitted"
# Erwartete Ausgabe (Auszug):
# strict-transport-security: max-age=31536000; includeSubDomains; preload
# x-frame-options: DENY
# x-content-type-options: nosniff
# referrer-policy: strict-origin-when-cross-origin
# origin-agent-cluster: ?1
# x-dns-prefetch-control: off
# X-Powered-By sollte NICHT erscheinen
curl -sI https://ihre-domain.de | grep -i x-powered-by
# Wolf-Agents Web Security Check nutzen:
# https://wolf-agents.com/tools/web-security-check Häufige Fehler bei erweiterten Headern auf Netlify
X-Powered-By nicht entfernt
Netlify selbst setzt keinen X-Powered-By Header. Wenn Ihr Framework (z.B. Express in Netlify Functions) diesen Header setzt, entfernen Sie ihn per Edge Function oder deaktivieren Sie ihn in der Framework-Konfiguration.
Header-Konflikte durch Doppelkonfiguration
Wenn netlify.toml und _headers denselben Header setzen, gewinnt netlify.toml. Verwenden Sie nicht beide für denselben Header. Edge Functions überschreiben wiederum beide statischen Konfigurationen.
DNS-Prefetching und Performance
X-DNS-Prefetch-Control: off kann die wahrgenommene Ladegeschwindigkeit leicht reduzieren. Für Performance-kritische Seiten können Sie DNS-Prefetching per <link rel="dns-prefetch"> selektiv für vertrauenswuerdige Domains aktivieren.
Netlify-eigene Header nicht entfernbar
Netlify setzt eigene Header wie X-NF-Request-ID und Server: Netlify. Diese können nicht entfernt werden, sind aber sicherheitsunkritisch und dienen der Fehlersuche.
Compliance-Relevanz
Erweiterte Header runden die Sicherheitskonfiguration ab und reduzieren die Angriffsfläche.
NIS2
Fordert umfassende technische Maßnahmen zur Cybersicherheit. Jeder zusätzliche Header reduziert die Angriffsfläche und trägt zur NIS2-Compliance bei.
OWASP Secure Headers
Empfiehlt alle hier genannten Header als Best Practice. Die OWASP Secure Headers Cheat Sheet listet Origin-Agent-Cluster und X-DNS-Prefetch-Control als empfohlene Header.
DSGVO
X-DNS-Prefetch-Control: off verhindert unkontrolliertes DNS-Prefetching und schützt damit die Privatsphäre der Nutzer — ein Beitrag zum technischen Datenschutz.
Wolf-Agents Check
Bewertet die erweiterten Header mit bis zu 4 Punkten und gibt eine Gesamtnote von A+ bis F über alle 166 Prufpunkte hinweg.
Wie steht Ihre Domain bei Erweiterte Header?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.