メーリングリスト経由で DMARC が壊れる問題と ARC による解決|運用者向けガイド
目次
この記事でわかること
- ML を通すと DMARC が壊れる仕組み(Subject prefix / From 書換)
- ML 運用者が取れる 3 つの対応(ARC 署名 / From rewriting / 配信制限)
- Mailman 3 / Sympa / Google Groups の対応状況
- ML 参加者ドメインが DMARC
p=rejectを有効化したときの巻き込み事故防止
ML を通すと DMARC が壊れる仕組み
ML は受信したメールを参加者全員に再配信する仕組みです。この過程で:
- Subject に
[ML名]を prefix: 本文 + Subject ハッシュが変わり DKIM 破綻 - From は元送信者のまま: DMARC のアラインメントは「From ドメイン」を基準にするが、SPF は ML サーバ IP になるため fail
- Reply-To / List-Post ヘッダ追加: 元のヘッダ署名範囲に含まれていると DKIM 破綻
- 本文末尾にフッター: 本文ハッシュが変わり DKIM 破綻
結果、参加者ドメインが DMARC p=reject を有効化すると、ML 経由のメールがすべて reject され、参加者にメールが届かなくなります。Yahoo / AOL が 2014 年に p=reject を有効化したとき、世界中の ML が機能不全になった事例があります。
ML 運用者が取れる 3 つの対応
1. ARC 署名を付ける(推奨)
ML サーバが受信時の認証結果を ARC ヘッダで残し、配信側でも再署名する。受信者ドメインが ARC を信頼すれば、DMARC fail でも spam 落ちを免れます。ARC 認証の深掘り 参照。
2. From rewriting(書換)
[email protected] via [email protected] のように From を ML 側に書き換え、Reply-To に元送信者を入れる。DMARC アラインメントは ML ドメインで pass しますが、参加者の受信トレイで送信者表示が複雑になり、返信先操作も必要。
3. 配信先制限
DMARC p=reject を設定しているドメインからの投稿に対しては From rewriting を強制、それ以外は素通しというハイブリッド運用。Mailman 3 が標準でサポート。
主要 ML ソフトの対応状況
- Mailman 3: ARC 署名対応(v3.3.0+)、DMARC mitigation で From rewriting オプション。推奨
- Mailman 2: ARC 未対応。From rewriting のみ。新規利用は非推奨、3 系への移行を
- Sympa: 6.2.40+ で ARC 対応
- Google Groups: ARC 対応済み(Google が ARC の主要推進者)
- GNU listserv / Majordomo: 古い ML ソフトは ARC 未対応のものが多い
ML 参加者ドメイン側の注意
参加者として ML に投稿するドメインが DMARC p=reject を有効化する前に:
- 社員が業務で参加している ML を棚卸し
- ML 運用者に ARC 対応状況を確認
- 必要なら ML 運用者に From rewriting への切替を依頼
- 段階強化(
p=none→quarantine→reject)で影響を観察
DMARC 段階強化の手順はDMARC ポリシーを quarantine に強化する手順を参照。
まずは現状を把握しましょう
ML 経由の DMARC fail はレポート(rua)で検知できます。無料のドメイン診断で SPF / DKIM / DMARC の状況を確認し、ML 運用や DMARC 段階強化の判断に迷う場合はお問い合わせからご相談ください。
関連記事: ARC 認証の深掘り / DMARC ポリシーを quarantine に強化する手順 / DMARC レポート 見方ガイド