Check ID: dns_rsasha1_in_use_to_key_sign_in_dnssec
Provider: GCP
Service: dns
Severity: MEDIUM
Categories: encryption
Resource type: dns.googleapis.com/ManagedZone

What this check verifies

Cloud DNS zones are assessed for DNSSEC Key-Signing Key (KSK) algorithms, specifically detecting use of rsasha1. Zones with KSKs on modern algorithms are distinguished from those still using rsasha1.

Risk

Using rsasha1 for KSK weakens DNSSEC. Collision-based forgeries can enable signed record spoofing, resulting in domain hijack, cache poisoning, and redirection-compromising integrity and confidentiality. Some validators reject SHA-1, causing resolution errors and reduced availability.

Recommendation

Adopt strong, supported DNSSEC algorithms for KSKs (e.g., ECDSAP256SHA256 or RSASHA256) and retire rsasha1. Rotate keys and validate changes before deployment. Keep KSK and ZSK algorithms consistent, document key-rotation policy, and enforce least privilege for DNS/DNSSEC administration.

Remediation

gcloud dns managed-zones update <example_resource_name> —dnssec-state on —ksk-algorithm RSASHA256 —ksk-key-length 2048 —zsk-algorithm RSASHA256 —zsk-key-length 1024

References

Where this check fires

This check runs on every scheduled scan against your GCP account. Findings appear at Cloud Security → Findings filterable by Check ID = dns_rsasha1_in_use_to_key_sign_in_dnssec. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to GCP checks