DNS-Sicherheit für AWS CloudFront

DNSSEC in Route 53 aktivieren und CAA Records setzen — DNS-Absicherung per Terraform mit KMS-basierter Schlüsselverwaltung.

AWS CloudFront · Schritt für Schritt

DNS-Sicherheit auf AWS

DNS-Sicherheit umfasst DNSSEC (Signierung von DNS-Antworten gegen Manipulation), CAA Records (Einschränkung erlaubter Zertifizierungsstellen) und optional DANE (Zertifikat-Pinning via DNS). Ohne DNSSEC können Angreifer DNS-Antworten fälschen und Nutzer auf Phishing-Seiten umleiten. DNS-Sicherheit ist mit 5 von 166 Punkten ein Faktor im Wolf-Agents Web Security Check.

Route 53 unterstützt DNSSEC-Signierung seit 2021 nativ. Die Schlüsselverwaltung erfolgt über AWS KMS — der KMS-Schlüssel muss zwingend in us-east-1 erstellt werden, unabhängig von der Region Ihrer anderen Ressourcen. CAA Records legen fest, dass nur autorisierte CAs (z.B. Amazon für ACM-Zertifikate) Zertifikate für Ihre Domain ausstellen dürfen.

Wichtig: DNSSEC schützt die DNS-Auflösung, nicht die Verbindung selbst. Für vollständige Sicherheit kombinieren Sie DNSSEC mit TLS (HSTS) und CAA Records. AWS unterstützt kein DANE (TLSA-Records), da CloudFront die TLS-Terminierung übernimmt.

1 Schritt 1 von 4

DNSSEC in Route 53 per Terraform aktivieren

Route 53 DNSSEC benötigt einen KMS-Schlüssel in us-east-1 mit dem Typ ECC_NIST_P256. Der Schlüssel signiert die DNS-Records Ihrer Zone. Nach der Aktivierung müssen Sie den DS-Record beim Domain-Registrar hinterlegen — bei Route 53 als Registrar geschieht dies automatisch, bei externen Registraren manuell.

terraform/dnssec.tf Terraform
# terraform/dnssec.tf — DNSSEC in Route 53
resource "aws_route53_key_signing_key" "main" {
  hosted_zone_id             = aws_route53_zone.main.id
  key_management_service_arn = aws_kms_key.dnssec.arn
  name                       = "dnssec-key"
}

resource "aws_route53_hosted_zone_dnssec" "main" {
  hosted_zone_id = aws_route53_zone.main.id
  depends_on     = [aws_route53_key_signing_key.main]
}

# KMS Key für DNSSEC (MUSS in us-east-1 sein!)
resource "aws_kms_key" "dnssec" {
  provider                 = aws.us_east_1
  customer_master_key_spec = "ECC_NIST_P256"
  key_usage                = "SIGN_VERIFY"
  description              = "DNSSEC KSK für Route 53"

  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [{
      Sid       = "AllowRoute53"
      Effect    = "Allow"
      Principal = { Service = "dnssec-route53.amazonaws.com" }
      Action    = ["kms:DescribeKey", "kms:GetPublicKey", "kms:Sign"]
      Resource  = "*"
    }]
  })
}
us-east-1 ist Pflicht

Route 53 DNSSEC akzeptiert den KMS-Schlüssel ausschließlich aus der Region us-east-1. Nutzen Sie einen Provider-Alias in Terraform (provider = aws.us_east_1), um den Schlüssel in der richtigen Region zu erstellen.

2 Schritt 2 von 4

CAA Records konfigurieren

CAA Records legen fest, welche CAs Zertifikate für Ihre Domain ausstellen dürfen. Für CloudFront mit ACM-Zertifikaten erlauben Sie amazon.com. Der issuewild-Record erlaubt Wildcard-Zertifikate. Der iodef-Record informiert Sie per E-Mail, wenn eine nicht autorisierte CA einen Ausstellungsversuch unternimmt.

terraform/caa.tf Terraform
# terraform/caa.tf — CAA Records
resource "aws_route53_record" "caa" {
  zone_id = aws_route53_zone.main.id
  name    = "ihre-domain.de"
  type    = "CAA"
  ttl     = 3600

  records = [
    "0 issue \"amazon.com\"",
    "0 issuewild \"amazon.com\"",
    "0 iodef \"mailto:security@ihre-domain.de\"",
  ]
}

