CentOS6.2でOpenDKIM(DomainKeys Identified Mail)のインストール、設定

OpenDKIMをインストールして、送信メールのヘッダーにDKIM認証を付与させます。メールアドレスの実在性を保障するものですので、有効設定したほうがよいみたいです。

特にヤフーメールなどフリーメールに送信する時、この設定をしておかないと、スパムメールとしてはねられる可能性があるみたいです。

OpenDKIMのインストール

インストールした環境は、OS:CentOS6.2、メール転送エージェント:Postffix2.3.3です。

epelのrepoを取得するとyumでインストールできます。epelのrepoを取得はこちらを参照。

[root@localhost ~]# yum install sendmail-devel openssl-devel
[root@localhost ~]# yum --enablerepo=epel install opendkim
================================================================================
  Package              Arch            Version               Repository     Size
  ================================================================================
  Installing:
  opendkim             x86_64          2.4.2-5.el5           epel          222 k
  Installing for dependencies:
  libopendkim          x86_64          2.4.2-5.el5           epel           65 k
Transaction Summary
  ================================================================================
  Install       2 Package(s)

依存関係にあるlibopendkim もインストールされました。

OpenDKIMの設定

秘密鍵の保管場所をドメインごとに作ります。

[root@localhost ~]# mkdir /etc/opendkim/keys/example.com
[root@localhost ~]# /usr/bin/opendkim-genkey -D /etc/opendkim/keys/example.com/ -d example.com -s default
[root@localhost ~]# chown -R opendkim:opendkim /etc/opendkim/keys
[root@localhost ~]# mv /etc/opendkim/keys/example.com/default.private /etc/opendkim/keys/example.com/default

opendkim.confの設定

[root@localhost ~]# vi /etc/opendkim.conf
PidFile /var/run/opendkim/opendkim.pid
Syslog  yes
SyslogSuccess yes
Mode sv #sは送信時の署名、vは受信時の確認
UserID  opendkim:opendkim
Domain                  example.com
Socket  inet:8891@localhost #postfixの設定と合わせる
Umask   002
Slector        default
#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の設定

[root@localhost ~]# vi /etc/opendkim/KeyTable
default._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com/default

TrustedHostsの設定

[root@localhost ~]# vi /etc/opendkim/TrustedHosts
127.0.0.1
localhost
mail.example.com

SigningTableの設定

[root@localhost ~]# vi /etc/opendkim/SigningTable
*@example.com default._domainkey.example.com

DNSの設定

[root@localhost ~]# cat /etc/opendkim/keys/example.com/default.txt
で表示された次の内容をDNSサーバーに登録します。
default._domainkey IN TXT "v=DKIM1; r=postmaster; g=*; k=rsa; p=MIGfMA0GCSqGS--省略" ; ----- DKIM default for example.com
また、DNSにDKIMポリシーを記載します。
_adsp._domainkey.example.com    IN    TXT    "dkim=unknown"
unknownは、このドメインから送信されるメールのいくつか、またはすべてに、メール作成者署名が得られるという意味とのこと。

postfixの設定

[root@localhost ~]# vi /etc/postfix/main.cf
smtpd_milters = unix:/var/run/milter-manager/milter-manager.sock
non_smtpd_milters       = $smtpd_milters
milter_default_action   = accept

milter-managerがインストールされていたら、自動でopendkimが検出されます。

milter-managerのインストールはこちらを参照。

milter-managerをインストールしない場合は次の設定です。

[root@localhost ~]# vi /etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:8891
  non_smtpd_milters       = $smtpd_milters
  milter_default_action   = accept

そして次のコマンドを入力。

[root@localhost ~]# service opendkim start
  Generating default DKIM keys:                              [  OK  ]
  Default DKIM keys for net created in /etc/opendkim/keys.
  Starting OpenDKIM Milter:                                  [  OK  ]
[root@localhost ~]# service milter-manager restart
  Shutting down milter manager:                              [  OK  ]
  Starting milter manager:                                   [  OK  ]
[root@localhost ~]# service postfix reload
  postfix を再読み込み中:                                    [  OK  ]
[root@localhost ~]# chkconfig opendkim on

sa-test@sendmail.netにメールして、返信でDKIMがgoodとあったら問題ないです。

Authentication System: DomainKeys Identified Mail (DKIM)
Result: DKIM signature confirmed GOOD
Description: Signature verified, message arrived intact
Reporting host: sendmail.net
More information: http://dkim.org/
Sendmail milter: http://opendkim.org/

こちらのサイト様を参照しました。http://stevejenkins.com/blog/2010/09/how-to-get-dkim-domainkeys-identified-mail-working-on-centos-5-5-and-postfix-using-opendkim/

複数ドメインの設定

複数ドメインを取り扱う場合の設定方法は次の通りです。例として、example2.comを追加します。

[root@localhost ~]# vi /etc/opendkim.conf
#カンマ区切りでドメインを追加
Domain                  example.com, example2.com
[root@localhost ~]# mkdir /etc/opendkim/keys/example2.com
[root@localhost ~]# /usr/bin/opendkim-genkey -D /etc/opendkim/keys/example2.com/ -d example2.com -s default
[root@localhost ~]# chown -R opendkim:opendkim /etc/opendkim/keys
[root@localhost ~]# mv /etc/opendkim/keys/example2.com/default.private /etc/opendkim/keys/example2.com/default
[root@localhost ~]# vi /etc/opendkim/KeyTable
default._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com/default
#以下を追加
default._domainkey.example2.com example.com:default:/etc/opendkim/keys/example2.com/default
[root@localhost ~]# vi /etc/opendkim/SigningTable
*@example.com default._domainkey.example.com
#以下を追加
*@example2.com default._domainkey.example2.com
[root@localhost ~]# cat /etc/opendkim/keys/example2.com/default.txt
で表示された次の内容をDNSサーバーに登録します。
default._domainkey IN TXT "v=DKIM1; r=postmaster; g=*; k=rsa; p=MIGfMA0GCSqGS--省略" ; ----- DKIM default for example2.com
また、DNSにDKIMポリシーを記載します。
_adsp._domainkey.example2.com    IN    TXT    "dkim=unknown"
[root@localhost ~]# service opendkim restart
  Stoping OpenDKIM Milter:                                   [  OK  ]
  Starting OpenDKIM Milter:                                  [  OK  ]
[root@localhost ~]# service postfix reload
  postfix を再読み込み中:                                    [  OK  ] 

“CentOS6.2でOpenDKIM(DomainKeys Identified Mail)のインストール、設定” への 2 件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です