Clickjacking-Schutz für AWS CloudFront

X-Frame-Options per Response Headers Policy setzen — mit Terraform und Console-Konfiguration für DENY und SAMEORIGIN.

AWS CloudFront · Schritt für Schritt

Clickjacking-Schutz auf AWS CloudFront

X-Frame-Options verhindert, dass Ihre Website in einem iframe auf fremden Seiten eingebettet wird — der wichtigste Schutz gegen Clickjacking-Angriffe. Der Header ist mit 10 von 166 Punkten ein Faktor im Wolf-Agents Web Security Check.

CloudFront bietet einen dedizierten frame_options-Block in der Response Headers Policy. Anders als bei Permissions-Policy müssen Sie keinen Custom Header verwenden. Die AWS-Managed SecurityHeadersPolicy setzt X-Frame-Options auf SAMEORIGIN.

1 Schritt 1 von 3

X-Frame-Options per Terraform setzen

Die Response Headers Policy bietet einen dedizierten frame_options-Block mit den Werten DENY oder SAMEORIGIN. Ergänzen Sie frame-ancestors in der CSP für modernen Browser-Support.

terraform/x-frame-options.tf Terraform
# terraform/x-frame-options.tf
resource "aws_cloudfront_response_headers_policy" "xfo" {
  name = "x-frame-options-policy"

  security_headers_config {
    frame_options {
      frame_option = "DENY"
      override     = true
    }
  }

  # Ergänzend: frame-ancestors in CSP
  custom_headers_config {
    items {
      header   = "Content-Security-Policy"
      value    = "frame-ancestors 'none'"
      override = true
    }
  }
}
2 Schritt 2 von 3

Konfiguration über die AWS Console

Im CloudFront Dashboard finden Sie X-Frame-Options unter Security Headers in der Response Headers Policy. Wählen Sie DENY für maximalen Schutz oder SAMEORIGIN, wenn Sie iframes auf der eigenen Domain benötigen.

AWS Console Dashboard
# AWS Console — Schritt für Schritt:
# 1. CloudFront → Distributions → [ID] → Behaviors → Edit
# 2. Response Headers Policy → Create/Edit Custom Policy
# 3. Security Headers → X-Frame-Options:
#    - Enabled: Yes
#    - Value: DENY
#    - Override Origin: Yes
# 4. Save Changes
3 Schritt 3 von 3

Verifizierung

Prüfen Sie den X-Frame-Options-Header per curl. In modernen Browsern hat frame-ancestors aus der CSP Vorrang vor X-Frame-Options — setzen Sie idealerweise beide konsistent.

Terminal Verifizieren
# X-Frame-Options prüfen
curl -sI https://ihre-domain.de | grep -i x-frame-options

# Erwartete Ausgabe:
x-frame-options: DENY

Häufige Fehler

SAMEORIGIN statt DENY gewählt

SAMEORIGIN erlaubt das Einbetten auf der eigenen Domain. Wenn Sie keine iframes nutzen, ist DENY die sicherere Option.

frame-ancestors und X-Frame-Options widersprechen sich

Wenn CSP frame-ancestors 'self' und X-Frame-Options DENY gesetzt sind, gewinnt frame-ancestors in modernen Browsern. Halten Sie beide konsistent.

Origin sendet eigenen X-Frame-Options-Header

Ohne override = true in der Policy wird der Origin-Header durchgelassen. Setzen Sie override = true für konsistentes Verhalten an allen Edge Locations.

Compliance-Relevanz

OWASP Top 10 listet Clickjacking unter A04:2021 Insecure Design. PCI DSS fordert Schutz gegen bekannte Angriffsvektoren. BSI IT-Grundschutz empfiehlt X-Frame-Options als Schutzmaßnahme. Der Wolf-Agents Web Security Check prüft X-Frame-Options und frame-ancestors auf korrekte Konfiguration.

Wie steht Ihre Domain bei X-Frame-Options?

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