DMARCレポートが届いた
二日前の6月5日に、DKIMおよびDMARC導入 を行い運用を開始したのだが、昨夜21時頃のタイムスタンプで興味深いメールが届いた。
差出人は au(KDDI)である。
From: no-reply@ezweb.ne.jp
To: postmaster@sky.0t0.jp
件名: 集約レポート結果 2026/6/5 (1件)
添付されていたレポートファイル
(kddi.com!sky.0t0.jp!1780628123!1780628123.xml)
を本文下欄に掲載する。
DMARCを導入したのは今回が初めてであり、実際にレポートが届くと「きちんと機能しているのだな」と実感する。
レポート内容を見ると、送信元IPアドレスは 69.84.99.82 であり、当方のメールサーバーとは無関係である。
さらに、
- envelope_from : sky.0t0.jp
- header_from : sky.0t0.jp
となっており、当ドメインを差出人として使用したメールが送信されていたことが分かる。
しかし認証結果は、
- SPF : SoftFail
- DKIM : none
- DMARC : fail
となっており、正規の送信メールではないことが確認できる。
つまり、
- sky.0t0.jp を差出人に偽装したメールが送信された
- SPFおよびDKIM認証に失敗した
- DMARC評価によって不正メールとして判定された
- auがDMARCレポートで通知してくれた
ということになる。
これまでも当サイトに対して様々な不審アクセスを観測しているが、今回はメールアドレスまで利用された形となる。
もちろんインターネット上ではメールアドレスの詐称自体は珍しいことではない。
しかし、自ドメインを騙った送信が実際に観測されると少々複雑な気分である。
そこでDMARCポリシーを
v=DMARC1; p=none
から、
v=DMARC1; p=reject; pct=100; rua=mailto:postmaster@sky.0t0.jp
へ変更した。
これにより、今後第三者が sky.0t0.jp を差出人として使用した場合でも、DMARCに対応した受信側では拒否されることになる。
DMARCレポートは地味な仕組みではあるが、「誰かが自分のドメインを騙っていないか」を確認できるため、個人運用のメールサーバーであっても導入する価値は大きいと感じた。
それにしても、なかなか陰湿な行為である(笑)
レポートファイル(kddi.com!sky.0t0.jp!1780628123!1780628123.xml)の内容
<?xml version="1.0" encoding="UTF-8"?>
<feedback>
<report_metadata>
<org_name>au.com</org_name>
<email>noreply-dmarc-support@kddi.com</email>
<report_id>20260605115523368832</report_id>
<date_range>
<begin>1780628123</begin>
<end>1780628123</end>
</date_range>
</report_metadata>
<policy_published>
<domain>sky.0t0.jp</domain>
<adkim>r</adkim>
<aspf>r</aspf>
<p>none</p>
<sp>none</sp>
<pct>100</pct>
<fo>0</fo>
</policy_published>
<record>
<row>
<source_ip>69.84.99.82</source_ip>
<count>1</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>fail</dkim>
<spf>fail</spf>
<reason>
<type>other</type>
</reason>
</policy_evaluated>
</row>
<identifiers>
<envelope_to>ezweb.ne.jp</envelope_to>
<envelope_from>sky.0t0.jp</envelope_from>
<header_from>sky.0t0.jp</header_from>
</identifiers>
<auth_results>
<dkim>
<domain/>
<selector/>
<result>none</result>
<human_result/>
</dkim>
<spf>
<domain>sky.0t0.jp</domain>
<scope>mfrom</scope>
<result>SoftFail</result>
</spf>
</auth_results>
</record>
</feedback>