KUSANAGI にDKIMを入れるメモ

今回もKUSANAGIネタです。
DKIM承認に対応したくてやってみるメモです。
OSはCentOS7なはず。

では行ってみます。

広告

DKIM導入するぞ

こちらを参考にやってみます。
CentOS Postfix 迷惑メール判定されないDKIM設定(複数ドメイン)

# yum install -y epel-release

み込んだプラグイン:fastestmirror, langpacks
Determining fastest mirrors
epel/x86_64/metalink                                                                                                           | 9.5 kB  00:00:00     
epel-debuginfo/x86_64/metalink                                                                                                 | 9.7 kB  00:00:00     
epel-source/x86_64/metalink                                                                                                    | 9.5 kB  00:00:00     
 * base: ftp.iij.ad.jp
 * epel: nrt.edge.kernel.org
 * epel-debuginfo: nrt.edge.kernel.org
 * epel-source: nrt.edge.kernel.org
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
base                                                                                                                           | 3.6 kB  00:00:00     
epel                                                                                                                           | 4.7 kB  00:00:00     
epel-debuginfo                                                                                                                 | 3.0 kB  00:00:00     
epel-source                                                                                                                    | 3.5 kB  00:00:00     
extras                                                                                                                         | 2.9 kB  00:00:00     
groonga-centos                                                                                                                 | 3.0 kB  00:00:00     
kusanagi                                                                                                                       | 2.9 kB  00:00:00     
mariadb                                                                                                                        | 2.9 kB  00:00:00     
updates                                                                                                                        | 2.9 kB  00:00:00     
zabbix                                                                                                                         | 2.9 kB  00:00:00     
zabbix-non-supported                                                                                                           |  951 B  00:00:00     
(1/6): epel/x86_64/group_gz                                                                                                    |  95 kB  00:00:00     
(2/6): epel/x86_64/updateinfo                                                                                                  | 1.0 MB  00:00:00     
(3/6): epel-debuginfo/x86_64/primary_db                                                                                        | 817 kB  00:00:00     
(4/6): epel-source/x86_64/updateinfo                                                                                           | 1.0 MB  00:00:00     
(5/6): epel-source/x86_64/primary_db                                                                                           | 2.4 MB  00:00:00     
(6/6): epel/x86_64/primary_db                                                                                                  | 6.9 MB  00:00:00     
パッケージ epel-release-7-13.noarch はインストール済みか最新バージョンです
何もしません

何もしませんwww

では次

OpenDKIMのインストール

# yum -y install opendkim

読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: nrt.edge.kernel.org
 * epel-debuginfo: nrt.edge.kernel.org
 * epel-source: nrt.edge.kernel.org
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ opendkim.x86_64 0:2.11.0-0.1.el7 を インストール
--> 依存性の処理をしています: libopendkim(x86-64) = 2.11.0-0.1.el7 のパッケージ: opendkim-2.11.0-0.1.el7.x86_64
--> 依存性の処理をしています: libbsd.so.0(LIBBSD_0.0)(64bit) のパッケージ: opendkim-2.11.0-0.1.el7.x86_64
--> 依存性の処理をしています: libbsd.so.0()(64bit) のパッケージ: opendkim-2.11.0-0.1.el7.x86_64
--> 依存性の処理をしています: libmilter.so.1.0()(64bit) のパッケージ: opendkim-2.11.0-0.1.el7.x86_64
--> 依存性の処理をしています: libopendbx.so.1()(64bit) のパッケージ: opendkim-2.11.0-0.1.el7.x86_64
--> 依存性の処理をしています: libopendkim.so.11()(64bit) のパッケージ: opendkim-2.11.0-0.1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libbsd.x86_64 0:0.8.3-1.el7 を インストール
---> パッケージ libopendkim.x86_64 0:2.11.0-0.1.el7 を インストール
---> パッケージ opendbx.x86_64 0:1.4.6-6.el7 を インストール
---> パッケージ sendmail-milter.x86_64 0:8.14.7-6.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

======================================================================================================================================================
 Package                                  アーキテクチャー                バージョン                              リポジトリー                   容量
======================================================================================================================================================
インストール中:
 opendkim                                 x86_64                          2.11.0-0.1.el7                          epel                          222 k
依存性関連でのインストールをします:
 libbsd                                   x86_64                          0.8.3-1.el7                             epel                           85 k
 libopendkim                              x86_64                          2.11.0-0.1.el7                          epel                           75 k
 opendbx                                  x86_64                          1.4.6-6.el7                             epel                           46 k
 sendmail-milter                          x86_64                          8.14.7-6.el7                            base                           71 k

トランザクションの要約
======================================================================================================================================================
インストール  1 パッケージ (+4 個の依存関係のパッケージ)

