Postfix で DKIM の検証に対応する

VPS 上で動作しているメールサーバについて、DKIM の検証を行うようにしてみた。
今回は受信するメールについてのみチェックするだけなので、思っていたより簡単だった。

  • 前提
    OS : Debian GNU/Linux 6.0 squeeze (おそらく 5.0 lenny でも同様に設定可能)
    MTA : Postfix 2.7.1
  • dkim-filter をインストール
    # apt-get install dkim-filter
    # /etc/init.d/dkim-filter stop
  • Postfix と連携できるようにする
    • /etc/default/dkim-filter
      以下を追加する。
      ※ローカルホスト 60001 ポートで接続する例。
      ※ Debian の場合、Postfix が chroot で動作しているため、そのままではソケットで通信できない。
      SOCKET="inet:60001@localhost"
    • /etc/dkim-filter.conf
      検証のみおよびそのほかの諸設定。
      AutoRestart		yes
      AutoRestartRate	10/1h
      Background		yes
      Mode			v
    • /etc/postfix/main.cf
      以下を追加する。
      smtpd_milters = inet:127.0.0.1:60001
      milter_default_action = accept 
  • サービスの起動など
    # /etc/init.d/dkim-filter start
    # /etc/init.d/postfix restart
  • 確認
    GMail から設定したメールサーバへメールを投げてみて「Authentication-Results:」で Pass しているか見てみる。
  • 追記
    DKIM の署名にも対応させてみた。

※公開同時は、lenny に合わせて記載していたが、sqeeze リリース向けに内容を修正。(2011/12/21)