今回も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になります。
おすすめのコンテンツ
広告