spam発信サーバーをホールド

Japanese >> English

spamを送ってきたサーバーのIPアドレスは世界中のボランティアによっていろいろな種類のRBLに登録されています。

今回はそれを利用してspammerのメール送信を遅らせてみましょう。単に遅らせるだけだとプロバイダからのメール送信も遅らせることになり迷惑をかけるのでRBLに登録されているアドレスからの接続だけを遅らせる仕組みにしたところがポイントです。

今回のいたぶりに必要なものはsmtp (sendmail)を動かす必要の無いサーバーです。具体的動作としてはRBLに登録されているアドレスからsmtp接続が来たときに限ってその接続をすぐには切らずも何も応答を返さないで20分待って切断することとします。

グローバルアドレスが1つか無くてそれでメールを受信している方は残念ながら今回の仕組みは利用できません。余ったアドレスともう一台のサーバーを持っている方専用です。

トラップアドレスはウエブページ上に以下のように埋め込みます。
<a href="mailto:tad3@tp2.rbl.jp"></a>
こうるすと人間の目には見えないのですがアドレス収集エンジンには見えるので収集されます。そしてしばらくすると仕掛けていた罠サーバーに送ろうとしてつなぎに来ます。

準備

1)トラップ専用にサブドメインを用意します。ここではサブドメイン tp2.rbl.jp を使うことにします。もちろんあなたの管理するサーバーであればあなたの管理するドメインでやることになります。 そのアドレスを用意した "いたぶり" 専用サーバーに振ります。DNSにもtp2.rbl.jpの項目を作ります。当然そのIPアドレスはtp2.rbl.jpのアドレスです。

2) tp2.rbl.jpのサーバーに以下のperlで書かれたプログラムを立ち上げます。このソフトはport 25番で待ち受けるのでsendmailなどのメール配送エージェントソフトを動かしてはいけません。

ソフトウエアはhttp://www.hart.co.jp/gnu/の4番です。

これを自分のサーバーに持ってきて/usr/local/bin/zombiesmtp として置いて実行モードにしたあと、root権限で /usr/local/bin/zombiesmtp & として立ち上げます。 自動起動するにはその記述を所定のところに追加してください。

perlをいじれる方はこのソフトを改造してログに時刻とかアドレスを記録するようにしておくといいかもしれません。

3)htmlファイル中に以下のように XXX@tp2.rbl.jp のアドレスを仕掛けます。今回は受信するわけではないのでXXXのところはお好きなものにしてかまいません。
<a href="mailto:XXX@tp2.rbl.jp"></a>

動作

あとは待っているだけでspammerが仕掛けたサーバーにつなぎにきます。プログラムはRBLを参照しているのでそこにアドレスが登録されていると20分接続を切りません。(実際には配送ソフトのタイムアウトの方が短いので少ない時間となるでしょうが) RBLに登録されていないアドレスからの接続があった場合にはすぐに接続を切るようになっています。
今回使うRBLはall.rbl.jpとrelays.ordb.orgの2種類です。all.rbl.jp はウイルスを発信したPCのアドレスとADSL回線からspamが発信された場合のアドレスのデータベースです。 relays.ordb.orgは第三者中継をするサーバーのアドレスのデータベースです。
メールは通常数秒から数十秒かけて送られるのでそれが最大20分に伸ばされることになります。実際には 複数のスレッドで送られている(同時に多数のサーバーに接続して送る)場合もあるのでそのスレッドのうち1つが遅らされることになるわけですが待たせている間に別の人に届いたspamによってそれがRBLに登録されたりRBLに登録されたデータが浸透する時間をかせぐという副次的効果もあります。複数のスレッドを立ち上げてメールを送るとマシンにはそれなりの負荷がかかりパソコンの反応が遅くなって気が付かれてしまうためゾンビPCは多数のスレッドで送ることは無いのではないでしょうか。

Nikki Top