OpenDMARC

メールのSPF・DKIMを補強する送信ドメイン認証技術(DMARC)を取り扱うプログラム。
別途スクリプトを組み合わせる事で、ドメイン認証レポート送信する事も出来る。
DMARCは仕組み上、単体利用する事が出来ない点に注意する。

構築環境

今回検証した環境はこちら

他には下記の通りに構築。

構築

1. インストール
OpenDMARCはディストリビューション毎にパッケージ名の差異が無いので、
各パッケージ管理システムに応じてインストールする。

 
2. 設定
項目についてはOpenDMARCのドキュメントに詳細が書いてあるので割愛。
DMARC評価結果はAuthentication-Resultsヘッダに追記するので、必要に応じてauthserv-idを設定する。
 

 設定内容

 
3. MTA設定
OpenDMARCを呼び出す為、MTA(Postfix)にmilter設定を追加する。
milterを追加する時、DKIM認証の前にDMARCを追加するとDKIM認証が崩れる。
回避するにはDKIM認証を弱く(relaxed/relaxed)するか、DKIM認証の後にDMARC評価を追加する。
下記は、DKIM認証後にDMARC評価を行うmilter設定となる。

稼働テスト

実際にメールを受信してSPF/DKIM/DMARCのヘッダーが追加されるかテストする。
GmailはSPF/DKIM/DMARC全てに対応しているので、Gmailからメールを送信する事でテストを行う。
設定が正常に出来ていると下記の様なヘッダが追加される。

Authentication-Results: mx.***-*****.com; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: mx.***-*****.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=********;
Authentication-Results: mx.***-*****.com; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=209.85.***.***.; helo=***.google.com; envelope-from=*****@gmail.com; receiver*****@***.***.***)