トラックバックスパムがやってきた
この日記(ブログ)は100%わたしが自分で書いたシステムとなっていて、あれこれ綻びもあるんだけど、メリットのひとつとしては、既存のシステムと違うので単純なツールを使ったスパムに(たぶん)強いだろう、ってのがあります。コメントスパムはいまんとこないしねえ、とかそんな風。
というわけでのんきに構えていたんですが(実際には最初に作成したときには過剰にスパムを恐れて承認制のメカニズムを実装したんだけど、ふと我にかえってこんな仕組みは必要ないと外して特にスパム対策もなく使っていたんですが)、ついにというかようやくというか、トラックバックスパムが凄い勢いで来てました。どうやってか知らないけどスパマーのリストに当該日記のトラックバックURLが登録されたのだろう、特定のエントリーに対してだけ、凄い勢いでいろんなサイトから、いろんなURLのトラックバックが押し寄せる(といっても大した量ではない)。
さてどうしよう。
トラックバックURLを変更するのが対処法としては一番楽なんだけど、そんな対症療法ではきっとうまく行かない。 URL もリクエストするホストの範囲も非常に広大で、単純なブラックリストでは役に立たないようだ。コメントとちがって、 excerpt も大してヒントにはならないし、リンクがあるかどうか調べるのは面倒くさいのでやりたくない(笑)。
ふと思いついたのだが、(すくなくとも今回の)スパマーはボットネットか何かのツールで送りつけているらしい。つまり、 sender も不特定多数のホストだし、リンク先のURLも不特定多数だ。ということは、 S25R 的な手法が使えるかもしれない。つまり、
うん、これはそれなりに行けそうだ。
もちろん、S25Rと同じような問題がある。おうちサーバでブログをやっている方からのトラックバックを受け取れなくなってしまう公算が大なこと。それから、原理的にはトラックバックはリンク先のホストから送信しなければいけない仕組みはなくて、外部ホストに委託するケースもあるだろうことが考慮されていないこと(たしかそのむかし、いしなおさんがそういうのをやっていた記憶もある)。しかし後者は無視していいくらい少ないだろうし、前者は……うーんどうしよう。ホワイトリストを与えればいいのかな。
どちらかというと本当は greylisting みたいなことができればいいんだけど、トラックバックは仕様上レスポンスには成功と失敗しかなくて一時エラーということはできないからなあ。
うーむ、悠長にこんなことを書いているうちにもスパムが来まくり。とりあえず URL を変えよかなー。
ああそうか、リバースプロキシのなかだから接続元はつねに自分自身だ orz
どうやれば取れるのかな。mod_magnetを使えばいいのかなあ
この手法は十分アリだと思います。少なくとも、怪しい怪しくないを見分ける一番お手軽な指標とすることはできると思ってます。
greylistingにあたる部分は、tarpittingとか使えないかと思ってるんですが、データ集めたことないのでわかりません。
でも、正しいところのほうが、タイムアウト時間は長く取ってそうな気がするんですが、どうでしょうか。
なんにしても、Trackbackの仕様がスパムについて全然考慮してなかったというのが痛いですね。