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.

Express.js · Alle Kapitel
Express.js · Node.js Framework #1

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.

Anleitungen

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.

Leitfaden Beginner

Implementierungs-Architektur

Alle Security Headers in einer konsolidierten helmet.js-Konfiguration — optimale Middleware-Reihenfolge.

35 Pkt Advanced

Content Security Policy (CSP)

XSS-Schutz mit helmet.contentSecurityPolicy() — dynamische Nonces per Middleware.

15 Pkt Beginner

HTTP Strict Transport Security

HTTPS erzwingen mit helmet.hsts() — maxAge, includeSubDomains und Preload.

15 Pkt Intermediate

Sichere Cookie-Konfiguration

express-session cookie-Optionen: secure, httpOnly, sameSite, maxAge.

10 Pkt Beginner

Permissions Policy

Browser-APIs kontrollieren mit helmet.permittedCrossDomainPolicies() und Custom Middleware.

10 Pkt Beginner

Clickjacking-Schutz

helmet.frameguard() für X-Frame-Options — action: deny oder sameorigin.

10 Pkt Beginner

Referrer-Policy

helmet.referrerPolicy() — strict-origin-when-cross-origin als Standard.

10 Pkt Beginner

X-Content-Type-Options

helmet.noSniff() — eine Zeile für MIME-Sniffing-Schutz.

30 Pkt Advanced

Cross-Origin Headers

helmet.crossOriginResourcePolicy() + crossOriginEmbedderPolicy() + crossOriginOpenerPolicy().

15 Pkt Intermediate

Subresource Integrity

SRI-Hash-Generierung in der Build-Pipeline — Webpack, Vite oder Custom Script.

2 Pkt Beginner

security.txt

express.static oder dedizierte Route für /.well-known/security.txt.

4 Pkt Intermediate

TLS & Zertifikate

Node.js https.createServer mit TLS-Optionen — oder Nginx als Reverse Proxy (empfohlen).

8 Pkt Intermediate

Cache-Control

res.set() pro Route — no-store für API-Endpoints, long TTL für statische Assets.

4 Pkt Advanced

Reporting API

Custom Middleware für Report-To Header + JSON-Body-Parsing für Report-Empfang.

3 Pkt Beginner

Clear-Site-Data

res.set() auf dem Logout-Endpoint — Browser-Daten beim Abmelden sicher löschen.

4 Pkt Intermediate

Erweiterte Header

HTTPS-Redirect Middleware, helmet-Erweiterungen und Origin-Agent-Cluster.

Leitfaden

Leitfaden

Leitfaden

Leitfaden

Leitfaden

Leitfaden

Leitfaden

Leitfaden

Leitfaden

Schnellstart

In 3 Schritten zur sicheren Express-Konfiguration

1

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.

2

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.

3

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.

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.