No.110 2001/10/21
スパムメール防御作戦

 まったく同じ文面のスパムメールが2001年10月3日と16日の2回来ました。二度あることは三度あるといいますから、三度目以降は自動的に拒絶してやろうと思い立ちました。
 第104回で、同じ所から複数回来たスパムメールに対して私がアクションをとったケースが2件あったことを述べました。1件は、一応はまっとうな会社と思われたので、抗議してやめさせました。もう1件は、差出人アドレスに基づいて自動的に拒絶するようメールサーバを設定しました(その後、引っかかってはいないのですが)。
 ところが、今回のケースは少しやっかいでした。1回目と2回目で差出人アドレスが違っていたのです。2回目は実在しないドメインだったことがDNS(ドメインネームシステム)の検索でわかりました。スパマー(スパムメール送信者)が差出人アドレスを詐称していることは普通であり、悪気なく自分の正しい差出人アドレスを名乗っていることはむしろまれです。差出人アドレスを拒絶条件とすることは、スパムメールの防御にはほとんど役に立ちません。サブジェクト(件名)は2回とも同じでしたが、これも変わる可能性が考えられますから、拒絶条件としては役に立ちそうにありません。
 何かないか…とそのスパムメールをにらんでいて、ついに思いつきました。スパマーが誘導しようとしたウェブサイトのURL(ウェブアドレス)です。スパムメールの目的が同じである限り、差出人アドレスやサブジェクトや本文の文章が毎回変わろうとも、本文中に書かれているURLが変わる可能性は少ないでしょう。これを拒絶条件として設定すれば、そのしつこいスパムメールの3回目以降を拒絶できるだろうと考えました。

 私は、メール転送サービスプログラムを、世界で最も広く使われている伝統的なsendmailから、Postfixという新しいプログラムに替えていました。幸い、Postfixはsendmailよりも設定ファイルの書き方が簡単なので、わりと簡単に拒絶条件を設定することができました。ためしに、そのURLを本文に書いて自分宛にテストメールを送信してみたところ、無事に「Content Rejected」(内容が拒絶された)というエラーになりました。

 このノウハウにより、ネットワーク攻撃に対する私のサイトの防衛力がさらに高まりました。攻撃者が私にいやがらせをしようとするなら、私のメールアドレスを差出人アドレスとして詐称した大量のスパムメールをばらまくという方法があります。そうすると、宛先エラーになったメールの差し戻しが私に殺到します。しかし、私がすぐにそれに気付いて、差し戻しメールの内容に基づいて拒絶条件を設定すれば、それ以後は差し戻しを跳ね返すことができます。あちこちから差し戻しを送ってくる通信で回線が満杯になって通信に支障をきたすリスクは避けられませんが、サーバのディスクが満杯になってシステムダウンを引き起こすことは避けられるでしょう。
 ただし、その場合、私のサーバが差し戻しを拒絶したことによるエラー通知は、差し戻そうとしたメールサーバの管理者へ行きます。そのサイトも、スパマーから宛先エラーのメールを送りつけられた被害者ですから、申し訳ないことだとは思いますが、拒絶しなければ私が多大な被害を受ける状況である以上、やむをえません。
 なお、procmailというプログラムを使えば、跳ね返さずに受けて捨てることができるということを、職場のチームメンバーから教えてもらいました。今後検討しようと思っています。

 さて、本文に書かれているURLの条件でスパムメールを拒絶するというアイデアを“スパムメール拒絶サービス”に活用できないだろうかと考えました。世界中の人たちが協力し合って、ポルノサイトや違法サイト、また、それ以外でも勧誘にスパムメールを利用するサイトのURLの情報を集め、それが本文に含まれている受信メールを自動的に消してしまうというサービスです。そういうサービスがあれば、ユーザーは迷惑なメールに不愉快な思いをすることが少なくなるでしょう。
 ところが、残念なことに、そういうサービスを悪用する方法も思いついてしまいました。たとえば、誰かがGabacho-NetのURLを書いたスパムメールを流せば、私やほかの人たちがGabacho-Netを案内するメールが拒絶されるようになってしまいます。いやはや…

付記 私がとった防御策により、「こんなスパムメールが来ました」と私に訴えようとしてその本文を引用したメールも拒絶されてしまう可能性があります。スパムメールについて相談されたい場合は、まずその旨をお知らせください。スパムメールの内容を送っていただく場合には、私のガードに引っかからないように転送する方法をお知らせします。

目次 ホーム