SPFレコードの設定
# nano /var/named/hoge-co.jp.db
末尾に
hoge-co.jp. IN TXT "v=spf1 +ip4:xxx.xxx.xxx.xxx +mx ~all"
※xxx.xxx.xxx.xxxはメールサーバのIPv4アドレス
を追加
BINDを再起動
# service named restart
OpenDKIM のインストール
# yum install -y –-enablerepo=epel opendkim
ディレクトリ作成
# mkdir /etc/opendkim/keys/hoge-co.jp
# opendkim-genkey -D /etc/opendkim/keys/hoge-co.jp -b 2048 -d hoge-co.jp -s 20220505
-b 1024以上でないとgoogleは認めてくれないが大きければ良い訳ではないようなので、2048とした。
-d 一般的にはメールアドレスの@より後ろのドメイン名を指定
-s 管理しやすい任意の文字列を指定 とりあえず日付
念のためパーミッションを変更
# chmod 700 /etc/opendkim/keys/*/
# chmod 600 /etc/opendkim/keys/*/*
設定ファイル修正
# nano /etc/opendkim.conf
Syslog yes
SyslogSuccess yes
LogWhy yes
UserID opendkim
Socket inet:8891@localhost
Umask 007
# Statistics /var/spool/opendkim/stats.dat
SendReports yes
SoftwareHeader yes
Canonicalization relaxed/relaxed
# Domain example.com
#Selector default コメントアウト
MinimumKeyBits 1024
KeyFile /etc/opendkim/keys/default.private
AlwaysAddARHeader true 追加
保存して閉じる
#nano /etc/opendkim/KeyTable
保存して閉じる
#nano /etc/opendkim/SigningTable
保存して閉じる
起動と自動起動化
# systemctl enable opendkim
postfixに関連付け
#nano /etc/postfix/main.cf
milter_protocol = 2
smtpd_milters = inet:localhost:8891
# smtpd以外が利用するmilter定義
non_smtpd_milters = $smtpd_milters
# milterがメールを受信時のデフォルト動作
milter_default_action = accept
を追加し、保存して閉じる
再起動
# postfix reload
DKIM 公開鍵レコード設定
自動的に255文字以下に分割してくれているので、加工してDNSに記載する。
ADSPをDNSに設定
#nano /var/named/hoge-co.jp.db に
20220505._domainkey.hoge-co.jp. IN TXT ( "v=DKIM1; k=rsa; "
"pごにょごにょ~"
"ごにょごにょ~");
_adsp._domainkey.hoge-co.jp. IN TXT "dkim=unknown" を追加。
# service named restart
上手くいかねぇ・・・。
postfixユーザーをopendkimのグループに所属させないと、ソケットが通らない。
opendkim:x:989:postfix 所属した。
# nano /lib/systemd/system/opendkim.service
この$OPTIONSの宛先がおかしいことがあるらしい。
$OPTIONS の先を探しに行っ足りしたが、上手くいかず、それに嵌った。
/var/run/opendkim/opendkim.pid
/var/run/opendkim/opendkim.sock この定義ファイルを読み込ませたいのだが、
warning: connect to Milter service inet:localhost:8891: Connection refused
上記エラーがかえって来る。
最終的に、先人の方々の知恵を借り、力技でゴリ押した。
User=opendkim
Group=opendkim
とした。
セカンダリDNSと同期をとるために、ゾーン定義(/var/named/hoge-co.jp.db)のシリアル値を更新して
@ IN SOA ns.hoge-co.jp. root.hoge-co.jp. (
2022050500 ; serial値
1H ; refresh (3 hours)
900 ; retry (1 hour)
5D ; expire (2 weeks 6 days)
1D ; minimum (1 day)
)
BINDを再起動。
※googleさんは、セカンダリDNSの設定も併せて見に行くようで、
プライマリDNSとセカンダリDNSがきっちり同期とれていないとメールを弾く仕様にレベルアップしているようだ。
DNSが浸透したらgoogleさんがメールを許容してくれるようになった。
# yum install opendmarc
# nano /etc/opendmarc.conf