TLS & Zertifikate für AWS CloudFront

ACM-Zertifikate mit DNS-Validierung, Security Policy TLSv1.2_2021 und automatische Erneuerung — per Terraform und Console.

AWS CloudFront · Schritt für Schritt

TLS & Zertifikate auf AWS CloudFront

TLS-Zertifikate sind die Grundlage für verschlüsselte HTTPS-Verbindungen. AWS Certificate Manager (ACM) stellt kostenlose, automatisch erneuernde Zertifikate bereit — kein manuelles Erneuern nötig. Die CloudFront Security Policy bestimmt, welche TLS-Versionen und Cipher Suites akzeptiert werden. TLS ist mit 4 von 166 Punkten ein Faktor im Wolf-Agents Web Security Check.

Wichtig: ACM-Zertifikate für CloudFront müssen in us-east-1 (N. Virginia) erstellt werden — unabhängig von der Region Ihrer anderen Ressourcen. Die Security Policy TLSv1.2_2021 ist die empfohlene Einstellung und unterstützt ausschließlich TLS 1.2 und 1.3 mit modernen Cipher Suites. OCSP Stapling ist bei CloudFront automatisch aktiviert.

ACM-Zertifikate unterstützen DNS- und E-Mail-Validierung. DNS-Validierung ist die empfohlene Methode: ACM erstellt einen CNAME-Record, den Sie in Route 53 hinterlegen. Das Zertifikat wird automatisch alle 13 Monate erneuert, solange der Validierungsrecord existiert.

1 Schritt 1 von 3

ACM-Zertifikat und Security Policy per Terraform

Erstellen Sie ein ACM-Zertifikat mit DNS-Validierung in us-east-1 und weisen Sie es der CloudFront-Distribution zu. Die Security Policy TLSv1.2_2021 unterstützt TLS 1.2 und 1.3 mit modernen Cipher Suites. Der lifecycle-Block stellt sicher, dass bei Erneuerung zuerst das neue Zertifikat erstellt wird, bevor das alte gelöscht wird.

terraform/tls.tf Terraform
# terraform/tls.tf — ACM + CloudFront TLS
resource "aws_acm_certificate" "main" {
  provider          = aws.us_east_1
  domain_name       = "ihre-domain.de"
  validation_method = "DNS"

  subject_alternative_names = [
    "*.ihre-domain.de",
  ]

  lifecycle {
    create_before_destroy = true
  }
}

# DNS-Validierungsrecord in Route 53
resource "aws_route53_record" "cert_validation" {
  for_each = {
    for dvo in aws_acm_certificate.main.domain_validation_options : dvo.domain_name => {
      name   = dvo.resource_record_name
      record = dvo.resource_record_value
      type   = dvo.resource_record_type
    }
  }

  zone_id = aws_route53_zone.main.id
  name    = each.value.name
  type    = each.value.type
  ttl     = 60
  records = [each.value.record]
}

# CloudFront mit TLS 1.2+ und HTTPS-Redirect
resource "aws_cloudfront_distribution" "main" {
  viewer_certificate {
    acm_certificate_arn      = aws_acm_certificate.main.arn
    ssl_support_method       = "sni-only"
    minimum_protocol_version = "TLSv1.2_2021"
  }

  default_cache_behavior {
    viewer_protocol_policy = "redirect-to-https"
  }
}
2 Schritt 2 von 3

Konfiguration über die AWS Console

Im CloudFront Dashboard konfigurieren Sie TLS unter General Settings. Wählen Sie das ACM-Zertifikat aus und setzen Sie die Security Policy auf TLSv1.2_2021. Stellen Sie sicher, dass die Viewer Protocol Policy auf HTTPS-Redirect gesetzt ist, damit alle HTTP-Anfragen automatisch auf HTTPS umgeleitet werden.

