Skip to content

Commit b056da5

Browse files
irvingpopclaude
andauthored
Send DMARC reports to Cloudflare DMARC Management, not tech@ (#197)
- operationcode.org: rua now points to Cloudflare DMARC Management (sponsored Cloudflare account). Reports show in the Cloudflare dashboard, not in the tech@ inbox. - operationcode.net: remove rua. The domain sends no mail and uses p=reject, so reports are not needed. - Remove the operationcode.net._report._dmarc.operationcode.org authorization record. Nothing reports to .org for .net now. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 55e501f commit b056da5

2 files changed

Lines changed: 8 additions & 17 deletions

File tree

‎terraform/dns_operationcode_net.tf‎

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -62,24 +62,11 @@ resource "aws_route53_record" "net_apex_mx" {
6262
records = ["0 ."]
6363
}
6464

65-
# Strict DMARC: reject all spoofed mail, send aggregate reports to tech@
65+
# Strict DMARC: reject all spoofed mail, no aggregate reports
6666
resource "aws_route53_record" "net_dmarc" {
6767
zone_id = aws_route53_zone.operationcode_net.zone_id
6868
name = "_dmarc.operationcode.net"
6969
type = "TXT"
7070
ttl = 3600
71-
records = ["v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s; rua=mailto:tech@operationcode.org"]
72-
}
73-
74-
# DMARC report authorization (RFC 7489 section 7.1)
75-
# The rua address is in operationcode.org, a different domain than the one being reported on.
76-
# Receivers only send reports there if the .org zone publishes this record.
77-
# It lives in this file (not dns_operationcode_org.tf) because it exists only to support the .net DMARC record.
78-
# It is created in the operationcode.org zone, so it uses that zone's id.
79-
resource "aws_route53_record" "net_dmarc_report_auth" {
80-
zone_id = aws_route53_zone.operationcode.zone_id
81-
name = "operationcode.net._report._dmarc.operationcode.org"
82-
type = "TXT"
83-
ttl = 3600
84-
records = ["v=DMARC1"]
71+
records = ["v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s"]
8572
}

‎terraform/dns_operationcode_org.tf‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,14 +205,18 @@ resource "aws_route53_record" "apex_txt" {
205205
]
206206
}
207207

208-
# DMARC policy for the apex domain (monitoring only, p=none, aggregate reports to tech@)
208+
# DMARC policy for the apex domain (monitoring only, p=none)
209+
# Aggregate reports go to Cloudflare DMARC Management (sponsored Cloudflare account, zone operationcode.org).
210+
# View them in the Cloudflare dashboard: Email > DMARC Management. The rua address comes from
211+
# `cf email-auth dmarc-reports get -z operationcode.org` (rua_prefix). Cloudflare publishes the
212+
# cross-domain report authorization record, so no _report._dmarc record is needed here.
209213
# Next steps: enable Google DKIM, then move to p=quarantine, then p=reject
210214
resource "aws_route53_record" "apex_dmarc" {
211215
zone_id = aws_route53_zone.operationcode.zone_id
212216
name = "_dmarc.operationcode.org"
213217
type = "TXT"
214218
ttl = 3600
215-
records = ["v=DMARC1; p=none; rua=mailto:tech@operationcode.org"]
219+
records = ["v=DMARC1; p=none; rua=mailto:bdc9f1f573b64389b43f1a33b721a77d@dmarc-reports.cloudflare.net"]
216220
}
217221

218222
# ======================================================================

0 commit comments

Comments
 (0)