---
title: "Security Header – HSTS, CSP & Co. richtig setzen | PageScore"
description: "Alle wichtigen HTTP Security Headers erklärt: HSTS, CSP, X-Frame-Options und mehr. Mit Beispiel-Konfigurationen für Apache und Nginx."
url: https://pagescore.de/security-headers-guide
language: de
last_modified: 2026-09-25
---

# Security Headers Guide

Alle wichtigen HTTP Security Headers erklärt: HSTS, CSP, X-Frame-Options und mehr. Mit Beispiel-Konfigurationen für Apache und Nginx.

## Warum sind Security Headers wichtig?

HTTP Security Headers sind eine der einfachsten und effektivsten Methoden, um deine Website gegen häufige Angriffe zu schützen. Sie werden vom Server als HTTP-Response-Header gesendet und weisen den Browser an, bestimmte Sicherheitsrichtlinien durchzusetzen.

Neben dem direkten Sicherheitsgewinn sind sie auch ein Signal für Google: Websites mit HTTPS und korrekten Security Headers werden als vertrauenswürdiger eingestuft. Das kann sich positiv auf das Ranking auswirken.

## Strict-Transport-Security (HSTS)

HSTS erzwingt, dass der Browser deine Website ausschließlich über HTTPS aufruft. Das verhindert Man-in-the-Middle-Angriffe und SSL-Stripping.

```
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
```

- **max-age:** Wie lange (in Sekunden) der Browser HTTPS erzwingen soll. 31536000 = 1 Jahr.
- **includeSubDomains:** Gilt auch für alle Subdomains.
- **preload:** Ermöglicht die Aufnahme in die Browser-Preload-Liste, sodass HTTPS schon beim allerersten Besuch erzwungen wird.

**Wichtig:** Aktiviere HSTS erst, wenn du sicher bist, dass deine gesamte Website fehlerfrei über HTTPS funktioniert. Ein Rollback ist nicht einfach möglich.

## Content-Security-Policy (CSP)

CSP ist der mächtigste Security Header. Er legt fest, von welchen Quellen der Browser Ressourcen laden darf. Das verhindert Cross-Site-Scripting (XSS) und Daten-Injektions-Angriffe.

```
Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted-cdn.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com; connect-src 'self' https://api.example.com; frame-ancestors 'none'
```

- **default-src:** Standard-Richtlinie für alle Ressourcentypen.
- **script-src:** Erlaubte Quellen für JavaScript. Vermeide `'unsafe-inline'` und `'unsafe-eval'` wenn möglich.
- **style-src:** Erlaubte Quellen für CSS.
- **img-src:** Erlaubte Quellen für Bilder.
- **frame-ancestors:** Verhindert, dass deine Seite in Frames eingebettet wird (ersetzt X-Frame-Options).

Tipp: Starte mit `Content-Security-Policy-Report-Only`, um Verstöße zu protokollieren, ohne Ressourcen zu blockieren. So kannst du die Policy schrittweise anpassen.

## X-Frame-Options

Verhindert Clickjacking-Angriffe, indem die Seite nicht in einem `<iframe>` eingebettet werden kann.

```
X-Frame-Options: SAMEORIGIN
```

- **DENY:** Die Seite kann nirgends eingebettet werden.
- **SAMEORIGIN:** Nur Seiten der gleichen Domain dürfen die Seite einbetten.

Hinweis: `frame-ancestors` in der CSP ist die modernere Alternative und bietet mehr Kontrolle.

## X-Content-Type-Options

Verhindert MIME-Type-Sniffing. Der Browser akzeptiert nur den deklarierten Content-Type und versucht nicht, den Typ selbst zu erraten — was bei Angriffen ausgenutzt werden kann.

```
X-Content-Type-Options: nosniff
```

Dieser Header hat nur einen gültigen Wert und sollte auf jeder Website gesetzt sein.

## Referrer-Policy

Kontrolliert, welche Referrer-Informationen bei Navigation und Requests mitgesendet werden. Schützt die Privatsphäre deiner Nutzer.

```
Referrer-Policy: strict-origin-when-cross-origin
```

- **no-referrer:** Sendet nie Referrer-Informationen.
- **strict-origin-when-cross-origin:** Sendet den vollen Referrer bei gleicher Herkunft, nur die Origin bei Drittanbieter-Requests, und nichts bei HTTP→HTTPS-Downgrade. Guter Kompromiss.
- **same-origin:** Referrer nur bei gleicher Herkunft.

## Permissions-Policy

Kontrolliert, welche Browser-Features und APIs deine Website nutzen darf. Damit verhinderst du, dass eingebettete Drittanbieter-Inhalte auf sensible APIs zugreifen.

```
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(self)
```

- **camera=():** Kamera-Zugriff für niemanden erlaubt.
- **microphone=():** Mikrofon-Zugriff deaktiviert.
- **geolocation=():** Standortabfrage deaktiviert.
- **payment=(self):** Payment API nur für die eigene Seite.

## Beispiel-Konfiguration

### Apache (.htaccess)

```
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' data: https:; frame-ancestors 'none'"
```

### Nginx

```
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' data: https:; frame-ancestors 'none'" always;
```

## Security Headers testen

Nach der Konfiguration solltest du deine Headers testen:

- **PageScore:** Prüft automatisch alle Security Headers und gibt Verbesserungsvorschläge.
- **Browser DevTools:** Unter Network → Response Headers kannst du die gesendeten Header einsehen.
- **curl:** `curl -I https://deine-domain.de` zeigt die Response-Header im Terminal.

Prüfe die Security Headers deiner Website jetzt mit [PageScore](https://pagescore.de/) — kostenlos und in Sekunden.
