Clickjacking-Schutz (X-Frame-Options) in Joomla konfigurieren

Clickjacking-Schutz (X-Frame-Options) 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

Clickjacking-Schutz (X-Frame-Options) in Joomla

Clickjacking-Schutz (X-Frame-Options) X-Frame-Options und das modernere frame-ancestors in der CSP schützen vor Clickjacking-Angriffen, bei denen Angreifer Ihre Seite in einem unsichtbaren iframe einbetten.. 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 setzen Sie X-Frame-Options über das Built-in HTTP Headers Plugin unter dem HTTP Headers Tab. Joomla setzt standardmäßig bereits X-Frame-Options: SAMEORIGIN für den Admin-Bereich — für das Frontend müssen Sie den Header manuell konfigurieren. 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 Clickjacking-Schutz (X-Frame-Options)-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.

Clickjacking-Schutz (X-Frame-Options)-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:  X-Frame-Options
Header Wert:  SAMEORIGIN

# → Speichern → System → Cache leeren
.htaccess Fallback
.htaccessFallback
# .htaccess — X-Frame-Options Fallback
<IfModule mod_headers.c>
  Header always set X-Frame-Options "SAMEORIGIN"
</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 x-frame-options

# Erwartete Ausgabe:
# x-frame-options: SAMEORIGIN

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

# 4. Admin-Bereich testen
curl -sI https://ihre-domain.de/administrator | grep -i x-frame-options

Häufige Fehler bei Clickjacking-Schutz (X-Frame-Options) in Joomla

HTTP Headers Plugin ist deaktiviert — Frontend ungeschützt

Das Plugin muss aktiviert sein. Der Joomla-Admin-Bereich setzt standardmäßig X-Frame-Options, aber das Frontend ist ohne Plugin-Konfiguration ungeschützt. Aktivieren Sie das Plugin und konfigurieren Sie den Header im HTTP Headers Tab.

ALLOW-FROM ist veraltet und wird nicht unterstützt

Der Wert ALLOW-FROM https://example.com wird von modernen Browsern nicht mehr unterstützt. Verwenden Sie stattdessen die CSP-Direktive frame-ancestors im CSP-Tab des HTTP Headers Plugins für granulare Kontrolle.

Extension setzt eigenen X-Frame-Options-Header

Sicherheits-Extensions wie RSFirewall oder Admin Tools können eigene X-Frame-Options-Werte setzen. Wenn beide aktiv sind, können widersprüchliche Header entstehen. Deaktivieren Sie die Header-Funktion in der Drittanbieter-Extension.

Core-Update setzt Plugin-Einstellungen zurück

Bei Joomla Core-Updates können Plugin-Einstellungen zurückgesetzt werden. Prüfen Sie nach jedem Update den HTTP Headers Tab und verifizieren Sie die Header per curl.

Compliance-Relevanz

Clickjacking-Schutz (X-Frame-Options) 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 — Schutz vor Clickjacking als Teil der Absicherung von Informationssystemen
BSI APP.3.1.A14 — X-Frame-Options als Pflicht-Header für die Webserver-Absicherung gegen Clickjacking-Angriffe
DSGVO Art. 32 — Schutz vor UI-Redressing als technische Maßnahme, die unbefugte Aktionen im Kontext des Benutzers verhindert
OWASP ASVS V14.4.7 — Anti-Clickjacking Header Requirements, X-Frame-Options oder frame-ancestors als Pflicht

Wie steht Ihre Domain bei Clickjacking-Schutz?

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