OpenDKIM for Postfix on CentOS 7

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

コメントを残す 0

Your email address will not be published.