DMARCレコード -- メールポリシーの適用
DMARCのDNSレコードを設定して、ドメインをメールなりすましから保護する方法を解説します。ポリシー、アライメントモード、集約レポートの設定を理解しましょう。
TXTSecurity
Zone File Entry
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com; ruf=mailto:dmarc-forensic@example.com; adkim=s; aspf=s"
詳細な説明
DMARCレコードとは?
DMARC(Domain-based Message Authentication, Reporting, and Conformance)は、_dmarc.yourdomain.comにDNS TXTレコードとして公開されるメール認証ポリシーです。SPFとDKIMの認証チェックに失敗したメッセージをどう処理するかを、受信メールサーバーに指示します。
BINDゾーンファイルの構文
; 監視モード(推奨される開始ポイント)
_dmarc.example.com. 3600 IN TXT "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com"
; 失敗したメッセージを隔離
_dmarc.example.com. 3600 IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com; pct=50"
; 失敗したメッセージを拒否(完全な適用)
_dmarc.example.com. 3600 IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com; ruf=mailto:forensic@example.com; adkim=s; aspf=s"
DMARCタグの解説
| タグ | 説明 | 値 |
|---|---|---|
v |
バージョン(必須) | DMARC1 |
p |
ドメインのポリシー(必須) | none、quarantine、reject |
sp |
サブドメインのポリシー | none、quarantine、reject |
rua |
集約レポートの送信先 | mailto:address |
ruf |
フォレンジックレポートの送信先 | mailto:address |
adkim |
DKIMアライメントモード | r(緩和)、s(厳格) |
aspf |
SPFアライメントモード | r(緩和)、s(厳格) |
pct |
ポリシーを適用するメッセージの割合 | 0〜100 |
3つのポリシー
p=none-- 監視のみ。失敗したメッセージに対してアクションは取られませんが、レポートを受信します。ここから始めましょう。p=quarantine-- 失敗したメッセージはスパム/迷惑メールフォルダに送られます。p=reject-- 失敗したメッセージは完全に拒否され、配信されません。
アライメントモード
DMARCでは、SPFまたはDKIMのいずれかがFrom:ヘッダーのドメインとアライメントすることが必要です:
- 緩和(
r):組織ドメインの一致で十分(mail.example.comはexample.comとアライメント) - 厳格(
s):正確なドメインの一致が必要
推奨される導入パス
- **
p=none**とrua=mailto:...で始めてレポートを収集 - 2〜4週間集約レポートを分析し、すべての正当な送信者を特定
- すべての正当な送信者をSPFレコードに追加し、各送信者のDKIMを設定
- **
p=quarantine; pct=25**に移行し、割合を徐々に増加 - すべての正当なメールが通過することを確認したら、**
p=reject**をデプロイ
集約レポート(rua)
集約レポートは、受信サーバーから毎日送信されるXMLファイルです。DMARC評価に合格・不合格したメッセージ数の統計が含まれます。生のXMLは人間には読みにくいため、DMARCレポーティングサービスを使用してこれらのレポートを解析・可視化しましょう。
サブドメインポリシー
spタグでサブドメインに別のポリシーを設定できます。省略した場合、サブドメインはメインドメインのポリシーを継承します。p=noneの場合でもsp=rejectを設定することで、未使用のサブドメインをなりすましから保護できます。
ユースケース
DMARCレコードをデプロイして、SPFとDKIMチェックに失敗したメールの処理方法を受信メールサーバーに指示し、ドメイン名を使用したフィッシングやなりすまし攻撃を軽減します。