最新

val it : α → α = fun

<<  2007/06  >>

2007/06/16 トラックバックスパムがやってきた

この日記(ブログ)は100%わたしが自分で書いたシステムとなっていて、あれこれ綻びもあるんだけど、メリットのひとつとしては、既存のシステムと違うので単純なツールを使ったスパムに(たぶん)強いだろう、ってのがあります。コメントスパムはいまんとこないしねえ、とかそんな風。

というわけでのんきに構えていたんですが(実際には最初に作成したときには過剰にスパムを恐れて承認制のメカニズムを実装したんだけど、ふと我にかえってこんな仕組みは必要ないと外して特にスパム対策もなく使っていたんですが)、ついにというかようやくというか、トラックバックスパムが凄い勢いで来てました。どうやってか知らないけどスパマーのリストに当該日記のトラックバックURLが登録されたのだろう、特定のエントリーに対してだけ、凄い勢いでいろんなサイトから、いろんなURLのトラックバックが押し寄せる(といっても大した量ではない)。

さてどうしよう。

トラックバックURLを変更するのが対処法としては一番楽なんだけど、そんな対症療法ではきっとうまく行かない。 URL もリクエストするホストの範囲も非常に広大で、単純なブラックリストでは役に立たないようだ。コメントとちがって、 excerpt も大してヒントにはならないし、リンクがあるかどうか調べるのは面倒くさいのでやりたくない(笑)。

ふと思いついたのだが、(すくなくとも今回の)スパマーはボットネットか何かのツールで送りつけているらしい。つまり、 sender も不特定多数のホストだし、リンク先のURLも不特定多数だ。ということは、 S25R 的な手法が使えるかもしれない。つまり、

  • リクエストするホストを逆引きする。逆引きに失敗したり、 10-0-0-1.example.com みたいにあからさまに IP アドレスなホストはスパマーと判断して無視する
  • 逆引きに成功しても、そのホスト名とリンク先のURLのホスト名が同一ドメインでなければ無視する

うん、これはそれなりに行けそうだ。

もちろん、S25Rと同じような問題がある。おうちサーバでブログをやっている方からのトラックバックを受け取れなくなってしまう公算が大なこと。それから、原理的にはトラックバックはリンク先のホストから送信しなければいけない仕組みはなくて、外部ホストに委託するケースもあるだろうことが考慮されていないこと(たしかそのむかし、いしなおさんがそういうのをやっていた記憶もある)。しかし後者は無視していいくらい少ないだろうし、前者は……うーんどうしよう。ホワイトリストを与えればいいのかな。

どちらかというと本当は greylisting みたいなことができればいいんだけど、トラックバックは仕様上レスポンスには成功と失敗しかなくて一時エラーということはできないからなあ。

うーむ、悠長にこんなことを書いているうちにもスパムが来まくり。とりあえず URL を変えよかなー。