Memo

メモ > サーバ > 構築: メールサーバ設定 > DKIMの設定

■DKIMの設定
■OpenDKIMインストール OpenDKIM で迷惑メール判定を回避する - Qiita https://qiita.com/bezeklik/items/a3619b5abc01ab38bec4 自ドメインのDNSとPostfixをSPF/DKIM対応させてみた - Qiita https://qiita.com/Sabuuuuu---nn/items/fc5448b7f5e3057365a1 CentOSのPostfixで迷惑メール判定されないようDKIMを設定する - レムシステム エンジニアブログ https://www.rem-system.com/dkim-postfix04/
# amazon-linux-extras install -y epel … EPELのインストール # yum install -y opendkim … OpenDKIMのインストール
■OpenDKIMの設定
# mkdir /etc/opendkim/keys/refirio.net … キーペア保存用ディレクトリ作成(管理ドメイン毎にキーペアを生成するため) # mkdir /etc/opendkim/keys/stg.refirio.net … stg.refirio.net も設定する場合
以降にある「20200409」は「default」でもいいか もしくは、複数回作成したり定期的にキーを変更したりするなら、記載のとおり日付の方がいいか
# opendkim-genkey -D /etc/opendkim/keys/refirio.net -d refirio.net -s 20200409 … キーペアの作成 # opendkim-genkey -D /etc/opendkim/keys/stg.refirio.net -d stg.refirio.net -s 20200409 … stg.refirio.net も設定する場合 # chown -R opendkim:opendkim /etc/opendkim/keys … 所有者の一括変更 # vi /etc/opendkim/KeyTable … KeyTableの変更
20200409._domainkey.refirio.net refirio.net:20200409:/etc/opendkim/keys/refirio.net/20200409.private 20200409._domainkey.stg.refirio.net stg.refirio.net:20200409:/etc/opendkim/keys/refirio.net/20200409.private … stg.refirio.net も設定する場合
※上記設定のフォーマットは以下のとおり [セレクタ名]._domainkey.[ドメイン名] [ドメイン名]:[セレクタ名]:[秘密鍵へのパス]
# vi /etc/opendkim/SigningTable … SigningTableの変更
*@refirio.net 20200409._domainkey.refirio.net *@stg.refirio.net 20200409._domainkey.stg.refirio.net … stg.refirio.net も設定する場合
※上記設定のフォーマットは以下のとおり *@[ドメイン名] [セレクタ名]._domainkey.[ドメイン名]
# vi /etc/opendkim.conf … 設定ファイルの編集
#Mode v Mode sv … 「s」送信時の署名「v」受信の確認の両方行う #KeyFile /etc/opendkim/keys/default.private … コメントアウト # KeyTable /etc/opendkim/KeyTable KeyTable /etc/opendkim/KeyTable … コメント解除 # SigningTable refile:/etc/opendkim/SigningTable SigningTable refile:/etc/opendkim/SigningTable … コメント解除 # ExternalIgnoreList refile:/etc/opendkim/TrustedHosts ExternalIgnoreList refile:/etc/opendkim/TrustedHosts … コメント解除 # InternalHosts refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts … コメント解除
■Postfixの設定
# vi /etc/postfix/main.cf … 最終行へ設定を追記
# DKIM smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = $smtpd_milters milter_default_action = accept
# systemctl restart postfix
※sendmailとPostfixでは、Milterと呼ばれるAPIが提供されている Milterを利用して外部プログラムと連携し、メールの受信や配送を制御する機能を追加できる Milterは通常、127.0.0.1の8891番ポートで稼働している DKIM署名を行なうための外部プログラムは、このアドレスとポートで待機している OpenDKIMの場合 /etc/opendkim.conf でポートを設定できるが、通常変更する必要は無い。また内部通信用なので、ファイヤーウォールで開放する必要も無い MTAとMilterによる外部連携 | OSSのデージーネット https://www.designet.co.jp/ossinfo/postfix/milter/ Postfix で dkim-milter(dkim-filter) を使ってDKIM に対応する(Debian/Ubuntu編) | レンタルサーバー・自宅サーバー設定・構築のヒント https://server-setting.info/debian/postfix-dkim-milter.html ■OpenDKIM起動
# systemctl start opendkim # systemctl enable opendkim
■DNSの設定 No サブドメイン 種別 内容 優先度 4 20200409._domainkey TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFzmEY4m3v2bNRL68kIGwtTkmFxs5IU+cQdZHLOEtNAi+7m33wvgEz/AAbWqxMUX5+lTNpon0nLSKRlcvKGmNfQWCtwAbQOt3n5HleiZrtme66G8o0cpWryI9YF7lWFzw0OPYm+oNwCZEd9x5aSEIWwtCxuiJjnDu7iZGnDwNtKwIDAQAB" 5 _adsp._domainkey TXT "dkin=unknown" ※20200409._domainkey の内容は /etc/opendkim/keys/refirio.net/20200409.txt の内容を参照する 複数行で以下のように記載されているので、上のように1行にして記載する
# cat /etc/opendkim/keys/refirio.net/20200409.txt 20200409._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFzmEY4m3v2bNRL68kIGwtTkmFxs5IU+cQdZHLOEtNAi+7m33wvgEz/AAbWqxMUX5+lTNpon0nLSKRlcvKGmNfQWCtwAbQOt3n5HleiZrtme66G8o0cpWryI9YF7lWFzw0OPYm+oNwCZEd9x5aSEIWwtCxuiJjnDu7iZGnDwNtKwIDAQAB" ) ; ----- DKIM key 20200409 for refirio.net
■反映の確認 別サーバから以下で反映を確認
$ dig 20200409._domainkey.refirio.net any $ dig _adsp._domainkey.refirio.net any
反映されていれば、Gmailに対してメールを送信してみる メッセージのソースを表示して以下のように表示されていれば成功 2020年4月時点に試したところ、SPFとDKIMの両方を設定して初めて、Gmailに迷惑メール扱いされなくなった DKIM: 'PASS'(ドメイン: refirio.net) ■PHPから送信 ※未検証 ※PHPの標準命令で送信する場合、PHPMailerでSMTPを使って送信する場合、の両方で 普通に送信すればDKIM署名付きで送信できているみたい PHPでDKIM署名を作成する | Tricorn Tech Labs https://lab.tricorn.co.jp/yamada/4109 反映されていれば、Gmailに対してメールを送信してみる メッセージのソースを表示して以下のように表示されていれば成功 DMARC: 'PASS'

Advertisement