HSTS für AWS CloudFront konfigurieren

HTTP Strict Transport Security per Response Headers Policy aktivieren — mit max-age, includeSubDomains, Preload und HTTPS-Redirect.

AWS CloudFront · Schritt für Schritt

HSTS auf AWS CloudFront

HTTP Strict Transport Security (HSTS) weist Browser an, ausschließlich verschlüsselte HTTPS-Verbindungen zu verwenden. HSTS ist mit 15 von 166 Punkten ein wichtiger Faktor im Wolf-Agents Web Security Check. CloudFront bietet HSTS nativ in der Response Headers Policy — kein Custom Header nötig.

Die AWS-Managed SecurityHeadersPolicy setzt HSTS, aber ohne includeSubDomains und ohne preload. Damit ist die Domain nicht für die HSTS Preload List qualifiziert. Erstellen Sie eine Custom Policy mit allen drei Parametern.

1 Schritt 1 von 3

HSTS per Terraform konfigurieren

Die Response Headers Policy bietet einen dedizierten strict_transport_security-Block. In Kombination mit viewer_protocol_policy = "redirect-to-https" erzwingen Sie HTTPS auf CloudFront-Ebene.

terraform/hsts.tf Terraform
# terraform/hsts.tf — HSTS per Response Headers Policy
resource "aws_cloudfront_response_headers_policy" "hsts" {
  name = "hsts-policy"

  security_headers_config {
    strict_transport_security {
      access_control_max_age_sec = 31536000
      include_subdomains         = true
      preload                    = true
      override                   = true
    }
  }
}

# Distribution mit HTTPS-Redirect + HSTS
resource "aws_cloudfront_distribution" "main" {
  default_cache_behavior {
    viewer_protocol_policy     = "redirect-to-https"
    response_headers_policy_id = aws_cloudfront_response_headers_policy.hsts.id
  }
}
2 Schritt 2 von 3

HSTS über die AWS Console konfigurieren

Ohne Terraform können Sie HSTS direkt im CloudFront Dashboard konfigurieren. Die Console bietet einen eigenen HSTS-Bereich innerhalb der Security Headers. Vergessen Sie nicht, auch die Viewer Protocol Policy auf HTTPS-Redirect zu setzen.

AWS Console Dashboard
# AWS Console — Schritt für Schritt:
# 1. CloudFront → Distributions → [ID] → Behaviors → Edit
# 2. Response Headers Policy → Create Custom Policy
# 3. Security Headers:
#    - Strict-Transport-Security: Enabled
#    - Max-Age: 31536000
#    - Include Subdomains: Yes
#    - Preload: Yes
#    - Override Origin: Yes
# 4. Viewer Protocol Policy: Redirect HTTP to HTTPS
# 5. Save Changes
Preload ist quasi-permanent. Die Entfernung aus der Preload List dauert Monate. Stellen Sie sicher, dass alle Subdomains HTTPS unterstützen, bevor Sie bei hstspreload.org einreichen.
3 Schritt 3 von 3

Verifizieren und Preload beantragen

Prüfen Sie den HSTS-Header und den HTTP-Redirect per curl. Anschließend können Sie Ihre Domain bei der HSTS Preload List registrieren. Eine CloudFront-Invalidierung ist normalerweise nicht nötig, da HSTS als Response Header bei jedem Request neu gesetzt wird.

Terminal Verifizieren
# HSTS-Header prüfen
curl -sI https://ihre-domain.de | grep -i strict-transport-security

# Erwartete Ausgabe:
strict-transport-security: max-age=31536000; includeSubDomains; preload

# HTTP-Redirect prüfen
curl -sI http://ihre-domain.de | head -3

# Erwartete Ausgabe:
HTTP/1.1 301 Moved Permanently
Location: https://ihre-domain.de/

Häufige Fehler

Managed Policy ohne includeSubDomains

Die AWS-Managed SecurityHeadersPolicy setzt max-age=31536000, aber ohne includeSubDomains und ohne preload. Damit ist die Domain nicht Preload-fähig.

Viewer Protocol Policy auf allow-all

HSTS nützt nichts, wenn CloudFront auch HTTP-Verbindungen akzeptiert. Setzen Sie viewer_protocol_policy auf redirect-to-https oder https-only.

Origin sendet eigenen HSTS-Header

Wenn Ihr Origin (ALB, EC2, S3) bereits HSTS setzt und die Policy override = false hat, wird der Origin-Header durchgelassen. Setzen Sie override = true für konsistentes Verhalten.

Compliance-Relevanz

HSTS ist eine Grundvoraussetzung für sichere Websites. PCI DSS fordert die ausschließliche Nutzung starker Kryptografie — HSTS stellt sicher, dass keine unverschlüsselten Verbindungen möglich sind. BSI IT-Grundschutz (APP.3.1.A12) empfiehlt HTTPS-Erzwingung. NIS2 fordert technische Maßnahmen zur Verschlüsselung — HSTS mit Preload ist die stärkste Umsetzung. Der Wolf-Agents Web Security Check prüft HSTS inklusive Preload-Status und max-age-Wert.

Wie steht Ihre Domain bei HSTS?

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