Mail サーバー : DKIM の設定2024/07/17 |
Postfix に DKIM (Domain Keys Identified Mail) を設定します。 生成した公開鍵を DNS に登録するため、DNS サーバー が必要となります。 |
|
[1] | OpenDKIM をインストールして設定します。 |
# 鍵ペアを生成 # -D (鍵を格納するディレクトリ) # -d (ドメイン名) # -s (セレクター名) ⇒ 任意の名称で OK [root@mail ~]# opendkim-genkey -D /etc/opendkim/keys/srv.world -d srv.world -s $(date "+%Y%m%d") [root@mail ~]# chown -R opendkim:opendkim /etc/opendkim/keys/srv.world [root@mail ~]# ll /etc/opendkim/keys/srv.world total 8 -rw-------. 1 opendkim opendkim 916 Jul 17 09:45 20240717.private -rw-------. 1 opendkim opendkim 315 Jul 17 09:45 20240717.txt
[root@mail ~]#
vi /etc/opendkim.conf # 39行目 : 変更 # Mode : s = sign # Mode : v = verify Mode sv # 92, 99行目 : コメント化 #Selector default #KeyFile /etc/opendkim/keys/default.private # 104, 109, 113, 116行目 : コメント解除 KeyTable /etc/opendkim/KeyTable SigningTable refile:/etc/opendkim/SigningTable ExternalIgnoreList refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts
[root@mail ~]#
vi /etc/opendkim/KeyTable # 最終行に追記 # # (セレクター名)._domainkey.(ドメイン名) (ドメイン名):(セレクター名):(プライベートキーのパス) # # 複数のドメインを扱う場合は 改行して同様に登録する 20240717._domainkey.srv.world srv.world:20240717:/etc/opendkim/keys/srv.world/20240717.private
[root@mail ~]#
vi /etc/opendkim/SigningTable # 最終行に追記 # # *@(ドメイン名) (セレクター名)._domainkey.(ドメイン名) # # 複数のドメインを扱う場合は 改行して同様に登録する *@srv.world 20240717._domainkey.srv.world
[root@mail ~]#
vi /etc/opendkim/TrustedHosts
# 信頼するホストを追加可能
127.0.0.1
::1
#host.example.com
#192.168.1.0/24
[root@mail ~]# systemctl enable --now opendkim |
[2] | Postfix の設定です。 |
[root@mail ~]#
vi /etc/postfix/main.cf # 最終行に追記 smtpd_milters = unix:/run/opendkim/opendkim.sock non_smtpd_milters = $smtpd_milters milter_default_action = accept[root@mail ~]# usermod -aG opendkim postfix [root@mail ~]# systemctl reload postfix |
[3] | DNS サーバー登録用の公開鍵を確認します。 |
# 公開鍵の内容 [root@mail ~]# cat /etc/opendkim/keys/srv.world/20240717.txt 20240717._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpFnfbuSpyu5M4kL5zoS8UU5eXzTonS+6bqHMcRFCJTK2KQHCJF57M5f7l2woVAmKyAqXzLvnzKGMZjn6wXNCDSTJsrw7tBNV7tep++thE5KDMJ9o1khU857Ipv64LBUeet+w5NMuJUG6akJ4zGumjiT+NaZM1GCM3Q325xPoakwIDAQAB" ) ; ----- DKIM key 20240717 for srv.world # ゾーンファイルへの登録は不要な文字を除いて 1 行にする [root@mail ~]# sed "s/^\t *//g" /etc/opendkim/keys/srv.world/20240717.txt | sed -z "s/\\n//g" | sed "s/( //g" | cut -d')' -f1 20240717._domainkey IN TXT "v=DKIM1; k=rsa; ""p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpFnfbuSpyu5M4kL5zoS8UU5eXzTonS+6bqHMcRFCJTK2KQHCJF57M5f7l2woVAmKyAqXzLvnzKGMZjn6wXNCDSTJsrw7tBNV7tep++thE5KDMJ9o1khU857Ipv64LBUeet+w5NMuJUG6akJ4zGumjiT+NaZM1GCM3Q325xPoakwIDAQAB" |
[4] | DNS サーバーへ公開鍵を登録します。 BIND のゾーンファイル へ登録する場合を例にします。 |
root@dns:~#
vi /var/named/srv.world.wan ..... ..... # 最終行に追記 20240717._domainkey IN TXT "v=DKIM1; k=rsa; ""p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpFnfbuSpyu5M4kL5zoS8UU5eXzTonS+6bqHMcRFCJTK2KQHCJF57M5f7l2woVAmKyAqXzLvnzKGMZjn6wXNCDSTJsrw7tBNV7tep++thE5KDMJ9o1khU857Ipv64LBUeet+w5NMuJUG6akJ4zGumjiT+NaZM1GCM3Q325xPoakwIDAQAB"root@dns:~# rndc reload
|
[5] | メールサーバー側で確認します。 |
[root@mail ~]# dig 20240717._domainkey.srv.world. txt
.....
.....
# 登録した内容の応答があれば OK
;; ANSWER SECTION:
20240717._domainkey.srv.world. 86400 IN TXT "v=DKIM1; k=rsa; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpFnfbuSpyu5M4kL5zoS8UU5eXzTonS+6bqHMcRFCJTK2KQHCJF57M5f7l2woVAmKyAqXzLvnzKGMZjn6wXNCDSTJsrw7tBNV7tep++thE5KDMJ9o1khU857Ipv64LBUeet+w5NMuJUG6akJ4zGumjiT+NaZM1GCM3Q325xPoakwIDAQAB"
.....
.....
[root@mail ~]# opendkim-testkey -d srv.world -s 20240717 -vvv
opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key '20240717._domainkey.srv.world'
opendkim-testkey: key not secure
opendkim-testkey: key OK
# [key OK] であれば OK
# * [key not secure] は DNSSEC に関するメッセージ
|
[6] |
最後に Gmail にでもメール送信して、受信メールのヘッダーに [DKIM: 'PASS'(Domain: srv.world)] と表示されていれば OK です。 |
Sponsored Link |