去年の7月に書いたDMARCレポートの件。
メールアドレス偽装による「なりすましメール」と高をくくっていたのだが、たまにチェックしてたらSPFをPASSしているものが目につくようになってきた。問題のメールそのものは確認できないので微妙だが、踏み台リレーにされているような形跡も確認できない事から送信元IPアドレスが詐称されている可能性が考えられる。
名前やメールアドレスよりは難易度は高いものの、その筋の知識があればIPアドレス詐称は容易にできてしまい、いずれも完全に防ぐ事が難しいので、電子署名によるDKIMを導入することに。
というわけで、OpenDKIMをインストール。参考までOpenDMARCはチェックする側の方だ。
ドメインは複数あるものの、メール送受信で使っているのはほぼほぼbravotouring.comだけなので、シングルドメインの設定。
root@vps:~# apt install opendkim opendkim-tools
root@vps:~# mkdir /etc/opendkim
root@vps:~# mkdir /etc/opendkim/key
root@vps:~# mkdir /etc/opendkim/key/bravotouring.com
root@vps:~# opendkim-genkey -D /etc/opendkim/key/bravotouring.com/ -d bravotouring.com -s default
root@vps:~# chown -R opendkim:opendkim /etc/opendkim/key
root@vps:~# cat << '_EOF_' >> /etc/opendkim.conf
Domain bravotouring.com
KeyFile /etc/opendkim/key/bravotouring.com/default.private
Selector default
Canonicalization simple
Mode sv
SubDomains no
ADSPAction continue
_EOF_
root@vps:~# cat << '_EOF_' >> /etc/default/opendkim
SOCKET="inet:8891@localhost"
_EOF_
root@vps:~# service opendkim restart
root@vps:~# vi /etc/postfix/main.cf
root@vps:~# cat << '_EOF_' >> /etc/postfix/main.cf
milter_default_action = accept
non_smtpd_milters = $smtpd_milters
smtpd_milters = inet:localhost:8891
_EOF_
root@vps:~# postfix check
root@vps:~# service postfix reload
root@vps:~# postconf | egrep 'milter_default_action|non_smtpd_milters|smtpd_milters'
root@vps:~# vi /etc/opendkim/key/bravotouring.com/default.txt /etc/nsd/zones/bravotouring.com.zone
~~ zoneファイルに_domainkey公開鍵のTXTレコードを追加 ~~
root@vps:~# nsd-control reload
root@vps:~#
最終的にgmailのアドレス宛に送信して
Authentication-Results: mx.google.com;
dkim=pass header.i=@bravotouring.com header.s=default header.b=qYH6ReqD;
spf=pass (google.com: domain of XXXX@bravotouring.com designates 2403:3a00:202:1112:***:***:***:*** as permitted sender) smtp.mailfrom=XXXX@bravotouring.com;
dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=bravotouring.com
となればOK。
あとはDMARCのポリシーを"none"から変更すれば完了だが、"quarantine"でいいんだっけかな?
【参照】
●Qiita https://qiita.com/
┣PostifxでDKIM認証する 2015年12月21日
┣ドメイン管理者が **まず最初に** 実施するなりすましメール対策(DMARC、SPF、DKIM) 2017年12月8日
┣Amazon Linux 2でDKIMの設定 (ついでにSPF/DMARCも) 2018年8月28日
┣自ドメインのDNSとPostfixをSPF/DKIM対応させてみた 2018年12月28日
┗OpenDKIM で迷惑メール判定を回避する 2019年11月20日
●なりすまし対策ポータル ナリタイ https://www.naritai.jp/
┣DMARC を準備しよう
┗DMARC詳細仕様-1
●IIJ Engineers Blog https://eng-blog.iij.ad.jp/
┗世界と日本のメール送信ドメイン認証 2017年12月10日
●SendGridブログ https://sendgrid.kke.co.jp/
┣『なりすまし』を防ぐDMARCとは? 2014年9月30日
┣Yahoo.comのDMARCポリシーが変更されました 2014年10月3日
┣よくある質問 – DKIM編 2015年5月15日
┣DMARCがもっとよくわかる!概要とレコードの読み方 2015年6月9日
┣GmailのDMARC設定が変更されます 2016年5月17日
┣Gmail/MicrosoftのDMARC設定が年内に変更されます 2016年8月5日
┣メール認証概論 2016年11月18日
┗SPF, DKIMの特徴と違い 2018年8月7日
●JPNIC https://www.nic.ad.jp/
┣インターネット用語1分解説~SPFとは~ 2011年10月17日
┣インターネット用語1分解説~DKIMとは~ 2017年10月16日
┗インターネット用語1分解説~DMARCとは~ 2018年2月15日
●MxToolbox https://mxtoolbox.com/
┣DNS Lookup Tool - DNS Tools
┣MX Lookup Tool - Check your DNS MX Records online
┣DKIM Check- DomainKeys Identified Mail (DKIM) Record Lookup
┗DMARC Check Tool - Domain Message Authentication Reporting & Conformance Lookup
●ArchWiki https://wiki.archlinux.jp/
┣Postfix
┣Unbound
┣NSD
┣OpenDKIM
┗OpenDMARC
●Wikipedia http://ja.wikipedia.org/wiki/
┣電子メール
┣電子署名
┣送信ドメイン認証
┣SPF
┣ドメインキー
┣DKIM
┗DMARC