Permissions Policy in Joomla konfigurieren

Permissions Policy in Joomla aktivieren — über das Built-in HTTP Headers Plugin (seit Joomla 4.0) oder .htaccess-Fallback. Mit vollständiger Verifizierung und Joomla-spezifischen Troubleshooting-Tipps.

Joomla · Schritt für Schritt

Permissions Policy in Joomla

Permissions Policy Permissions Policy kontrolliert Browser-APIs wie Kamera, Mikrofon, Geolocation und Payment — und verhindert, dass eingebettete Drittanbieter-Inhalte unerlaubt auf sensible Funktionen zugreifen.. Mit 10 von 166 Punkten im Wolf-Agents Web Security Check ist dieser Header ein wichtiger Faktor für die Gesamtbewertung Ihrer Joomla-Installation. Ohne korrekte Konfiguration verlieren Sie wertvolle Punkte, die den Unterschied zwischen einer guten und einer mittelmäßigen Security-Bewertung ausmachen können.

In Joomla konfigurieren Sie Permissions Policy über das Built-in HTTP Headers Plugin unter dem HTTP Headers Tab. Fügen Sie dort einen neuen Header mit dem Namen Permissions-Policy hinzu und definieren Sie die gewünschten Feature-Policies. Das Plugin funktioniert auf jedem Hosting — inklusive Shared Hosting ohne SSH-Zugriff oder Server-Konfigurationszugang. Die Alternative ist die .htaccess-Methode als Apache-Fallback, die Sie nutzen können, wenn das Plugin aus technischen Gründen nicht verfügbar ist. Bei beiden Methoden gilt: Nach jeder Änderung den Joomla-Cache leeren.

Der Wolf-Agents Web Security Check analysiert die Permissions Policy-Konfiguration Ihrer Joomla-Installation und zeigt exakt, ob der Header korrekt gesetzt ist, welcher Wert verwendet wird und ob es Verbesserungspotenzial gibt. Über das Web Scan Monitoring werden Sie automatisch per E-Mail benachrichtigt, wenn sich die Konfiguration nach einem Joomla-Update, Extension-Installation oder Server-Migration unbeabsichtigt ändert.

Permissions Policy-Implementierung in Joomla

Die Konfiguration über das Built-in HTTP Headers Plugin ist der empfohlene Weg — eine vollständige GUI im Joomla-Backend unter System → Plugins → System - HTTP Headers, keine Code-Änderungen nötig und keine Server-Konfiguration erforderlich. Alle Einstellungen werden sofort nach dem Speichern wirksam. Die .htaccess-Methode dient als Fallback für Apache-Setups, in denen das Plugin nicht genutzt werden kann. Nutzen Sie niemals beide Methoden gleichzeitig — doppelte Header führen zu unvorhersehbarem Browser-Verhalten.

HTTP Headers Plugin (empfohlen)
System → Plugins → HTTP HeadersEmpfohlen
# HTTP Headers Plugin → Tab: HTTP Headers
# (Built-in seit Joomla 4.0)

Neuer Header hinzufügen:
HTTP Header:  Permissions-Policy
Header Wert:  camera=(), microphone=(), geolocation=(), payment=()

# → Speichern → System → Cache leeren
.htaccess Fallback
.htaccessFallback
# .htaccess — Permissions-Policy Fallback
<IfModule mod_headers.c>
  Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=()"
</IfModule>
Cache leeren nach jeder Änderung

Nach Änderungen am HTTP Headers Plugin oder der .htaccess: php cli/joomla.php cache:clean ausführen oder im Backend unter System → Cache leeren. Drittanbieter-Cache-Extensions wie JotCache oder LiteSpeed Cache können veraltete Header zwischenspeichern.

Verifizierung

Nach der Konfiguration im HTTP Headers Plugin oder der .htaccess leeren Sie den Joomla-Cache über php cli/joomla.php cache:clean oder im Backend unter System → Cache leeren. Prüfen Sie den Header anschließend per curl auf verschiedenen Seitentypen — Startseite, Beiträge, Kontaktformulare, Kategorie-Seiten und den Admin-Bereich unter /administrator. Wichtig: Einige Header werden nur über HTTPS gesendet — testen Sie niemals über eine HTTP-URL. Prüfen Sie auch, ob ein CDN oder Reverse-Proxy (Cloudflare, Varnish) den Header eventuell entfernt oder überschreibt. Nutzen Sie den Wolf-Agents Web Security Check für eine vollständige Analyse aller 16 Header-Kategorien mit konkreter Punktbewertung.

TerminalVerifizierung
# 1. Joomla-Cache leeren
php cli/joomla.php cache:clean

# 2. Header prüfen
curl -sI https://ihre-domain.de | grep -i permissions-policy

# Erwartete Ausgabe:
# permissions-policy: camera=(), microphone=(), geolocation=()

# 3. Auf verschiedenen Seitentypen testen
curl -sI https://ihre-domain.de/beispiel-beitrag | grep -i permissions-policy

# 4. Admin-Bereich testen
curl -sI https://ihre-domain.de/administrator | grep -i permissions-policy

Häufige Fehler bei Permissions Policy in Joomla

HTTP Headers Plugin ist deaktiviert — kein Header gesetzt

Das Plugin muss unter System → Plugins aktiviert sein. Ohne aktives Plugin wird kein Permissions-Policy-Header gesetzt. Prüfen Sie auch, ob der Header korrekt als "Permissions-Policy" (nicht "Feature-Policy") eingetragen ist.

Google Maps oder YouTube-Embeds funktionieren nicht mehr

Google Maps benötigt geolocation=(self "https://maps.google.com") in der Policy. YouTube-Embeds brauchen je nach Nutzung weitere Permissions. Testen Sie nach der Konfiguration alle Seiten mit eingebetteten Drittanbieter-Inhalten.

Cache-Plugin liefert veraltete Header aus

Nach Header-Änderungen im HTTP Headers Plugin Cache leeren über System → Cache leeren oder php cli/joomla.php cache:clean. Drittanbieter-Cache-Extensions wie JotCache können veraltete Header zwischenspeichern.

Syntax-Fehler im Header-Wert — Browser ignoriert gesamte Policy

Permissions Policy nutzt eine strikte Syntax: feature=(allowlist). Häufiger Fehler: Leerzeichen nach Komma oder falsche Anführungszeichen. Prüfen Sie die Browser-Konsole auf Parsing-Fehler.

Compliance-Relevanz

Permissions Policy erfüllt konkrete Anforderungen aus mehreren Compliance-Frameworks, die für Unternehmen in der EU verbindlich sind. Fehlende oder falsch konfigurierte Header werden bei Sicherheits-Audits, Penetrationstests und automatisierten Compliance-Scans als Schwachstelle gewertet. Die korrekte Konfiguration über das Joomla HTTP Headers Plugin dokumentiert Ihre technischen Maßnahmen und stärkt Ihre Position bei NIS2-Audits.

NIS2 Art. 21 Abs. 2 lit. e — Minimierung der Angriffsfläche durch Deaktivierung nicht benötigter Browser-APIs
BSI APP.3.1.A14 — Permissions Policy als ergänzende Webserver-Absicherungsmaßnahme, Principle of Least Privilege für Browser-Features
DSGVO Art. 25 — Privacy by Design: Deaktivierung von Kamera, Mikrofon und Geolocation als technische Datenschutzmaßnahme
OWASP ASVS V14.4 — HTTP Security Headers Configuration, Feature Policy als Defense-in-Depth-Maßnahme

Wie steht Ihre Domain bei Permissions Policy?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.