« 演奏会終了! | home雑記帳Topへ | 花粉シーズン到来? »

2005年01月27日(木)

リファラspam対策

以前、コメントspamについて書きましたが、対策の甲斐あってか、ここ最近はほとんど書き込まれていません。
しかし、spamアクセスは増えているようで、更に関係のない(実際にそこからリンクされているわけではない)アドレスをリファラに入れてアクセスしてくる、リファラspamとでも云う感じのアクセスが増えています。
(実際は、無防備なMTだとこのアクセスで書き込みされてしまうのかも)
ここと同じ家サーバー利用のbird.dip.jpさん(参考にさせていただいております)でも、 コメントspamの多さを書いています
ほとんどGETしていくだけなので実害はあまり無いんですが、アクセス解析が荒れるのと、それが元でたまにspam書き込みされるような気がします。
対策として、最初はリファラに含まれるキーワードなどを.htaccessに登録して弾いていたんですが、数日毎に内容が変わるので常に追いかける形になり面倒です。
それに.htaccessがどんどん肥大化するのは非力なサーバに酷ですね。
そこで、もう一歩踏み込んだ設定を考えてみました。
シンプルな割に効果がありそうなので、メモ書き兼公開しておきます。

まず、敵を知るために通常以外のログを2つ仕掛けてみました。
1つはproxy関連ヘッダのログ、もう1つはAccept*ヘッダ関係のログです。
実際には以下のような設定をhttpd.confに追加しました。
ちなみに、spam対策の設定を行うだけなら、ログを追加する必要はありません。

spam元は、アクセスログを見ると様々なIPアドレスからアクセスして来ますが、実はほとんど(と云うか全て?)proxy経由です(これは以前調べてあった)。まずは、これを逆手に取れないかと考えました。
proxyログを調べて、spam元がViaヘッダに特定の文字列を入れている事がわかりました。(文字列はあえてここには書きません。知りたい方はご自分でお調べいただくか、メール等で問い合わせください)文字列についてはこちらに書きました。
この文字列(ここでは仮に"via-string"とします)でアクセスを弾くように、.htaccessを記述します。
実際は、SetEnvIfの"via-string"部分をログに残った文字列にします。
これで、ほとんどのアクセスが403で弾けます。
ただ、経由してくるproxyによっては、困ったことにViaヘッダを残さないものがあります。次にこれへの対応を考えます。
hacceptログを解析し、spamアクセス時は、Accept-Languageが"en-us"のみ、かつAccept-Encodingが無しと云うことがわかりました。とりあえず、これを弾くように設定を行います。
これは、とりあえず上手くいっているようですが、英語版のブラウザ等で引っかかってしまう場合があるかもしれません。
念のため、GETアクセスは許容する設定になっています。

最終的には、念のためRefererで弾くキーワードもいくつか設定し、以下のようになりました。
(2005年1月31日 "+"を"*"に変更)
もし、おかしな所や改良点があればぜひ教えてください。

実は、設定途中で、Accept、Accept-Language、Accept-Encoding、Accept-Charsetが全て無しの場合のPOSTを弾く、という設定を行ってみましたが、結果としてこれはNGでした。
何故かというと、他のblogからのTrackbackがこれに引っかかってしまうのです。(変な設定してご迷惑おかけしました。すいません)

[2005年1月29日 追記]
alectropeさんより、

さらにもう一つ、「迷惑な」 という意味で使う場合、「spam」 と小文字で書くのが慣習らしい。大文字で書くと商標に引っかかっちゃうので、とのこと。へぇ。

との事なので、小文字にしてみました。へぇ。

[2005年2月1日 追記]
Viaヘッダの文字列について、別ページに書きました。できるだけ検索などにかからないように書いたつもり。

Posted by Zephyr : 17:25 | カテゴリ Movable Type

トラックバック

このエントリーのトラックバックURL:
http://flow.dip.jp/x/mt/mt-tb.cgi/162

このリストは、次のエントリーを参照しています: リファラspam対策:

» リファラースパム(Referer spam) その2 from kjfive_blog
何やら赤丸が…と思ったらP_BLOG公式からリンクされてた =-o 初めて来て下さった方、どうぞ粗茶ですが…( ´・ω・`)_且~ ちょっと責任を感じ... [続きを読む]

トラックバック時刻: 2005年03月05日(土)

» htaccess大幅改造 from :: plasticdreams ::
WordPress 1.5 にしてからスパム対策を怠ったせいか,コメントスパムが山のように...。ついでにリファラスパムも山のように orz と,凹んでい... [続きを読む]

トラックバック時刻: 2005年03月13日(日)

コメント (3)

SPAM にはお互い悩まされますね。

私のサイトでは cgi プログラム名をデフォルトとは違うものにしておいたため、
今回 1000 回以上押し寄せた POST で書き込みされることはありませんでしたが、
次はどうしたものでしょう。

投稿者 masato : 2005年01月27日(木)

Zephyr [TypeKey Profile Page]:

そういう手もありますねぇ。
今はこの方法で何とかなってますが、SPAM元はきっと他にもあるでしょうし、
そのうち違うヤツが来たら、また対策を考えなきゃです。
そのうち、相手も手を替えてくるでしょうし。
全てに最良の方法はなかなか無いですね。

投稿者 Zephyr [TypeKey Profile Page] : 2005年01月28日(金)

Zephyr [TypeKey Profile Page]:

ドメイン名が変化していたリファラspamですが、今日あたりからドメイン名は変わらずファイル名(*.html)部分が変化する様になってますね。
でも、そのドメイン、DNSで引けないですから。残念!
このリファラって、何か意味あるんでしょうか?
どちらにしても、HTTPヘッダによる判定で問題なく弾いています。

投稿者 Zephyr [TypeKey Profile Page] : 2005年02月17日(木)

コメントをどうぞ