Express.js — Alle Security-Header-Anleitungen
Schritt-für-Schritt-Anleitungen für jeden Security Header in Express.js. helmet.js als Basis, Custom Middleware für dynamische Header, von HSTS in einer Zeile bis CSP mit Nonces.
Security Headers in Express — helmet.js und Custom Middleware
Express.js ist das meistgenutzte Node.js-Webframework und bildet die Basis für Millionen von
Webanwendungen. Mit helmet.js — der De-facto-Standard-Library für Security Headers —
lassen sich 11 Security Headers mit einer einzigen Zeile aktivieren: app.use(helmet()).
Der kostenlose Wolf-Agents Web Security Check zeigt
Ihnen in Sekunden, welche Header bereits gesetzt sind und wo Handlungsbedarf besteht.
Für fortgeschrittene Szenarien wie dynamische CSP-Nonces oder route-spezifische Header bietet Express Custom Middleware. Die Anleitungen auf dieser Seite decken sowohl die helmet.js-Konfiguration als auch manuelle Header-Setzung ab.
Empfehlung: Für Produktionsumgebungen setzen Sie Nginx oder Caddy als Reverse Proxy vor Express. Der Proxy übernimmt TLS-Terminierung und statische Dateien — Express kümmert sich nur um die Anwendungslogik. Security Headers können auf beiden Ebenen gesetzt werden.
Express.js-Anleitungen nach Thema
Jede Anleitung erklärt einen Security Header Schritt für Schritt — mit helmet.js-Konfiguration und Custom Middleware als Alternative. Die Punkte zeigen den Einfluss auf Ihre Web Security Note.
Implementierungs-Architektur
Alle Security Headers in einer konsolidierten helmet.js-Konfiguration — optimale Middleware-Reihenfolge.
Content Security Policy (CSP)
XSS-Schutz mit helmet.contentSecurityPolicy() — dynamische Nonces per Middleware.
HTTP Strict Transport Security
HTTPS erzwingen mit helmet.hsts() — maxAge, includeSubDomains und Preload.
Sichere Cookie-Konfiguration
express-session cookie-Optionen: secure, httpOnly, sameSite, maxAge.
Permissions Policy
Browser-APIs kontrollieren mit helmet.permittedCrossDomainPolicies() und Custom Middleware.
Clickjacking-Schutz
helmet.frameguard() für X-Frame-Options — action: deny oder sameorigin.
Referrer-Policy
helmet.referrerPolicy() — strict-origin-when-cross-origin als Standard.
X-Content-Type-Options
helmet.noSniff() — eine Zeile für MIME-Sniffing-Schutz.
Cross-Origin Headers
helmet.crossOriginResourcePolicy() + crossOriginEmbedderPolicy() + crossOriginOpenerPolicy().
Subresource Integrity
SRI-Hash-Generierung in der Build-Pipeline — Webpack, Vite oder Custom Script.
security.txt
express.static oder dedizierte Route für /.well-known/security.txt.
TLS & Zertifikate
Node.js https.createServer mit TLS-Optionen — oder Nginx als Reverse Proxy (empfohlen).
Cache-Control
res.set() pro Route — no-store für API-Endpoints, long TTL für statische Assets.
Reporting API
Custom Middleware für Report-To Header + JSON-Body-Parsing für Report-Empfang.
Clear-Site-Data
res.set() auf dem Logout-Endpoint — Browser-Daten beim Abmelden sicher löschen.
Erweiterte Header
HTTPS-Redirect Middleware, helmet-Erweiterungen und Origin-Agent-Cluster.
In 3 Schritten zur sicheren Express-Konfiguration
Status prüfen
Starten Sie mit dem kostenlosen Web Security Check. 166 Prüfpunkte zeigen Ihnen in Sekunden, welche Header fehlen und wo Handlungsbedarf besteht.
helmet.js installieren
npm install helmet und app.use(helmet()) — das aktiviert sofort
HSTS, X-Content-Type-Options, X-Frame-Options
und 8 weitere Header. Von Note F auf C+ in einer Zeile.
CSP konfigurieren
Die Content Security Policy ist der
wirksamste aber auch komplexeste Header. Konfigurieren Sie
helmet.contentSecurityPolicy() mit Ihren spezifischen Direktiven — immer
zuerst im Report-Only-Modus.
Nicht Express? Andere Anleitungen verfügbar
Webserver
CMS & Shop-Systeme
Frameworks & Sprachen
Hosting-Anbieter
Wie sicher ist Ihre Website?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.
Häufig gestellte Fragen
Was ist helmet.js und brauche ich es?
helmet.js ist die De-facto-Standard-Library für Security Headers in Express.js. Ein einziger Aufruf app.use(helmet()) setzt 11 Security Headers gleichzeitig. Für die meisten Anwendungen ist helmet der schnellste und sicherste Weg — es wird von über 3 Millionen Projekten auf npm verwendet und aktiv gepflegt.
Reicht app.use(helmet()) für alle Security Headers?
Für die Basis-Absicherung ja. helmet() setzt automatisch HSTS, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Cross-Origin Headers und mehr. Für CSP müssen Sie helmet.contentSecurityPolicy() separat konfigurieren, da die Default-Policy zu restriktiv für die meisten Anwendungen ist. Permissions-Policy und Clear-Site-Data müssen ebenfalls manuell ergänzt werden.
Soll ich TLS direkt in Express konfigurieren?
Nein — für Produktionsumgebungen empfehlen wir Nginx oder Caddy als Reverse Proxy vor Express. Der Reverse Proxy übernimmt TLS-Terminierung, Zertifikatsmanagement und statische Dateien. Express kümmert sich nur um die Anwendungslogik. Das ist sicherer, performanter und einfacher zu warten.
Wie setze ich dynamische CSP-Nonces in Express?
Per Custom Middleware: Generieren Sie pro Request einen zufälligen Nonce mit crypto.randomBytes(16).toString("base64"), speichern Sie ihn in res.locals.nonce, und verwenden Sie ihn in der helmet CSP-Konfiguration als ["nonce-" + res.locals.nonce]. Im Template greifen Sie auf res.locals.nonce zu.
Funktionieren die Anleitungen auch mit Express 5?
Ja. helmet.js ist kompatibel mit Express 4 und 5. Die Middleware-Syntax ist identisch. Bei Express 5 beachten Sie: app.listen() gibt kein http.Server-Objekt mehr zurück — verwenden Sie stattdessen const server = app.listen(). Alle Security-Header-Konfigurationen funktionieren unverändert.