Cloudflare で DMARC を設定する手順
目次
この記事でわかること
- Cloudflare DNS で DMARC レコードを追加する具体的な手順
- p=none で観察する期間と次の判断
- Cloudflare の DMARC Management 機能との関係
- よくあるつまずきポイント
Cloudflare で DMARC を設定する全体像
Cloudflare で DMARC を設定するパターンは大きく 2 つあります。
- 手動で TXT レコードを追加(一番シンプル)
- Cloudflare Email Security の DMARC Management を使う(レポート集計まで一括)
中小企業で「まず DMARC を有効化したい」段階なら 1 で十分です。レポート集計まで自動化したいなら 2 を併用します。
DMARC の役割と仕組みの前提は DMARC とは|なりすまし対策の基本 を参照してください。
ステップ 1: 既存の SPF / DKIM を確認する
DMARC は SPF または DKIM の認証結果を前提に動きます。先に両方が pass する状態にしておきます。Cloudflare で DKIM が反映されない場合は、Cloudflare で DKIM が反映されないときの対処を参照してください。
dig TXT example.co.jp +short
dig TXT default._domainkey.example.co.jp +short
SPF が無い、または DKIM が未設定なら先に整えます。Cloudflare DNS 上での DKIM 設定は Cloudflare で DKIM を設定する手順 にまとめています。
SPF の include を増やしすぎると 10 lookup 超過で PermError になります。気になる場合は SPF レコード Flattening を参照。
ステップ 2: Cloudflare ダッシュボードで DMARC を追加
- Cloudflare にログイン → 対象ドメインを選択
- DNS → Records → 「Add record」をクリック
- Type: TXT を選択
- Name:
_dmarc(フルドメインは自動補完) - Content に DMARC レコードを貼り付け
- TTL: Auto(300 秒前後で運用される)
- Save
最初に貼るレコードは観察モードの p=none で固定します。
v=DMARC1; p=none; rua=mailto:dmarc@example.co.jp; adkim=r; aspf=r; pct=100
rua= の受信箱は、人が直接読む通常メールとは分けます。ノイズが多いため専用エイリアスを用意するのが安全です。
ステップ 3: 反映を確認する
数分後に以下で確認します。
dig TXT _dmarc.example.co.jp +short
"v=DMARC1; p=none; rua=mailto:dmarc@example.co.jp; ..."
外部ツール(mxtoolbox / dmarcian など)でも構文エラーが出ないかを確認します。テストメールを Gmail へ送り、メッセージのソースで dmarc=pass が出れば設定は通っています。
反映時間の考え方は DMARC は反映に何日かかる? を参照。
ステップ 4: 2〜4 週間レポートを観察
p=none のままで 2〜4 週間、rua= 宛に届くレポートを観察します。集計は dmarcian / EasyDMARC / Postmark などのツールを使うと一気に読みやすくなります。比較は DMARC レポート解析ツール おすすめ 7 選 を参照。
観察で確認したいのは次の点です。
- 自社が把握していない送信元(旧 ESP / グループ会社 / SaaS)が出ていないか
- 想定済みの送信元がすべて pass しているか
- 認証 fail のメールがどの IP から出ているか
ステップ 5: p=quarantine → p=reject に段階強化
問題が無いと判断できたら p=quarantine に上げ、さらに 2 週間問題が無ければ p=reject に進めます。途中で fail のメールが急増したら一旦 p=none に戻して原因を特定します。詳細なロードマップは DMARC ポリシー強化の手順 を参照。
v=DMARC1; p=quarantine; rua=mailto:dmarc@example.co.jp; pct=25
pct=25 のように適用比率を絞る方法もあります。fail 急増時の影響範囲を 1/4 に抑えながら様子を見られます。
Cloudflare 固有の便利機能
DMARC Management(Email Security)
Cloudflare のメニュー Email → DMARC Management から、レポート受信先(rua=)を Cloudflare のエンドポイントに向ける機能が提供されています。ダッシュボード上で集計結果がそのまま見えるため、外部 SaaS を別契約せずに済みます。
ただし、ベンダー比較で軸を作りたい場合は dmarcian / EasyDMARC など独立系の集計ツールも検討する価値があります。判断材料は DMARC レポート解析ツール おすすめ 7 選 を参照。
Cloudflare Workers で送信する場合
Cloudflare Workers から SaaS 経由で送信する構成では、DMARC アラインメントを意識します。From ヘッダの組織ドメインと DKIM 署名ドメインが一致していないと DMARC fail になります。Workers ベースのメール送信は Cloudflare で DKIM を設定する手順 も併読してください。
よくある失敗
失敗 1: _dmarc 以外のサブドメインに置いてしまう
DMARC は必ず _dmarc.example.co.jp の TXT です。dmarc.example.co.jp ではありません。
失敗 2: SPF と同じく TXT を 2 本に分けてしまう
DMARC は 1 ドメインに 1 本だけ。2 本以上あると無効です。既存レコードを更新する形で 1 本に統合します。
失敗 3: rua の受信箱が満杯 / フィルタで弾かれる
レポートはノイズが多いため、人の受信箱に直接届けるとフィルタで弾かれることがあります。専用エイリアスや集計ツール経由が安全です。
まとめ
- Cloudflare DNS で DMARC は TXT 1 本で開始できる
- 必ず
p=noneから始め、2〜4 週間レポートを観察 - 問題なければ
quarantine→rejectに段階強化 - レポート集計は Cloudflare Email Security か外部 SaaS で
まずは現状を把握しましょう
Cloudflare 配下のドメインで DMARC が正しく機能しているかは、ドメイン番人の無料診断で確認できます。設定変更後の動作確認にもお使いください。判断に迷う場合はお問い合わせからご相談ください。