OpenDKIM

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 経由で接続するため