最近スパム対策を色々と施した効果があらわれ、不快な思いにさせられるアクセスは99%遮断できる様になった。残ったアクセス元はyournet.ne.jp(フリービット)のみ。

ここから発信されるスパムがもの凄くやっかい

  1. .jpドメインなので、現在設定している.htaccessで弾けない
  2. ここのサービスを利用している国内プロバイダも多いので、全面規制は難しい
  3. 手動スパム(笑)をしている業者が多いのか、CGIリネーム翌日からアクセスがある
  4. どういう仕組みを利用しているのか解らないが、MTのスパムキーワードをすり抜けて来る

IPひろば:検索ランキング
▲ここを見ると最近検索されたIPアドレスが良く解る。
大抵はスパム発信元が検索され、大抵の時期でyournet.ne.jpはダントツ一位。
ウチは来た事ないけど、Infowebもスパム温床になっているっぽいねぇ。

今回試した策1(失敗)

MovablrTypeのディレクトリのhtaccessを以下の様に記述

order allow,deny
allow from all
deny from .yournet.ne.jp

<Files "comment.cgi">
deny from all
allow from .bbtec.net
allow from .jp
</Files>

こんな風に書いてもダメ。comment.cgi側はyournet.ne.jpを許可してしまう。

今回試した策2(失敗)

MobavleTypeのcomment.cgiで、Host指定で拒否ってみる

#!/usr/bin/perl -w
$ag=$ENV{'REMOTE_HOST'};

if(($ag=~ /xxxx\.xx\.jp/)||($ag=~ /yournet\.ne\.jp/))
{
    print "Content-type:text/html;charset=Shift_JIS\n\n";
    print "禁止されたHostです<br/>\n\n";
    exit;
} else {
    use strict;
    use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/lib" : 'lib';
    use MT::Bootstrap App => 'MT::App::Comments';
    }

▲上手く作動しない。。。
規制HostもELSE側を実行し、普通にコメント出来てしまう。

#!/usr/bin/perl -w
$ag=$ENV{'REMOTE_HOST'};

if(($ag=~ /xxxx\.xx\.jp/)||($ag=~ /yournet\.ne\.jp/))
{
    print "Content-type:text/html;charset=Shift_JIS\n\n";
    print "禁止されたHostです<br/>\n\n";
    exit;
} else {
print "Content-type: text/html;charset=Shift_JIS\n\n";
print "許可されたHostです<br/>\n";
    }

▲テスト用に上記の様なCGI作ってみる。
これだと、キチンとHost別にIF、ELSEを分けて実行してくれる。
POSTとGETで何か仕組みが違うっぽい。。。。

この辺勉強不足でなぜPOSTとGETで挙動が違うのか解らないです(^_^;


MobavleType自体のIP禁止設定を使う(様子見中)

IP禁止リスト
▲今日初めて知った、IP禁止リスト。MovableTypeの隠しコマンド?

「IP禁止リスト」を表示するには、mt-config.cgi に下記の1行を追加。

ShowIPInformation 1

これでMobavleTypeの「各ブログの管理画面」の「設定」タブに「IP禁止リスト」が表示される。
ここで禁止IPを追加したり、削除したりが可能。
(個別のブログ毎の設定で、システム全体で禁止する方法は無いみたい。)
(MT内部でひっそりと作動しているようで、連続スパムがやって来た時などに作動している模様)
(MT4にしてから1日のスパムが300件→30件に減ったのはコレのおかげかな?)


さらにプラグイン追加

で、この状態で AutoIPBanなるプラグインを導入するとかなり便利。
スパムが来るたびにワンクリックでこの「IP禁止リスト」へスパムIPを追加可能。

プラグインのインストールも「plugins」ディレクトリにファイル1個アップロードだけ。超簡単。
(ちなみにこのプラグインの解説サイトは、MTの隠しコマンド「IP禁止リスト」の存在を知らない人には???な内容です(^_^;)


今回見送ったプラグイン

スパム対策の決定版?IPスパムフィルターできました(^^)/ MT & SB 共通!
▲こんなのも見つけた。でもざっと読んで理解できなかった(^_^;
ちょっと今日はお疲れモード。この24時間で(MT改造・スパム対策ばかり)6本もブログ更新してるじゃないかwww
流石にこの辺で頭パンクしてきました。


スパム対策、ひとまず終了

自分の中で「やるだけやった」感が出てきたので、ひとまずスパム対策終了。

従来行っていた

  1. mt-ban-ascii.pl 
  2. spamlookup/spamlookup.pl 
  3. spamlookup/spamlookup_urls.pl 
  4. spamlookup/spamlookup_words.pl 

▲を全部解除。

  1. mt-prevent-trackback-spam-no-link-ja.pl は有効なままにした。
  2. CGIリネーム
  3. htaccessによりコメント出来るホストは.jp、bbtec.netのみを許可
  4. 残りのスパムは「MTのIP禁止リスト」で弾く

上記の運用で、どれくらい効果が出るか、しばらく様子見。