AWS Console Dashboard
# AWS Console — TLS-Konfiguration:
# 1. ACM → Request Certificate → DNS Validation
#    WICHTIG: Zertifikat muss in us-east-1 erstellt werden!
# 2. Route 53 → CNAME-Record für Validierung anlegen
#    (ACM zeigt den benötigten Record an)
# 3. CloudFront → Distribution → General → Edit
# 4. Custom SSL Certificate → ACM Zertifikat auswählen
# 5. Security Policy: TLSv1.2_2021
#    (enthält nur TLS 1.2+ Cipher Suites)
# 6. SSL Support Method: SNI Only
# 7. Viewer Protocol Policy: Redirect HTTP to HTTPS
# 8. Save Changes
Die Security Policy TLSv1 (Standard) erlaubt TLS 1.0 — das ist unsicher und verhindert eine gute Note bei SSL Labs. Setzen Sie immer explizit TLSv1.2_2021 für maximale Sicherheit.
3 Schritt 3 von 3

Verifizierung

Prüfen Sie die TLS-Version, Cipher Suites und das Zertifikat per curl und openssl. Für eine vollständige Analyse nutzen Sie den SSL Labs Test — mit der Security Policy TLSv1.2_2021 und korrektem HSTS erreichen Sie die Note A+. Der Wolf-Agents Web Security Check analysiert TLS-Details automatisch.

Terminal Verifizieren
# TLS-Version prüfen
curl -sI -v https://ihre-domain.de 2>&1 | grep "SSL connection"

# Erwartete Ausgabe:
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256

# Zertifikat-Details prüfen
echo | openssl s_client -connect ihre-domain.de:443 \
  -servername ihre-domain.de 2>/dev/null | \
  openssl x509 -noout -dates -issuer

# Erwartete Ausgabe:
notBefore=Mar 29 00:00:00 2026 GMT
notAfter=Apr 28 23:59:59 2027 GMT
issuer=CN = Amazon RSA 2048 M03, O = Amazon, C = US

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

# SSL Labs Test (Note A+ erreichbar)
# https://www.ssllabs.com/ssltest/analyze.html?d=ihre-domain.de

Häufige Fehler

ACM-Zertifikat nicht in us-east-1

CloudFront akzeptiert nur Zertifikate aus der Region us-east-1. Ein Zertifikat in eu-central-1 wird im CloudFront-Dropdown nicht angezeigt. Nutzen Sie einen Provider-Alias in Terraform.

Security Policy TLSv1 statt TLSv1.2_2021

Die Standard-Security-Policy erlaubt TLS 1.0 und veraltete Cipher Suites. Setzen Sie explizit TLSv1.2_2021 — diese unterstützt nur sichere TLS 1.2+ Cipher Suites und erreicht Note A+ bei SSL Labs.

DNS-Validierung nicht abgeschlossen

ACM-Zertifikate mit DNS-Validierung erfordern einen CNAME-Record. Ohne diesen bleibt das Zertifikat im Status "Pending validation". Bei Route 53 erstellt Terraform den Record automatisch — bei externen DNS-Anbietern manuell.

Zertifikat-Erneuerung scheitert

ACM erneuert Zertifikate automatisch, wenn der DNS-Validierungsrecord existiert. Löschen Sie den CNAME-Record nicht — sonst scheitert die Erneuerung und das Zertifikat läuft ab.

Compliance-Relevanz

PCI DSS fordert TLS 1.2 oder höher für alle Verbindungen, die Kreditkartendaten übertragen — TLS 1.0 und 1.1 sind explizit verboten. BSI IT-Grundschutz (APP.3.1.A12) empfiehlt ausschließlich TLS 1.2 und 1.3 mit Perfect Forward Secrecy. NIS2 fordert Verschlüsselung für Daten in Transit — TLS ist die Standardumsetzung. DSGVO (Art. 32) verlangt angemessene technische Maßnahmen zum Schutz personenbezogener Daten — TLS-Verschlüsselung ist die Grundvoraussetzung. Der Wolf-Agents Web Security Check prüft TLS-Version, Cipher Suites und Zertifikat-Gültigkeit.

Wie steht Ihre Domain bei TLS?

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