昨日から大量のTrackBackスパムが来ています。今日一日(20時現在)だけでも700件以上!多いときには1秒間に5件。
NP_TrackBackが全てブロックしてくれているので表には出てきませんが、スパム判定をするために集中してこられるとそれなりにサーバーに負荷がかかってしまいます。まったく困ったものです。
スパムのクライアントIPを収集してみよう!ということで、NP_TrackBackの1091行あたり
ACTIONLOG :: add(INFO, "Trackback: LinkCheck NG. [block] (itemid:$tb_id from: $url cnt: $cnt pat: $itemLinkPat");
ブロックした際に管理操作履歴にログを登録する部分を少し変更してみる
ACTIONLOG :: add(INFO, "Trackback: LinkCheck NG. [block] IP:{$_SERVER['REMOTE_ADDR']} (itemid:$tb_id from: $url cnt: $cnt pat: $itemLinkPat");
これでブロックされたTrackBackをポストしてきたクライアントのIPも記録できるようになる。
取れたログを見てみると…やっぱりIPは一定でなく、ボットネット的なものにポストされてるみたい。ちなみに、$_SERVER['HTTP_USER_AGENT']でクライアントエージェントも見てみたけど、ほとんど全てがlibghttp/1.0となっている。libghttpは
GNOMEのhttpクライアントライブラリ、らしい。エージェント名は簡単に変更できるのでこれではじくのは難しいものの、同じ種類のボットが送ってきているんだろうくらいの参考にはなる。スパムIPを保存しておくPluginとかあるといいかも?