« SLEEPTRACKER ・・何日目? | メイン | 携帯でFlashが表示されない問題の原因と対策 »

トラックバックスパム対策 第二弾

以前、トラックバックスパム対策として、

1)トラックバックCGI(mt-tb.cgi)の名前を変える(仮にmt-tb-xxxx.cgiとする)
2)トラックバック先URLをエンティティ化する

の2つの方法で対策を取り、トラックバック自体は使えるようにしていたのだが、再び、トラバスパムによる高負荷状態になり、サーバが瀕死状態に。

ひとまず、トラックバック用CGIをストップさせる。
しかし、リクエストがプールされているのか、cgiのパーミッションを644にしても、TOPでプロセスをみると、つぎつぎにトラックバック用のCGIがエントリされてる。うーん。なぜだろう。

CGIはもう起動できないハズなのに。

負荷が下がらないので、とりあえず、killallコマンドで、トラックバックCGIをkillする。

$ killall mt-tb-xxxx.cgi
プロセスが無くなるまで、なんどでも繰り返す。


うーん。いちおう、MovableType内では、それらのトラックバックは、スパムとしては認識されているが、MTがトラバを受け付けた時点で、負荷がギュイーンと上がり、それが連続して何十個となると、即、アウトである。
SPAM的トラックバックは、そもそも、MTのまえで弾くしかないのである。

しかし、実際問題として、100%弾くのは難しい。

そこで、apache先生にお願いする。

自サイトの.htaccessに、

SetEnvIf User-Agent "TrakBack" spam
SetEnvIf User-Agent "robocrawler" spam
SetEnvIf User-Agent "libghttp" spam
SetEnvIf User-Agent "TMCrawler" spam
Order Deny,Allow
Allow from all
Deny from env=spam

を記述する。つまり、User-Agentに、"TrackBack","robocrawer","libghttp","TMCRawler"が含まれる場合、アクセスを拒否するのである。

アクセスログを見ると、トラバスパムを送ってくるやつは、"TrackBack/1.02","TrackBack/1.06","libghttp"などである。(もしかしたら、もっと通常のUserAgentを装ってるやつがいるかもしれないが、そこまでは調べ切れていない)
それと、アクセスログをみて、たちの悪いロボット robocrawerもバンする。ネットで調べてると、TMCRawerもそれっぽいので、予防としてバンしておく。

しかし、英語圏からのトラックバックスパムに紛れて、しょーもない日本のサイトからのトラバが混じってるのにさらにむかつく。


トラックバックって、Webのおもしろい仕組みなんだけれど、クソみたいなスパム業者のお陰で、実質、使えないものになってる。残念だなぁ。

つか、MovableTypeのトラバCGIがヘボすぎるって話でもあるけど。

トラックバック

このエントリーのトラックバックURL:
http://www.ironhearts.com/diary/mt-tb-ih.cgi/812

コメントを投稿

2008年12月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

最近のコメント

999 on 日々の記録: 4600Cを業務で使
uta on エラーコード -10660: はぁ〜なるほど。 あ
あんどりゅー on Firefoxでtableをdisplay:blockすると、幅がおかしくなる問題の対処: なるほど! 助かりま
小優 on 日々の記録: DELL4600Cで
よしぞう on 日々の記録: 4600C 表記の対
よしぞう on 日々の記録: 4600C 表記の対
on MySQL後で調べるメモ: DB接続後 目的のS
on 日々の記録: 「無くなった留め具」
on JavaScriptでクロスドメイン: >しかし、こういう小
junp on iMovieで静止画を取り込むと荒い: すいません困ってます

アーカイブ