# Falls Let's Encrypt zusätzlich erlaubt sein soll:
# "0 issue \"letsencrypt.org\""
# "0 issuewild \"letsencrypt.org\""
3 Schritt 3 von 4

DNSSEC über die AWS Console aktivieren

Ohne Terraform können Sie DNSSEC direkt im Route 53 Dashboard aktivieren. Die Console erstellt den KMS-Schlüssel und die Signierung in einem Schritt. Sie müssen anschließend den DS-Record beim Registrar hinterlegen.

AWS Console Dashboard
# AWS Console — DNSSEC aktivieren:
# 1. Route 53 → Hosted Zones → [Zone] → DNSSEC signing
# 2. "Enable DNSSEC signing" klicken
# 3. KMS Key erstellen oder vorhandenen auswählen
#    WICHTIG: Key muss in us-east-1 Region sein!
# 4. DS-Record beim Registrar hinterlegen
#    Route 53 zeigt den DS-Record nach Aktivierung an
# 5. Bei Route 53 als Registrar: automatisch eingetragen
# 6. Bei externem Registrar: manuell DS-Record eintragen
DNSSEC-Deaktivierung ist riskant. Wenn der DS-Record beim Registrar hinterlegt ist und Sie DNSSEC in Route 53 deaktivieren, wird Ihre Domain unerreichbar bis der DS-Record entfernt ist. Entfernen Sie den DS-Record immer vor der DNSSEC-Deaktivierung.
4 Schritt 4 von 4

Verifizierung

Prüfen Sie DNSSEC und CAA Records per dig. Für eine vollständige DNSSEC-Validierung nutzen Sie dnsviz.net — das Tool zeigt die komplette DNSSEC-Kette visuell an und identifiziert Konfigurationsfehler. Der Wolf-Agents Web Security Check prüft DNSSEC-Signierung und CAA Records automatisch bei jedem Scan.

Terminal Verifizieren
# DNSSEC prüfen
dig ihre-domain.de +dnssec +short

# DS-Record beim Registrar prüfen
dig ihre-domain.de DS +short

# CAA Records prüfen
dig ihre-domain.de CAA +short

# Erwartete Ausgabe:
0 issue "amazon.com"
0 issuewild "amazon.com"
0 iodef "mailto:security@ihre-domain.de"

# DNSSEC visuell prüfen (DNSViz)
# https://dnsviz.net/d/ihre-domain.de/dnssec/

Häufige Fehler

KMS-Key nicht in us-east-1

Route 53 DNSSEC benötigt den KMS-Schlüssel in us-east-1 — unabhängig von der Region Ihrer anderen Ressourcen. Nutzen Sie einen Provider-Alias in Terraform: provider = aws.us_east_1.

DS-Record nicht beim Registrar hinterlegt

DNSSEC funktioniert erst, wenn der DS-Record beim Registrar eingetragen ist. Bei einem externen Registrar (nicht Route 53) müssen Sie den DS-Record manuell eintragen. Ohne DS-Record wird DNSSEC nicht validiert.

CAA blockiert Wildcard-Zertifikate

Ohne issuewild-Record blockieren CAA Records Wildcard-Zertifikate (*.ihre-domain.de). Setzen Sie issuewild "amazon.com" explizit, wenn Sie ACM-Wildcard-Zertifikate verwenden.

DNSSEC-Deaktivierung ohne DS-Record-Entfernung

Wenn Sie DNSSEC deaktivieren, aber der DS-Record beim Registrar bleibt, wird Ihre Domain unerreichbar. Entfernen Sie den DS-Record immer zuerst und warten Sie 24-48 Stunden (TTL-Ablauf), bevor Sie DNSSEC deaktivieren.

Compliance-Relevanz

BSI IT-Grundschutz (APP.3.1.A11) empfiehlt DNSSEC für die Absicherung von DNS-Abfragen als Schutz gegen DNS-Spoofing. NIS2 fordert Maßnahmen zur Integrität der Netzwerkinfrastruktur — DNSSEC schützt vor DNS-Spoofing und Cache-Poisoning, die zu Man-in-the-Middle-Angriffen führen können. PCI DSS wertet DNS-Absicherung als zusätzliche Sicherheitsebene für die Netzwerkintegrität. DSGVO profitiert indirekt: CAA Records verhindern die Ausstellung unautorisierter Zertifikate, die für Phishing missbraucht werden könnten. Der Wolf-Agents Web Security Check prüft DNSSEC-Signierung und CAA Records automatisch.

Wie steht Ihre Domain bei DNS-Sicherheit?

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