User-Agentでスパムを弾いてみる・その2

TrackBack/1.02とTrackBack/1.6のPOSTを弾いてから3日。状況を確認してみた。

spam1.png

うーん…減るには減ったがまだ抜けてくる。とりあえずapacheの生ログを確認してみると、

no_ua.png

やっぱりUser-Agentが設定されていないSpam-Botがいる。うーん、こいつを弾いてもいいんだけど、ノートンなんかのプライバシー保護機能でUser-Agentを隠しちゃうのがいるんだよなあ。そーゆーユーザには警告ページへ飛ばして設定を見直してもらうしかなくなってしまう。どう対処しようか。
あと生ログを見ていると気になる奴らを発見。こいつと、

yeti.png

こいつだ。

baidu.png

前者はNAVERのクロウラー。NAVERクロウラーといえばrobots.txtを無視したりDoS攻撃かと思うほどのリロードを行なうので有名だが、こいつもがんがんアクセスしている。後者は中国産の検索サイトbaiduのクロウラーですな。こいつもアクセス頻度が半端ない。というかもう1日中数分おきにやってくる。そんなに来なくても…
ということで、こいつらも.htaccessでブロックしてみる。
SetEnvIf User-Agent "^TrackBack/" ua_denied
SetEnvIf User-Agent "^Yeti/" ua_denied
SetEnvIf User-Agent "^Baiduspider+" ua_denied
order allow,deny
allow from all
deny from env=ua_denied

ちょっとルールを修正。あとPOSTだけ排除するのも生ぬるいので全拒否にしてみた。自宅サーバでなら更にiptableなんかでサーバへのアクセスそのものを排除するんだが…