2005年01月18日

スパム大掃除

これまでの対策
http://minken.net/mt/archives/000406.html
http://minken.net/mt/archives/000401.html
が奏効して、スパムが付くことはほとんどなくなった。
が、スパマーのアクセス自体は一向に減らない。

httpd.confをいじって、変なリファラを送ってくるやつには403を返すようにしたが、それでも減らない。Movable Typeにはリファラを自動表示する仕組みはない上、403まで返されて、もう全くなんの役にもたたないにも関わらず延々アクセスをくり返している。となると403とはいえサーバはなにがしかのレスポンスをご丁寧にも返しているわけで、そのセッションが無駄。送っているのは大したデータ量じゃないけど無駄。httpdのログも無駄。

スパムに含まれる無数のリファラをDNSで引いてみると、AレコードのIPアドレスはほとんど同じ。アクセス元はバラバラだが、全部集めてみるとこれも結構かぶっている。なので、
・リファラをDNSで引いてIPが特定のものになるアクセスをログから拾う(スパムと判定)
→アクセス元ごとのスパム回数をカウント
→4回以上来たものをipfwでまとめてdeny(なんとかの顔も3度まで)
という掃除スクリプトを書いて一気に弾いた。オープンな匿名プロキシ経由とおもわれるが、そんなプロキシ経由のアクセスは問答無用で弾いてよろしい。

というわけで、もしスパマーと同じ匿名プロキシ経由の方がいたなら、さようなら。いないだろうけど。

動的にipfw add denyすることも可能だが、ちょっと怖いので、これは今後の課題とする。以上、今日のお掃除は終わり。

追記 2005-01-20:
結果的に、denyしているものはやっぱりほとんどがオープンプロキシ。proxy xxx.xxx.xxx.xxx(←IPアドレス)というキーワードでGoogleすると、ほとんどのアドレスについてオープンプロキシのリストを公開しているページにヒットする。
日本国内と思われるものは3〜4個しかないが、全部LogoVistaの翻訳プロキシ。設定を間違えているのか、意図的にオープンにしているのか。トホホ。