解約した配信サービスのSPF・DKIM、消していますか?|放置したレコードで4か月に約15万通が送られていた事例
DMARCレポートを開いたら、使っていないはずの配信サービスから、自社の名前で大量のメールが送られていた「やらかし体験」を耳にしました。
詳しく確認すると、30日間で約14.7万通のメールが、ある配信サービス(ESP / Email Service Provider)の3つのIPアドレスから送られていたことがわかったそうです。
1日あたり約5,000通で、3つのIPにほぼ均等に分かれていた。レポートを送ってきたのはGoogleとMicrosoft。
そのESPは、以前にテスト用のアカウントを作っただけで、今は使っていないサービスでした。それでも認証には合格していました。DNSに、そのESP用のSPFとDKIMのレコードを消し忘れていたからです。
ESPの説明はこうでした。
- 社内の到達率監視の仕組みで、送信者のキャンペーンの複製を自社のシードリストに送っていた
- この仕組みは、送信者がHotmailやOutlook宛ての配信についてサポートに問い合わせた6月に有効化されていた
- 送られていたのは「ご登録ありがとうございます」のメール1通の複製
- 現在は停止済み
送信者側は、SPFのincludeとDKIMの鍵を削除して対応を終えています。
自社が送っていないメールが、自社の名前で、しかも認証に合格した状態で何か月も送られていた..。始末書対応になるのかと、ゾッとします。
今回は、なぜこういうことが起きるのか、そして配信サービスを解約するときに何を消せばよいのかを整理していきたいと思います。
なぜ「解約したサービス」から送っても認証に合格するのか
SPFとDKIMのレコードは「送信の許可証」
ESPを使い始めるとき、多くの場合、次のようなレコードを自社のDNSに追加します。
| レコード | 例 | 意味 |
|---|---|---|
| SPF(TXT) | v=spf1 include:_spf.esp.example ~all |
そのESPのIPアドレスから、自社ドメインのメールを送ってよい |
| DKIM(CNAME または TXT) | s1._domainkey.example.jp CNAME s1.domainkey.esp.example |
そのESPが、自社ドメインの名前で電子署名してよい |
| バウンス用・計測用(CNAME) | bounce.example.jp CNAME ... |
戻りメールの受け口や、クリック計測のドメインをESPに任せる |
これらは、いわば「このESPに、自社の名前でメールを送ることを許可する」という許可証です。そしてこの許可証には有効期限がありません。
ESPとの契約を終えても、DNSのレコードを消さない限り、受信側から見れば「今も正式に許可された送信元」のままです。
DMARCは、SPFかDKIMのどちらかがFromドメインと一致して合格すれば合格です。今回の事例でも、認証は合格していました。
契約とDNSは、別の人が管理している
ESPの契約や解約はマーケティング部門、DNSの変更は情報システム部門や制作会社、という組織は珍しくありません。
解約の手続きはしても、「DNSのレコードも消す」という作業が誰の担当にもなっていない。
こうして、使っていないサービスへの許可証が残り続けます。
本当に怖いのは「メール配信業者のミス」ではない
専門家の見方
この事象については次のようなことが考えられます。
- ESPの説明が本当なら、ESP側の大きな失態。1社のお客さまの到達率を監視するのに1日5,000通、4か月というのはシード送信として異常な量
- それより心配なのは、第三者が悪用すること。放置された認証レコードに気づいた誰かが、同じESPに登録して、その会社になりすまして送るおそれがある
- 送信量の少ない送信者ほど影響を受けやすい。大量に送っている送信者なら誤差だが、送信量が少ないと、反応しないシードアドレス宛ての大量送信が、エンゲージメントの指標や受信箱への到達に響く可能性がある
今回の送信者は、自分たちの実際の配信量の5倍以上が送られていたと話していました。
Google Postmaster Toolsの数値に悪化は見られなかったそうですが、それは「たまたま問題にならなかった」というだけです。
なお、ESP側は「同じドメインを2つのアカウントで使うには、こちらの手作業が必要」と説明していたそうです。ただ、すべてのESPが同じ仕組みとは限りません。
「dangling DNS」という既知の攻撃
使われなくなったサービスを指したまま残っているDNSレコードは、「dangling DNS(ぶら下がったDNS)」と呼ばれ、以前から攻撃に使われています。
Spamhausは2024年の記事で、解約したサービスを指すCNAMEや、もう使っていないドメインを含むSPFのincludeが乗っ取られ、正規の企業のサブドメインからフィッシングメールが送られる手口(SubdoMailing)を紹介しています(Spamhaus:Dangling DNS and the dangers of subdomain hijacking)。
当社では以前、使っていないドメインが悪用される話をブログの記事として書きました(休眠ドメインがなりすましに悪用される|DMARCで防げない理由)。
今回の事例が示しているのは、毎日使っている本業のドメインでも、DNSの中に「休眠した許可証」が残っているということです。
気づけたのは、DMARCレポートを見ていたから
今回の送信者が異常に気づけたのは、DMARCの集約レポートを見ていたからです。SPFやDKIMに合格したメールは、受信側では何の問題もない正規のメールとして扱われます。送信者がそれに気づく手段は、事実上DMARCレポートしかありません。
エンジニアが今やること:配信サービス解約時のチェックリスト
解約するとき
- ESP側の後始末を依頼する。アカウントの削除、送信の停止、ドメイン登録(送信ドメイン認証の設定)の解除を、解約の手続きと一緒に依頼する
- SPFからそのESPのincludeやIPを外す
dig +short TXT example.jp - DKIMのセレクタを削除する。セレクタ名はESPの設定画面やドキュメント、またはDMARCレポートのDKIMの欄で確認できる
dig +short CNAME s1._domainkey.example.jp dig +short TXT s1._domainkey.example.jp - バウンス用・クリック計測用のサブドメインのCNAMEも削除する。CNAMEの向き先がESPのドメインになっているものを探す
- 2〜4週間、DMARCレポートでそのESPのIPからの合格が消えたことを確かめる。消えない場合は、まだどこかに許可が残っているか、別の経路から送られている
普段からやるべきこと
- 送信サービスの台帳を作る。サービス名、担当部署、契約状況、そのサービスのためにDNSに追加したレコード(SPF・DKIM・CNAME)を1か所にまとめる
- 四半期に一度、DNSと台帳を突き合わせる。台帳にないincludeやセレクタ、向き先のわからないCNAMEがあれば、誰が何のために追加したかを確認する
最後に
DNSに追加したSPFやDKIMのレコードは、配信サービスとの契約が終わっても自動では消えません。そしてそのレコードがある限り、受信側はそのサービスからのメールを「自社が正式に許可したメール」として扱います。
今回の事例はESP側の監視の仕組みによるものでしたが、同じ状態は第三者のなりすましにも使えます。配信サービスを解約するときは、契約と一緒にDNSの許可証も返す。この1手順を、社内の解約手続きに組み込んでおくことをおすすめします。
弊社が取り扱っているPowerDMARCでは、DMARCの集約レポートから、自社ドメインの名前でどのサービス・どのIPからメールが送られているかを一覧で確認できます。
使っていないはずのサービスからの送信にも気づけます。また、SPFのincludeの管理には、上限(DNS参照10回)の対策も兼ねてAutoSPFもご用意しています。送信サービスの棚卸しのご相談も承っています。