Skip to content

Domain Name System Security Extensions (DNSSEC) signing is not enabled for Amazon Route 53 public hosted zones

Description

This policy detects when Domain Name System Security Extensions (DNSSEC) signing is not enabled for Amazon Route 53 public hosted zones.

Code Example

go
# Define a Route 53 public hosted zone
resource "aws_route53_zone" "example" {
  name = "example.com"
}

# Enable DNSSEC for the hosted zone
resource "aws_route53_hosted_zone_dnssec" "example" {
  hosted_zone_id = aws_route53_zone.example.zone_id
}

# Optionally, define a key signing key (KSK) for DNSSEC
resource "aws_route53_key_signing_key" "example" {
  hosted_zone_id         = aws_route53_zone.example.zone_id
  name                   = "example-key"
  key_management_service_arn = "arn:aws:kms:us-west-2:123456789012:key/your-kms-key-id" # Replace with your KMS key ARN
  status                 = "ACTIVE"
}

Remediation

Terraform

  • Resource: aws_route53_zone, aws_route53_hosted_zone_dnssec, aws_route53_key_signing_key, aws_route53_zone_association

Rule Details

FieldValue
IDIAC-0472
SeverityHIGH
IaC TypeTerraform
FrameworksTerraform, TerraformPlan
Checkov IDCKV2_AWS_38

References