DKIM (Domain Keys Identified Mail) 送信者認証システムのオープンソース実装で現在は IETF によって標準化されています
OpenDKIM パッケージは DKIM サービスを実装したライブラリと milter ベースのフィルターアプリケーションで構成されています
DKIM を実装していない MTA からのメール転送は受信拒否されるケースも増えてきています
OpenDKIM についてマニュアルおよび詳細については下記の公式ページを参照願います
OpenDKIM
http://www.opendkim.org/
ここでは CentOS 7 での Postfix への OpenDKIM 実装例を紹介します
一例なので皆様の環境に合わせて適宜、読み替えてください
OpenDKIM のインストール
yum からインストールします
# yum -y install opendkim
秘密鍵と公開鍵の作成
鍵を保存するためのフォルダーを作成後、opendkim-genkey により鍵を生成する
# mkdir /etc/opendkim/keys/sayabo.com # opendkim-genkey -D /etc/opendkim/keys/sayabo.com -d sayabo.com -s 20200131
生成された鍵のオーナーとグループを変更します
# chown opendkim:opendkim /etc/opendkim/keys/sayabo.com/20200131.private # chown opendkim:opendkim /etc/opendkim/keys/sayabo.com/20200131.txt
公開鍵の内容
公開鍵の内容(値)をクリップボードへコピーします
# vi /etc/opendkim/keys/sayabo.com/20200131.txt 20200131._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=ABCDEFG321......" ) ; ----- DKIM key 20200131 for sayabo.com
DNS へのレコード追加
お名前.com のケースです
公開鍵レコードの登録
上記にてコピーした公開鍵の内容(値)を登録します
[ホスト名]:20200131._domainkey
[TYPE]:TXT
[VALUE]:v=DKIM1; k=rsa; p=ABCDEFG321……
続けてADSP レコードの登録します
[ホスト名]:_adsp._domainkey
[TYPE]:TXT
[VALUE]:dkim=unknown
公開鍵レコードの確認
dig コマンドにて 公開鍵レコードの確認を行います
# dig 20200131._domainkey.sayabo.com txt
ADSPレコードの確認
dig コマンドにて ADSP レコードの確認を行います
# dig _adsp._domainkey.sayabo.com txt
OpenDKIMの設定
OpenDKIM の設定ファイルを開き以下の内容で編集します
# vi /etc/opendkim.conf Mode sv #KeyFile /etc/opendkim/keys/default.private KeyTable /etc/opendkim/KeyTable SigningTable refile:/etc/opendkim/SigningTable ExternalIgnoreList refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts
OpenDKIM のキーテーブルファイルを開き以下の内容で編集します
# vi /etc/opendkim/KeyTable 20200131._domainkey.sayabo.com sayabo.com:20200131:/etc/opendkim/keys/sayabo.com/20200131.private
OpenDKIM の署名テーブルファイルを開き以下の内容で編集します
# vi /etc/opendkim/SigningTable *@sayabo.com 20200131._domainkey.sayabo.com
秘密鍵を自動生成しないように設定する
# vi /etc/sysconfig/opendkim AUTOCREATE_DKIM_KEYS=NO
OpenDKIM サービス起動
OpenDKIM のサービスを起動します
# systemctl start opendkim.service # systemctl enable opendkim.service
Postfix の設定
milter との連携設定のため main.cf へ下記の内容を追記する
milter の設定はできていることが前提です
# vi /etc/postfix/main.cf # DKIM smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = $smtpd_milters milter_default_action = accept
Postfix へ反映させるためサービスを再起動します
# systemctl restart postfix.service
spf レコードの確認
SPF Record Testing Tools
https://www.kitterman.com/spf/validate.html
メールのヘッダー確認
【NGの場合】
Authentication-Results: mx.google.com;
dkim=pass header.i=@sayabo.com header.s=20200131 header.b=”TWl0/ySq”;
spf=permerror (google.com: permanent error in processing during lookup of xxx@sayabo.com: xxx.sayabo.com not found)
【OKの場合】
Authentication-Results: mx.google.com;
dkim=pass header.i=@sayabo.com header.s=20200131 header.b=S+AreWet;
spf=pass (google.com: domain of xxx@sayabo.com designates xxx.xxx.xxx.xxx as permitted sender) smtp.mailfrom=xxx@sayabo.com
以上です
Was this helpful?
0 / 0