M365EXO-017: DMARC policy published for each domain (MS.EXO.4.1)
- Platform
- Entra ID / M365
- Category
- Advanced Threat Protection
- Severity
- Critical
- Zero Trust pillar
- Applications & Workloads (weight 2)
- Golden fixtures
- 3
- Branch coverage
- Observed: fixtures prove the verdicts they exercise
- Provenance
- baseline
What it checks
SCuBA MS.EXO.4.1 requires that a DMARC policy be published for every second-level domain. DMARC is a DNS TXT record at _dmarc.<domain> that tells receivers how to handle mail failing SPF and DKIM and where to send reports. Without a DMARC record, receivers handle authentication failures inconsistently, allowing spoofed mail to reach inboxes.
Recommended value
A DMARC TXT record published at _dmarc for every second-level domain
Remediation
Publish a DMARC TXT record at _dmarc.<domain> for every second-level domain; a record at the second-level domain protects its subdomains. Begin with p=none to gather aggregate reports without affecting delivery, validate that legitimate sources align under SPF or DKIM, then progress the enforcement level. Confirm the record resolves correctly using a DNS lookup.
Fixture-proven verdicts
Every verdict below is proven by a golden fixture in the module's gating test suite. This table derives from the last green run; it cannot be edited by hand.
| Scenario | Expected verdict |
|---|---|
| clean | PASS |
| known-bad | FAIL |
| throttled | Not Assessed |
Framework mappings
- CISA SCuBA
- MS.EXO.4.1v1
- NIST SP 800-53
- SI-8
- MITRE ATT&CK
- T1566.001