Sicherheits-Header
Diese Seite richtet sich an Administratorinnen und Administratoren sowie Hosting-Teams. HTTP-Sicherheits-Header weisen Browser an, häufige Angriffe abzuwehren: das Erraten von Inhaltstypen, das Einbetten in Frames (Clickjacking), das Preisgeben von Adressen im Referrer und den Zugriff auf Kamera oder Mikrofon. Exponential sendet fünf davon auf jeder Seite, die Administration eingeschlossen (13.9 Sicherheits-Header und HTTPS).
Warnung
.htaccessbremst jede Anfrage. Sind.htaccess-Dateien erlaubt (AllowOverridealles außerNone), geschweige denn genutzt, sucht Apache sie bei jeder Anfrage in jedem Verzeichnis des Pfads und liest und wertet sie aus, und die Ladezeiten der Seiten steigen drastisch (gemessen). Die einzige wirkliche Abhilfe ist, die Funktion für den virtuellen Host abzuschalten:AllowOverride Noneim virtuellen HTTPS-Host, und die Regeln in der Konfiguration des virtuellen Hosts selbst als mod_rewrite-Regeln. Das ist in Geschwindigkeitstests im Produktivbetrieb weit schneller und die Zeit für die Optimierung einer Produktivkonfiguration unbedingt wert. Stellen Sie sofort um: Übernehmen Sie die Regeln des Beispiels für einen virtuellen HTTPS-Host in Ihren virtuellen Host (mit dem statischen Cache auchstaticcache_offload.conf), setzen SieAllowOverride None, führen Sieapachectl configtestaus, laden Sie Apache neu und testen Sie die Website. Dieselben Regeln für andere Server: nginx, LiteSpeed, Caddy, IIS, Velocity (eingebaut); wohin Regeln für virtuelle Hosts in einem Control Panel gehören: Plesk, cPanel, DirectAdmin, ISPConfig. Unter LiteSpeed oder OpenLiteSpeed kann zusätzlich der Seiten-Cache des Servers anonyme Besucher und Crawler ohne PHP bedienen: Seiten-Caching mit LiteSpeed und OpenLiteSpeed.
Inhalt
Die Standardwerte
settings/site.ini [HTTPHeaderSettings] SecurityHeaders[]:
| Header | Standard | Schützt vor |
|---|---|---|
X-Content-Type-Options | nosniff | Browsern, die den Typ einer Datei erraten und sie ausführen |
X-Frame-Options | SAMEORIGIN | dem Einbetten der Website in eine andere Website |
Content-Security-Policy | frame-ancestors 'self' | demselben, in der modernen Form |
Referrer-Policy | strict-origin-when-cross-origin | dem Abfließen vollständiger Adressen an andere Websites |
Permissions-Policy | camera=(), microphone=(), payment=(), usb=() | Seiten, die Gerätefunktionen nutzen |
Strict-Transport-Security | leer (aus; wird nur über HTTPS gesendet) | siehe „HTTPS und HSTS“ |
Seiten, die aus dem HTTP-Cache des Kernels beantwortet werden, tragen dieselben Header.
Prüfen
curl -sI https://www.example.gov/ | grep -i -E 'x-content-type|x-frame|referrer|permissions|content-security|strict-transport'
curl -sI https://admin.example.gov/user/login | grep -i -E 'x-frame|content-security'Erwartet: die fünf Zeilen der Tabelle (die Reihenfolge kann abweichen). Halten Sie die Ausgabe nach jeder Änderung als Nachweis in Ihrer Sicherheitsdokumentation fest.
Einen ändern
Verwenden Sie einen Override, nie settings/site.ini selbst. Lesen Sie zuerst den aktuellen Wert:
./console exp:ini get 'site.ini/HTTPHeaderSettings/SecurityHeaders[Content-Security-Policy]' --allow-root-userBeispiel: einem vertrauenswürdigen Bearbeitungshost erlauben, die Administration einzubetten:
# settings/override/site.ini.append.php
[HTTPHeaderSettings]
SecurityHeaders[Content-Security-Policy]=frame-ancestors 'self' https://edit.example.govEin leerer Wert in einem Override entfernt einen Header; Namen und Werte, die die Antwort aufspalten könnten, werden
ignoriert. Je Pfad kann [HTTPHeaderSettings] HeaderList weiterhin jeden Header überschreiben. Leeren Sie danach den
INI-Cache und laden Sie PHP neu.
Statische Dateien
- Velocity sendet vier davon (alle außer der Content Security Policy) auf dem, was er selbst beantwortet (statische
Dateien, skalierte Bilder, Fehlerseiten, Umleitungen), über
settings/velocity.ini [ServerSettings] ResponseHeaders[]. - Apache und nginx senden auf statischen Dateien von sich aus nichts zusätzlich; ergänzen Sie die Header mit
mod_headers(Header always set X-Content-Type-Options "nosniff") oderadd_header ... always;, wenn Sie sie dort haben möchten. - SVG-Dateien aus dem Speicher erhalten durch die mitgelieferte
.htaccess_rooteinen Sandbox-Header, wennmod_headersvorhanden ist.
Verwandte Seiten
- 13.9 Sicherheits-Header und HTTPS
- Sicherheit und Audit, 1
- TLS und HTTPS für Hoster
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.