モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

身に覚えのないDNSBL登録の理由

これは「メール Advent Calendar 2018」のために書かれたエントリです。

スパムが出てないのにDNSBLに登録されてしまう

DNSBLというDNSを用いた公開ブラックリストサービスがあります。SORBSやSpamCopあたりが有名です。
DNSBLは、正しくはスパマーの使っているbot等のIPアドレスだけが登録されているべきなのですが、誤って通常のメールサーバがDNSBLに登録されてしまう場合があります。
最近では、サブミッションスパムによりそのメールサーバから大量スパムメールが出されて、登録されてしまう場合が多いです。

しかし時々、全くそのような大量スパムメールが出されたわけではないのにDNSBLに登録されてしまう場合がありました。

そういうなにもしていないのに登録されている場合、近隣のIPでスパムを出したサーバがあったとき、IPアドレス帯でまきこまれて登録されてしまうことが多いです。

DNSBLではたいてい、そのIPアドレスブラックリストに登録されているか確認出来るようになっています。
その情報を確認すると、IPアドレス帯で登録されたわけではなく、確かにそのメールサーバから出されたメールが原因で登録されたものでした。

届いたスパムをエラーメールで返したもので登録されている

DNSBLによっては、どのメールが引き金となって登録されたのか確認出来るようになっています。

またDNSBLでは、ハニーポットという「おとり」のメールアドレスを使って、そこにメールが届いた場合、その発信元IPをブラックリストに入れてしまうものがあります。
ハニーポットのメールアドレスがスパマーにバレてしまうと、そのメールアドレスを避けて送るようにされてしまう可能性があるため、どのメールアドレスかは秘匿して運用されています。
そのため、どのメールにより登録されたかという情報は、日時を範囲にしたり、メールアドレスは一部をマスクしたりして、ハニーポットのメールアドレスがわからないように提示されています。

該当のブラックリスト登録情報を確認したところ、日時は前後5分内ということでぼかされており、メールアドレスは下記のようにマスクされていました。

dov**********************-0@************

ただ、非常に特徴的なメールアドレスだったため、ログから確認すると、宛先のスプールがいっぱいのため dovecot がエラーメールを返したものだと確定することが出来ました。

また、そのエラーメールの元となったメールのfromメールアドレスを確認すると、下記のようなメールアドレスでした。(一部マスクしています)

yvfks****+err22****139@ksulde.com

このドメインでぐぐってみたところ、下記のような日本語スパムであることがわかりました。

【本日限り】2択クイズ正解で総額1億円プレゼント
⇒ http : //ksulde.com/qow/swmc8.php?tb=****

いつもメールをお読みくださりありがとうございます。

今日は、いつも仲良くさせて頂いているGive to Win運営事務局の馬場さんから
スペシャルなプレゼント企画がある」ということで、ご案内を頂きました。
(以下略)

【誰でも1億円!】ミリオネアクイズ開催中!???: 気まぐれ日記

つまり、届いた日本語スパムをエラーメールで返したところ、それを理由としてDNSBLに登録されてしまった、ということになります。

(itochanさんのブックマークコメントいただいた件で補足追記)

このスパムは、日本語スパムでよくある、適当なドメインを大量取得して、そのドメインでWebとメールサーバとを動かしているタイプのものです。
なのでスパムに対して返信するとちゃんとメールが届くようになっています。
fromメールアドレスにはシリアル値が付加されているため、どのメールアドレスに送った返事なのかもわかるようになっていると考えられます。

スパマーDNSBLへ通報されている

そこで、なぜdovecotのエラーメールでブラックリスト登録されてしまうのか、考えてみました。

  1. エラーメールの返した先がDNSBLハニーポットだった
  2. エラーメールを受け取ったところがスパム判定してDNSBLに通報した

最初、届いていたスパムが日本語スパムだと気が付かなかったので、【1】のbotDNSBLハニーポットのメールアドレスを騙ってきているのでは、と考えました。なんていやらしいことしてくるんだ、と。

が、日本語スパムの場合、そんな手の込んだことをしてくるとは思えず、そうすると【2】のエラーメールが返ってきたものを、スパムフィルタにより自動でDNSBLへ通報してしまったのではないか、と考えました。
例えばSpamAssassinだと、スパム判定したものを自動でSpamCopにレポートするプラグインがあります。
Mail::SpamAssassin::Plugin::SpamCop - perform SpamCop reporting of messages

たぶんこちらのほうがありそうでしょう。
出会い系などの日本語スパムは、スパムに返信されてきたら人力でテンプレの返答を返して、ユーザ登録なりなんらかの振り込みをさせるよう誘導します。
でも当然大量にエラーメール等も届くはずで、それをなんらかのフィルタで選り分けている可能性は高いと思います。
そこでスパムフィルタが効いていると、自分が送ったメールの内容でスパム判定され、そのエラーメールの送り元=スパムの送り先メールサーバを自動通報してしまっている、というわけです。

非常にげんなりしてしまう話ですが、まったく身に覚えのないDNSBL登録にあったら、この可能性も考えてみるといいでしょう。