postfix+opendkimでお名前.comにDKIMを設定する

送信側の方で電子メールに電子署名をして、受信側で照合するといったやり方で送信者のドメインの認証を行うDKIMの設定手順となります。ここでは、お名前.comでの手順を例に記述してます。
環境
- サーバー さくらのクラウド
- ドメイン お名前.com
- OS CentOS Linux release 7.7.1908 (Core)
- Postfix 2.10.1
opendkimインストール
まずはopendkimをインストールします。
yum install opendkim
インストールするとユーザーが追加されていることが確認できます。
getent passwd
<出力結果>
opendkim:x:993:990:OpenDKIM Milter:/var/run/opendkim:/sbin/nologin
DKIM鍵作成
次に鍵を作成していきます。
ここではドメイン「example.com」を想定して作成していきます。
鍵を作成するためのディレクトリを作成します。
cd /etc/opendkim/keys/
mkdir example.com_keys
鍵を生成します。
セレクタ名は「default」としてます。
opendkim-genkey -D example.com_keys -d example.com -s default
生成された鍵を確認してみます。
ls example.com_keys
<出力結果>
default.private default.txt
default.private : 秘密鍵
default.txt : 公開鍵
となります。
鍵ファイルの権限を、OpenDKIMサーバから参照できるよう権限の変更を行います。
chown -R opendkim:opendkim ./example.com_keys
DNS登録
鍵が生成できたので、DNSに登録していきます。
まずは生成された公開鍵を確認します。
cat ./example.com_keys/default.txt
<出力結果>
default._domainkey IN TXT ( "v=DKIM1; k=rsa; "
"p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSP3q9bpq/qdmXagKWRHZM3at+yXWxJVvsCRLZaBn9xVRppnYOe6uele4vgXysBhZUP9BF913gppx6lICKiZ9KKrwI20jajepfIMlE5flQVG+jeygUP7k5+Kl7XuRkNOVoAQM1w8mIuM3YgY8DPocnH5WtJbKhi1WvB0++WOUWXXXXXXX" ) ;
----- DKIM key default for example.com
確認した公開鍵を、お名前.comのDNSにTXTレコードを下記の内容で追加します。
ホスト名:default._domainkey
TYPE:txt
TTL:3600
VALUE:v=DKIM1;k=rsa;p=MIGfMA0GCSqGSIb3DQEB.........

DKIMの認証結果の ポリシー である、ADSPも登録しておきます。
通常は「 dkim=unknown 」なのでunknownで設定します。
- all 対象ドメインから送信されるメールは、全てのメールに電子署名が付与される
- unknown 対象ドメインから送信されるメールの一部、またはすべてに、 電子署名が付
- discardable 対象ドメインから送信されるメールは、全てのメールに電子署名が付与される 。電子署名がない場合は、破棄することが推奨される
ホスト名:_adsp._domainkey
TYPE:txt
TTL:3600
VALUE:dkim=unknown

OpenDKIM署名設定
opendkimの設定を編集していきます。
vim /etc/opendkim.conf
<編集>
## 送信時に署名し受信時は検証
Mode sv
以下はコメントアウトを外す
KeyFile /etc/opendkim/keys/default.private
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable編集
vi /etc/opendkim/KeyTable
<編集>
default._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com_keys/default.private
SigningTable編集
vi /etc/opendkim/SigningTable
<編集>
*@example.com default._domainkey.example.com
TrustedHosts編集
vi /etc/opendkim/TrustedHosts
<編集>
127.0.0.1
::1
OpenDKIM起動
自動起動の設定と起動を行います。
systemctl enable --now opendkim
Postfix設定
最後にpostfixとopendkimを連携させるため、postfixの設定を行います。
vi /etc/postfix/main.cf
<編集>
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
DKIM確認
こちらのサイトで確認することが可能です。
ドメイン名とセレクタ「default」を入力します。

成功していれば下記の画像が表示されます。

-
前の記事
Nuxt.js ライブラリ「vue-chartkick」を使用して様々な種類のチャートを実装する 2020.06.26
-
次の記事
docker-composeインストール時に「docker-compose: error while loading shared libraries: libz.so.1: failed to map segment from shared object: Operation not permitted」が発生した場合の対処法 2020.06.26
コメントを書く