HSTS für AWS CloudFront konfigurieren
HTTP Strict Transport Security per Response Headers Policy aktivieren — mit max-age, includeSubDomains, Preload und HTTPS-Redirect.
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.
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 — 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
}
} 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 — 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 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.
# 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.