いわマン備忘録

備忘録とちょっとした設定メモや小ネタをUPしたいと思っております。

opendkimの導入

yahooメール、gmail対策としてopendkimを導入してみる。

### 参考
http://www.jitaku-svr.info/index.php?opendkim_%E6%A7%8B%E7%AF%89#r6ed37af
http://kantaro-cgi.com/blog/etc-server/opendkim_setup.html

 

### opendkimインストール
yum -y --enablerepo=epel opendkim

### キー作成(例として「hogehoge.com」)
cd /etc/opendkim/keys/
mkdir hogehoge.com
cd hogehoge.com/

## キーペア生成
# -Dはどこに鍵を作成するか
# -d ドメイン名を指定
# -s セレクタ
opendkim-genkey -d hogehoge.com -s dkimselector

# 所有者変更
chown -R opendkim:opendkim /etc/opendkim/keys

### dkim設定

# 設定ファイル編集
/etc/opendkim.conf

# モード
Mode v

Mode sv

# KeyFileのコメントアウト
KeyFile /etc/opendkim/keys/default.private

#KeyFile /etc/opendkim/keys/default.private

# 追記
KeyTable refile:/etc/opendkim/KeyTable

# コメントアウトを外す
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts

## キーテーブルの設定編集
# KeyTableはメールを送信する際にヘッダに付与させる鍵の情報を示すファイル
vi /etc/opendkim/KeyTable

# 追記(ドメイン3箇所編集)
dkimselector._domainkey.hogehoge.com hogehoge.com:dkimselector:/etc/opendkim/keys/hogehoge.com/dkimselector.private

## TrustedHostsの設定
# どのサーバから通信を受けるかの設定。
# このサーバでしか通信を行わない場合は以下のようにしておけばOK。
vi /etc/opendkim/SigningTable

# 追記(ドメイン2箇所編集)
# ここでは「dkimselector._domainkey」としているので注意
*@hogehoge.com dkimselector._domainkey.hogehoge.com

## SigningTableの設定
# SigningTableはFromに対する鍵を付与する設定。
# ここでは、ml.jitaku-svr.infoから送信される(From)メールに対して鍵を付与させる。
# 正規表現を使用できる。(opendkim.confでrefile指定するため)
vi /etc/opendkim/SigningTable

# 追記
# ここでは「dkimselector._domainkey」としているので注意
*@hogehoge.com dkimselector._domainkey.hogehoge.com

## ExternalIgnoreListファイルの編集
# 特定のサーバを拒否する設定。
# 特に無ければファイルは作成せず。
vi /etc/opendkim/ExternalIgnoreList

### DNSにOpenDKIMの公開鍵を設定

## キーペア確認
less /etc/opendkim/keys/hogehoge.com/dkimselector.txt

# 中身を確認しながらDNSへ設定
# 使うDNSによって設定が異なるので注意
# ここでは「dkimselector._domainkey」としているので注意
# 自前DNSであれば「dkimselector._domainkey.fas-s.com.」とする「.」を付ける
# 「t=y;」を入れるとテストモード。テストが終わったら抜いてあげる。
Name dkimselector._domainkey.hogehoge.com
Type TXT
Value "v=DKIM1; k=rsa; t=y; p=MIGfMA0GCSqGS~・・・・"

## DKIM送信ポリシー(SSP)の設定
# 送信ポリシーを記述したTXT情報も設定

Name adsp.domainkey.hogehoge.com
Type TXT
Value "dkim=unknown"

### Postfixとの関連付け

# 設定ファイル編集
vi /etc/postfix/main.cf

# 追記内容
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept

# 各サービス起動 or 再起動
chkconfig opendkim on
service opendkim start
service postfix reload

# DKIMの検証 test@monmon.com → hogehoge@gmail.comへ送信した例
Delivered-To: hogehoge@gmail.com
Received: by 10.64.7.82 with SMTP id h18csp335096iea;
Tue, 14 Oct 2014 00:52:57 -0700 (PDT)
X-Received: by 10.70.40.134 with SMTP id x6mr3497252pdk.99.1413273177408;
Tue, 14 Oct 2014 00:52:57 -0700 (PDT)
Return-Path: <test@monmon.com>
Received: from monmon.com (mail.monmon.jp. [123.456.789.0])
by mx.google.com with ESMTP id bw11si3196636pdb.22.2014.10.14.00.52.56
for <hogehoge@gmail.com>;
Tue, 14 Oct 2014 00:52:56 -0700 (PDT)
Received-SPF: pass (google.com: domain of test@monmon.com designates 123.456.789.0 as permitted sender) client-ip=123.456.789.0;
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of test@monmon.com designates 123.456.789.0 as permitted sender) smtp.mail=test@monmon.com;
dkim=pass header.i=@monmon.com
Date: Tue, 14 Oct 2014 16:52:53 +0900
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fas-s.com;
s=dkimselector; t=1413273173;
bh=/4Gxll0APK5AYYPybyxaAaLkTGSdqrHTeoWwTpN7lP4=; h=To:Subject:From;
b=feXGaR7ZAj+5xcuw7qmdlWmCJIkS4KdOAdmWN+whnIBXm2A5tyk/Aaz7K7B0KZ+Gy
PLF+Fk8AofHrqSNLOnQfP3ng13ppzCRcUbFOq4VyejNApfB1HpgkIKoqRE37bWYQdh
Y2ZcNNHCDKcy2xX9aQqA6FP07cSlBlVK/KEhXp/8=
To: hogehoge@gmail.com
Subject: testdesu
User-Agent: Heirloom mailx 12.4 7/29/08
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Precedence: bulk
Content-Transfer-Encoding: 7bit
Message-Id: <20141014075253.376A4440EE8@monmon.com>
From: test@monmon.com (root)

abo-n

# ポイントとして
「Authentication-Results」で「dkim=pass」となっていること。
passじゃない時は再度設定を見直す。

# おまけ
「Precedence: bulk」も入れてみた。問題なさそうだ。