Check ID:
Provider: Cloudflare
Service:
Severity: MEDIUM
Categories:
Resource type:
zone_record_dkim_existsProvider: Cloudflare
Service:
zoneSeverity: MEDIUM
Categories:
email-securityResource type:
ZoneWhat this check verifies
Cloudflare zones are assessed for DKIM (DomainKeys Identified Mail) records by checking if TXT records exist at*._domainkey subdomains containing a cryptographically valid public key in the p= parameter used to verify email signatures.
Risk
Without DKIM or with a revoked/empty public key, recipients cannot verify messages were sent by authorized servers. Attackers can forge emails from your domain, and content integrity cannot be proven. DMARC policies relying on DKIM will fail, affecting deliverability. A DKIM record with emptyp= indicates a revoked key.
Recommendation
Configure DKIM records with valid public keys from your email provider.- Each email service requires its own DKIM selector (e.g., google._domainkey for Google Workspace)
- The
p=parameter must contain the actual public key, not be empty - An empty
p=value indicates a revoked key and will fail this check - DKIM works alongside SPF and DMARC for comprehensive email authentication
- Rotate DKIM keys periodically for enhanced security
- Use 2048-bit keys for stronger cryptographic protection
Remediation
- Terraform
- Dashboard steps
References
Where this check fires
This check runs on every scheduled scan against your Cloudflare account. Findings appear at Cloud Security → Findings filterable byCheck ID = zone_record_dkim_exists. 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 Cloudflare checks