総ダウンロード容量: 498 k
インストール容量: 1.2 M
Downloading packages:
(1/5): libbsd-0.8.3-1.el7.x86_64.rpm                                                                                           |  85 kB  00:00:00     
(2/5): opendbx-1.4.6-6.el7.x86_64.rpm                                                                                          |  46 kB  00:00:00     
(3/5): opendkim-2.11.0-0.1.el7.x86_64.rpm                                                                                      | 222 kB  00:00:00     
(4/5): libopendkim-2.11.0-0.1.el7.x86_64.rpm                                                                                   |  75 kB  00:00:00     
(5/5): sendmail-milter-8.14.7-6.el7.x86_64.rpm                                                                                 |  71 kB  00:00:00     
------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                  2.0 MB/s | 498 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : libbsd-0.8.3-1.el7.x86_64                                                                                             1/5 
  インストール中          : libopendkim-2.11.0-0.1.el7.x86_64                                                                                     2/5 
  インストール中          : opendbx-1.4.6-6.el7.x86_64                                                                                            3/5 
  インストール中          : sendmail-milter-8.14.7-6.el7.x86_64                                                                                   4/5 
  インストール中          : opendkim-2.11.0-0.1.el7.x86_64                                                                                        5/5 
  検証中                  : libopendkim-2.11.0-0.1.el7.x86_64                                                                                     1/5 
  検証中                  : libbsd-0.8.3-1.el7.x86_64                                                                                             2/5 
  検証中                  : opendkim-2.11.0-0.1.el7.x86_64                                                                                        3/5 
  検証中                  : sendmail-milter-8.14.7-6.el7.x86_64                                                                                   4/5 
  検証中                  : opendbx-1.4.6-6.el7.x86_64                                                                                            5/5 

インストール:
  opendkim.x86_64 0:2.11.0-0.1.el7                                                                                                                    

依存性関連をインストールしました:
  libbsd.x86_64 0:0.8.3-1.el7     libopendkim.x86_64 0:2.11.0-0.1.el7     opendbx.x86_64 0:1.4.6-6.el7     sendmail-milter.x86_64 0:8.14.7-6.el7    

完了しました!

完了です。

Perl Getopt::Long モジュールのインストール

Perl Getopt::Longモジュールが必要らしい。

# yum -y install perl-Getopt-Long.noarch

読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: nrt.edge.kernel.org
 * epel-debuginfo: nrt.edge.kernel.org
 * epel-source: nrt.edge.kernel.org
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
パッケージ perl-Getopt-Long-2.40-3.el7.noarch はインストール済みか最新バージョンです
何もしません

何もしませんwww

インストールはopendkimだけで良かったみたい。

opendkimでキーペア(秘密鍵/公開鍵)を作成する

さて、ここからが本番でしょう。

マルチドメインの場合、ディレクトリ分けすると良いらしい。

//任意にテキトーな名前

# mkdir /etc/opendkim/keys/任意

opendkim-genkey コマンドを利用して電子署名用のキーペアを作成。
参考にさせてもらったサイトではセレクタ名は日付でした。

# opendkim-genkey -D /etc/opendkim/keys/ディレクトリ/ -d ドメイン -s セレクタ名

lsで存在を確認して、
所有権の設定。


# ls /etc/opendkim/keys/ディレクトリ
20210108.private  20210108.txt

# chown -R opendkim:opendkim /etc/opendkim/keys/

これでキーペアの作業は完了です。
思ったよりも簡単だな。

DNSにDKIMレコードを登録する

公開鍵は生成されたファイルの中に記載。

# cat /etc/opendkim/keys/ディレクトリ/セレクタ名.txt
20210108._domainkey     IN      TXT     ( "v=DKIM1; k=rsa; "
          "p=***********" )  ; ----- DKIM key 20210108 for ドメイン

DNSに登録する部分は(”v=DKIM1; ~~ p=***”)の部分との事。

DNSに登録

セレクタ名._domainkey.ドメイン.  IN TXT "v=DKIM1; k=rsa; p=公開鍵データ"
_adsp._domainkey.ドメイン.  IN TXT "dkim=レコード値"

//"dkim=レコード値" は dkim=unkown が一般的らしい

conohaのDNSだと

タイプ 名称          値
txt   セレクタ名._domainkey  v=DKIM1; k=rsa; p=公開鍵データ
txt  _adsp._domainkey      dkim=レコード値"

登録後確認は
DKIM Record Checker

これで大丈夫

opendkim.confの設定

//念のためオリジナルを残す
# cp /etc/opendkim.conf /etc/opendkim.conf.org
# vim /etc/opendkim.conf


//モードの変更 s:送信時に署名する v:受信時に確認する
Mode    sv

//OpenDKIMのソフトウェアバージョン秘匿
SoftwareHeader no
#KeyfileではなくKeyTableを利用する。
#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 ← #を外して有効化


マルチドメイン対応のKeyFile , KeyTableパラメーター

# vim /etc/opendkim/KeyTable
セレクタ名._domainkey.ドメイン ドメイン:セレクタ:/etc/opendkim/keys/ディレクトリ/セレクタ名.private
セレクタ名._domainkey.サブドメイン サブドメイン:セレクタ名:/etc/opendkim/keys/ディレクトリ/セレクタ名.private

//異なるドメイン
セレクタ名._domainkey.ドメイン2 ドメイン2:セレクタ名:/etc/opendkim/keys/ディレクトリ2/セレクタ名.private

サブドメインはメインドメインと共通で良いらしい。
他のドメインは追記。

マルチドメイン対応のSigningTableパラメータ

# vim /etc/opendkim/SigningTable
*@ドメイン セレクタ名._domainkey.ドメイン
*@サブドメイン セレクタ名._domainkey.サブドメイン

存在する分記載。

リレーサーバ対応

# vim /etc/opendkim/TrustedHosts
127.0.0.1
::1

//グローバルIP追加
123.12.143.123 的な

OpenDKIMの起動

# systemctl start opendkim
# systemctl enable opendkim

OpenDKIMの設定完了。
結構色々ありますね。

PostfixとOpenDKIMを連携させる

main.cfの設定

vim  /etc/postfix/main.cf

# DKIM連携の設定
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = inet:127.0.0.1:8891
milter_default_action = accept

あとはチェックして再起動で終わりです。

# postfix check
# systemctl restart postfix

こんな感じでDKIMがPASSになります。




おすすめのコンテンツ

広告

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください