久々にMovableTypeのスパム対策の話

いくら禁止ワードを設定しても、禁止URLを設定しても、MTBanASCIIなどで1バイト文字オンリーを禁止しても、それらを楽々とすり抜けてしまうスパムが時々やってくるが、以下な感じのアクセスでやってくるっぽい。

MTのスパム
▲クリックで拡大: 本日、たまたま補足出来たエラーログ。
(普段はエラーログをサーバーに残していない)

MovableTypeのコメントCGIの中身を熟知してる奴が、意図的にエラーを発生させて強制的にスパムフィルターをすり抜けて来ているような気がする。
普通一回しか呼び出さない変数を2回呼び出したり、パターンマッチで意図的にエラーが出るよう仕組んでいる模様。

いくらプラグインで禁止キーワードを設定しても無理なわけだ。

対策方法

過去に何度もスパム対策して、様々な方法を紹介しているが、一番効果があるのは以下の組み合わせ。リンク先に細かい解説があります。MTプラグインのスパムフィルターより100倍強力です。

  1. コメントCGI、トラックバックCGIをリネームする。
    Bot対策として非常に有効。闇雲にmt-comments.cgiを探してスパムして来る連中はこれで殆ど対策できる。Webページをクローリングするタイプにはすぐバレるので、HTML内に記述するcgiアドレスは少しだけ細工する(適当な文字列を余分にくっ付けておいて、別途「トラックバックの際は文字列XXXを削除して下さい」などとお願い文を掲載)
  2. htaccessで日本以外のIPを遮断する(上と同じページ)
    国外からのコメントを期待する場合には、この方法を実施しないでおく。
    効果絶大。
  3. htaccessでhttp1.0の接続を遮断する
    スパムBotの95%以上がhttp1.0を利用して接続してくるので、すごく有効。
    検索エンジンのクローラーなどもhttp1.0を利用するので、cgi以外にこの禁止設定を行うと大変な事になる
  4. htaccessでWindowsXP+IE6の組み合わせを遮断
    Windows98/2000/XPとIE6あたりからのコメント・トラックバックはそろそろ禁止した方が良いかもしれない。現状、上記「1.」~「3.」をすり抜けるBotスパムは全てXP+IE6の組み合わせ。セキュリティの甘いPCが乗っ取られ、ゾンビ化してあらゆるサイトを攻撃しています。

 

今はもうMTにスパム対策プラグインは一切導入していないが、この半年はコメント・トラックバックCGIにスパムがやって来るのは1日10~20件程度。すり抜けて来たのは1~2件。
その1~2件は手動で打ってきたモノっぽい。Botによる自動スパムは全て防げるようになった。