OpenDKIMをインストール・設定してみた
OpenDKIMのインストール
opendkim, opendkim-toolsをインストールする
$ sudo dnf install opendkim
メタデータの期限切れの最終確認: 0:11:52 時間前の 2023年12月10日 20時01分00秒 に実施しました。
依存関係が解決しました。
============================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
============================================================================================================================================
インストール:
opendkim x86_64 2.11.0-0.34.el8 ol8_developer_EPEL 245 k
依存関係のインストール:
libbsd x86_64 0.11.7-2.el8 ol8_developer_EPEL 121 k
libmd x86_64 1.1.0-1.el8 ol8_developer_EPEL 46 k
libmemcached-libs x86_64 1.0.18-17.el8 ol8_appstream 137 k
libopendkim x86_64 2.11.0-0.34.el8 ol8_developer_EPEL 84 k
opendbx x86_64 1.4.6-21.el8 ol8_developer_EPEL 57 k
sendmail-milter x86_64 8.15.2-34.0.1.el8 ol8_appstream 82 k
トランザクションの概要
============================================================================================================================================
インストール 7 パッケージ
ダウンロードサイズの合計: 773 k
インストール後のサイズ: 1.7 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/7): libopendkim-2.11.0-0.34.el8.x86_64.rpm 48 kB/s | 84 kB 00:01
(2/7): libmd-1.1.0-1.el8.x86_64.rpm 22 kB/s | 46 kB 00:02
(3/7): libbsd-0.11.7-2.el8.x86_64.rpm 52 kB/s | 121 kB 00:02
(4/7): opendbx-1.4.6-21.el8.x86_64.rpm 42 kB/s | 57 kB 00:01
(5/7): opendkim-2.11.0-0.34.el8.x86_64.rpm 153 kB/s | 245 kB 00:01
(6/7): libmemcached-libs-1.0.18-17.el8.x86_64.rpm 91 kB/s | 137 kB 00:01
(7/7): sendmail-milter-8.15.2-34.0.1.el8.x86_64.rpm 49 kB/s | 82 kB 00:01
--------------------------------------------------------------------------------------------------------------------------------------------
合計 160 kB/s | 773 kB 00:04
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール中 : sendmail-milter-8.15.2-34.0.1.el8.x86_64 1/7
scriptletの実行中: sendmail-milter-8.15.2-34.0.1.el8.x86_64 1/7
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2011.1.2.el8uek.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2011.7.4.el8uek.x86_64.conf:6: hwcap directive ignored
インストール中 : libmemcached-libs-1.0.18-17.el8.x86_64 2/7
インストール中 : opendbx-1.4.6-21.el8.x86_64 3/7
インストール中 : libmd-1.1.0-1.el8.x86_64 4/7
インストール中 : libbsd-0.11.7-2.el8.x86_64 5/7
インストール中 : libopendkim-2.11.0-0.34.el8.x86_64 6/7
scriptletの実行中: opendkim-2.11.0-0.34.el8.x86_64 7/7
インストール中 : opendkim-2.11.0-0.34.el8.x86_64 7/7
scriptletの実行中: opendkim-2.11.0-0.34.el8.x86_64 7/7
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2011.1.2.el8uek.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2011.7.4.el8uek.x86_64.conf:6: hwcap directive ignored
検証 : libbsd-0.11.7-2.el8.x86_64 1/7
検証 : libmd-1.1.0-1.el8.x86_64 2/7
検証 : libopendkim-2.11.0-0.34.el8.x86_64 3/7
検証 : opendbx-1.4.6-21.el8.x86_64 4/7
検証 : opendkim-2.11.0-0.34.el8.x86_64 5/7
検証 : libmemcached-libs-1.0.18-17.el8.x86_64 6/7
検証 : sendmail-milter-8.15.2-34.0.1.el8.x86_64 7/7
インストール済み:
libbsd-0.11.7-2.el8.x86_64 libmd-1.1.0-1.el8.x86_64 libmemcached-libs-1.0.18-17.el8.x86_64 libopendkim-2.11.0-0.34.el8.x86_64
opendbx-1.4.6-21.el8.x86_64 opendkim-2.11.0-0.34.el8.x86_64 sendmail-milter-8.15.2-34.0.1.el8.x86_64
完了しました!
$ sudo dnf install opendkim-tools
メタデータの期限切れの最終確認: 0:27:39 時間前の 2023年12月10日 20時01分00秒 に実施しました。
依存関係が解決しました。
============================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
============================================================================================================================================
インストール:
opendkim-tools x86_64 2.11.0-0.34.el8 ol8_developer_EPEL 85 k
トランザクションの概要
============================================================================================================================================
インストール 1 パッケージ
ダウンロードサイズの合計: 85 k
インストール後のサイズ: 201 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
opendkim-tools-2.11.0-0.34.el8.x86_64.rpm 49 kB/s | 85 kB 00:01
--------------------------------------------------------------------------------------------------------------------------------------------
合計 49 kB/s | 85 kB 00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール中 : opendkim-tools-2.11.0-0.34.el8.x86_64 1/1
scriptletの実行中: opendkim-tools-2.11.0-0.34.el8.x86_64 1/1
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2011.1.2.el8uek.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2011.7.4.el8uek.x86_64.conf:6: hwcap directive ignored
検証 : opendkim-tools-2.11.0-0.34.el8.x86_64 1/1
インストール済み:
opendkim-tools-2.11.0-0.34.el8.x86_64
完了しました!
$
DKIM署名用の鍵作成
作成先ディレクトリを/etc/opendkim/keys 以下に作成する。
$ sudo mkdir /etc/opendkim/keys/example.jp
$
opendkim-genkeyで鍵ファイルを作成する
sudo /usr/sbin/opendkim-genkey -v -b 2048 -D /etc/opendkim/keys/example.jp -d example.jp -s 20231210
opendkim-genkey: generating private key
opendkim-genkey: private key written to 20231210.private
opendkim-genkey: extracting public key
opendkim-genkey: DNS TXT record written to 20231210.txt
$
鍵ファイルのowner/groupをopendkim:opendkimに変更する(作成時点では root:root)
$ sudo chown opendkim:opendkim /etc/opendkim/keys/example.jp/20231210.private
$ sudo chown opendkim:opendkim /etc/opendkim/keys/example.jp/20231210.txt
$
DNSレコード登録
DKIMの公開鍵を セレクタ名._domainkey.example.jp. に登録する。
登録後、権威DNSサーバに対して公開鍵レコードの問い合わせを行い、設定した値が返って来ることを確認する。
OpenDKIMの設定
/etc/opendkim.conf を変更する。
39c39
< Mode v
---
> Mode sv
99c99
< KeyFile /etc/opendkim/keys/default.private
---
> #KeyFile /etc/opendkim/keys/default.private
104c104
< # KeyTable /etc/opendkim/KeyTable
---
> KeyTable /etc/opendkim/KeyTable
109c109
< # SigningTable refile:/etc/opendkim/SigningTable
---
> SigningTable refile:/etc/opendkim/SigningTable
113c113
< # ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
---
> ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
116c116
< # InternalHosts refile:/etc/opendkim/TrustedHosts
---
> InternalHosts refile:/etc/opendkim/TrustedHosts
次に
- /etc/opendkim/KeyTable に秘密鍵情報
- /etc/opendkim/SigningTable に署名を行うドメイン名
- /etc/opendkim/TrustedTable にメール送信を行うホストのIPアドレス
を記載します。なお、/etc/opendkim 以下のファイルのowner/groupはopendkim/opendkimとなるようにする。
その後、OpenDKIMを起動する。
# systemctl start opendkim
# systemctl status opendkim
● opendkim.service - DomainKeys Identified Mail (DKIM) Milter
Loaded: loaded (/usr/lib/systemd/system/opendkim.service; disabled; vendor preset: disabled)
Active: active (running) since Sun 2023-12-10 21:21:14 JST; 4s ago
Docs: man:opendkim(8)
man:opendkim.conf(5)
man:opendkim-genkey(8)
man:opendkim-genzone(8)
man:opendkim-testadsp(8)
man:opendkim-testkey
http://www.opendkim.org/docs.html
Main PID: 2859618 (opendkim)
Tasks: 3 (limit: 203056)
Memory: 1.5M
CGroup: /system.slice/opendkim.service
mq2859618 /usr/sbin/opendkim -f -x /etc/opendkim.conf
12月 10 21:21:14 kasumi.s14n.org systemd[1]: Started DomainKeys Identified Mail (DKIM) Milter.
12月 10 21:21:14 kasumi.s14n.org opendkim[2859618]: OpenDKIM Filter v2.11.0 starting (args: -f -x /etc/opendkim.conf)
#
起動確認が取れたら、OpenDKIMが自動起動するように設定しておく(systemctl enable opendkim)
Postfix設定
PostfixとOpenDKIMを連携させる。
- milterにOpenDKIMを追加する
- smtpd_milters
- non_smtp_milters
- milterのデフォルトの挙動を指定する
- milter_default_action
- ユーザpostfixをopendkimグループに追加しておく
- /run/opendkim/opendkim.sock 経由で接続するため