Permissions Policy für LiteSpeed konfigurieren
Schritt-für-Schritt-Anleitung: Browser-APIs auf LiteSpeed einschränken — per .htaccess, Web Admin Console oder vhconf.conf. Kamera, Mikrofon und Geolocation sperren.
Permissions Policy auf LiteSpeed
Permissions Policy kontrolliert, welche Browser-APIs Ihre Website und eingebettete Iframes nutzen dürfen. Durch das Sperren ungenutzter APIs wie Kamera, Mikrofon oder Geolocation reduzieren Sie die Angriffsfläche erheblich und verhindern, dass eingebettete Drittanbieter-Inhalte auf sensible Geräte-APIs zugreifen. Der Header ist mit 10 von 166 Punkten im Wolf-Agents Web Security Check bewertet.
LiteSpeed unterstützt die Apache-kompatible mod_headers-Syntax. Sie können den Header per .htaccess (Shared Hosting), über die Web Admin Console (Port 7080, nur LiteSpeed Enterprise) oder direkt in der vhconf.conf (OpenLiteSpeed und Enterprise) setzen. Beachten Sie: Die Web Admin Console hat bei Konflikten Vorrang über .htaccess.
Permissions Policy per .htaccess
Die .htaccess-Methode funktioniert auf Shared Hosting und eigenen Servern. Der leere Wert () sperrt die API vollständig — auch für eingebettete Iframes. Für Seiten, die bestimmte APIs benötigen (z.B. Kartenansichten mit Geolocation), verwenden Sie (self) oder erlauben spezifische Domains.
# .htaccess — Permissions Policy auf LiteSpeed
# Alle ungenutzten APIs sperren
<IfModule mod_headers.c>
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=(), bluetooth=(), magnetometer=(), gyroscope=(), accelerometer=()"
</IfModule> # .htaccess — Selektive Permissions Policy
# Eigene Domain darf Geolocation und Kamera nutzen
<IfModule mod_headers.c>
Header always set Permissions-Policy "camera=(self), microphone=(), geolocation=(self), payment=(self), usb=(), bluetooth=(), magnetometer=(), gyroscope=(), accelerometer=(), browsing-topics=()"
</IfModule> Virtual-Host-Konfiguration oder Web Admin Console
Auf eigenen Servern setzen Sie den Header in der vhconf.conf oder über die Web Admin Console (nur LiteSpeed Enterprise). Diese Methode hat Vorrang über .htaccess und ist nicht durch Shared-Hosting-Nutzer überschreibbar.
# /usr/local/lsws/conf/vhosts/example/vhconf.conf
# Virtual Host > Context > Header Operations
context / {
type NULL
location $DOC_ROOT/
extraHeaders {
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=(), bluetooth=(), magnetometer=(), gyroscope=(), accelerometer=()"
}
} # Web Admin Console (Port 7080) — GUI-Pfad:
# 1. Virtual Hosts > ihre-domain.de > Context
# 2. Type: Static, URI: /
# 3. Header Operations:
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=(), bluetooth=(), magnetometer=(), gyroscope=(), accelerometer=()"
# OpenLiteSpeed: KEINE Web Admin Console vorhanden.
# Konfigurieren Sie direkt in vhconf.conf.
# LiteSpeed Enterprise: Web Admin Console ODER vhconf.conf. OpenLiteSpeed (OLS) hat keine Web Admin Console. Konfigurieren Sie Header direkt in /usr/local/lsws/conf/vhosts/<name>/vhconf.conf. LiteSpeed Enterprise (LSWS) bietet zusätzlich die Web Admin Console auf Port 7080. Beide unterstützen die gleiche .htaccess-Syntax.
Verifizierung
Nach dem Graceful Restart prüfen Sie den Permissions-Policy-Header mit curl. Testen Sie auch Fehlerseiten — das always-Keyword stellt sicher, dass der Header auch bei 404/500-Antworten gesendet wird. Der Wolf-Agents Web Security Check verifiziert die Konfiguration automatisch als Teil der 166 Prüfpunkte.
# 1. Graceful Restart (LiteSpeed cached .htaccess!)
/usr/local/lsws/bin/lswsctrl restart
# 2. Permissions-Policy Header prüfen
curl -sI https://ihre-domain.de | grep -i permissions-policy
# Erwartete Ausgabe:
# Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), usb=(), bluetooth=(), magnetometer=(), gyroscope=(), accelerometer=()
# 3. Auch Fehlerseiten prüfen (always-Keyword)
curl -sI https://ihre-domain.de/nicht-vorhanden | grep -i permissions-policy
# 4. Browser DevTools: Application > Permissions Policy prüfen
# Chrome zeigt gesperrte APIs unter Frames > top > Permissions Policy Häufige Fehler bei Permissions Policy auf LiteSpeed
Diese LiteSpeed-spezifischen Fehler treten bei der Permissions-Policy-Konfiguration am häufigsten auf und führen zu fehlenden oder unwirksamen Headern.
Web Admin Console und .htaccess Konflikt
Die Web Admin Console hat Vorrang über .htaccess. Wenn dort eine andere Permissions Policy gesetzt ist, wird die .htaccess-Direktive ignoriert. Prüfen Sie beide Konfigurationen, bevor Sie einen fehlenden Header debuggen.
.htaccess cached — Änderungen nicht sichtbar
LiteSpeed cached .htaccess-Dateien im Gegensatz zu Apache. Ohne Graceful Restart (/usr/local/lsws/bin/lswsctrl restart) bleibt die alte Policy aktiv. Testen Sie mit einem Timestamp-Trick, um Cache-Probleme auszuschliessen.
Veraltete Syntax: interest-cohort vs. browsing-topics
interest-cohort (FLoC) ist veraltet und wird von Browsern ignoriert. Der aktuelle Feature-Name ist browsing-topics. Prüfen Sie die Permissions-Policy-Spezifikation für aktuelle Feature-Namen, da sich die Liste regelmäßig ändert.
Plesk LiteSpeed-Plugin überschreibt Header
Das Plesk LiteSpeed-Plugin kann Header eigenständig verwalten. Wenn Ihre .htaccess-Permissions-Policy nicht wirkt, prüfen Sie unter Plesk > Apache & nginx-Einstellungen, ob dort ein eigener Header gesetzt ist.
Feature-Policy statt Permissions-Policy verwendet
Feature-Policy ist der veraltete Header-Name. Moderne Browser (Chrome 88+, Firefox 74+) verwenden Permissions-Policy mit geänderter Syntax: camera=() statt camera 'none'. Setzen Sie nur den neuen Header.
Compliance-Relevanz
DSGVO (Artikel 25, Privacy by Design) und die ePrivacy-Verordnung erfordern die Kontrolle von Browser-APIs, die auf personenbezogene Daten zugreifen. Kamera, Mikrofon und Geolocation sind personenbezogene Datenkategorien. NIS2 (Artikel 21) fordert technische Maßnahmen zur Risikominimierung — Permissions Policy reduziert die Angriffsfläche durch das Prinzip der minimalen Berechtigung. BSI IT-Grundschutz (APP.3.1) empfiehlt die Einschränkung ungenutzter Funktionen. Der Wolf-Agents Web Security Check bewertet die Konfiguration mit bis zu 10 Punkten.
Wie steht Ihre Domain bei Permissions Policy?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.
Häufig gestellte Fragen
Welche Browser-APIs sollte ich auf LiteSpeed einschränken?
Mindestens camera=(), microphone=(), geolocation=() und payment=(). Für Websites ohne diese Funktionen schränken Sie zusätzlich usb=(), bluetooth=(), magnetometer=(), gyroscope=() und accelerometer=() ein. Prüfen Sie vor dem Sperren, ob Drittanbieter-Widgets (z.B. Kartenansichten) Geolocation benötigen.
Beeinflusst Permissions Policy die LiteSpeed-Performance?
Nein. Permissions Policy ist ein reiner Response-Header, der vom Browser ausgewertet wird. LiteSpeed sendet den Header nur mit — keine serverseitige Verarbeitung, kein LSCache-Einfluss, kein Performance-Impact.
Kann die Web Admin Console die .htaccess-Permissions-Policy überschreiben?
Ja. Header in der Web Admin Console (Port 7080, nur LiteSpeed Enterprise) haben höchste Priorität. Prüfen Sie Virtual Hosts > Context > Header Operations. Bei OpenLiteSpeed verwenden Sie direkt die vhconf.conf.
Was ist der Unterschied zwischen Permissions-Policy und Feature-Policy?
Feature-Policy ist der veraltete Name. Permissions-Policy ist der aktuelle Standard mit leicht geänderter Syntax: Statt Feature-Policy: camera "none" schreiben Sie Permissions-Policy: camera=(). Ältere LiteSpeed-Anleitungen verwenden möglicherweise noch den alten Header.