TMAegis
More rules for m365

TMA-M365-DKIM-ENABLED

Ensure DKIM signing is enabled for all Exchange Online domains

MediumLevel 1Automatedm365

Description

DKIM signatures let receivers verify mail really came from your domains and are a prerequisite for an enforcing DMARC policy. Prints the number of domains whose DKIM signing configuration is not enabled (expected 0). Requires an already-connected Exchange Online session: Install-Module ExchangeOnlineManagement; Connect-ExchangeOnline (View-Only Organization Management is sufficient). The audit throws if no session exists.

How it is checked

Audit method: Shell command

shell
$ErrorActionPreference = 'Stop'; if (-not (Get-Command Get-ConnectionInformation -ErrorAction SilentlyContinue) -or -not (Get-ConnectionInformation)) { throw 'Not connected: run Connect-ExchangeOnline first' }; $bad = @(Get-DkimSigningConfig -ErrorAction Stop | Where-Object { $_.Enabled -ne $true }); $bad.Count
Expected output
0

How it is fixed

Fix method: Guidance or infrastructure patch

Publish the selector1/selector2 CNAME records shown by Get-DkimSigningConfig -Identity <domain> | Format-List Selector*CNAME, then New-DkimSigningConfig -DomainName <domain> -Enabled $true or Set-DkimSigningConfig -Identity <domain> -Enabled $true.

Properties

Operating systems
Any
Tags
m365mail-auth
Reference
CIS Microsoft 365 Foundations Benchmark v7.0.0 - Exchange Online / DKIM (verify section number for your release)

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target m365