« MovableTypeのテンプレートフィルタパッチで微妙に再構築高速化 | メイン | FeedBurnerを導入&ちょっと保留かも »

apacheでMT/WPのスパム対策 DNSBLのmod_setenvifdnsblを使ってみる

MovableType/WordPressに対して、いろいろスパム対策を試行錯誤した結果、現在はUserAgent、IPアドレス、Akismet(MT-Akismet)、MT内蔵のSpamLookup、IPBan、iptablesの組み合わせでほぼスパムをシャットアウトできるようになりました。

特にトラックバックスパムはUA/IPアドレスでほとんどが引っかかるのでapacheに負荷も余りかかりません。ただ残念ながらコメントへのスパムはUAがブラウザを騙るものが多くフィルタ出来ません。主にAkismet, SpamLookupでのチェックになります。ちゃんと検出してくれるのですが、サーバへの負荷を考えるともう一歩という感じです。

やはりapacheでもう少し拒否したいので調べてみると、拡張モジュールでDNSBLを引く方法が幾つかあります。mod_access_rbl, mod_dnsbl, mod_dnsbl_lookup, mod_defensibleなどがあるようです。しかし残念ながら、apache2.2に対応しておらず古かったり、apacheのソースへのパッチであったり、コンパイルが通らなかったりと今ひとつです。

比較的新しいものとして、良さそうなのが以下のmod_setenvdnsbl。ページは英語ですが作者さんは日本人のようです。

インストールはCentOS5に行いました。非常に簡単でしたが、設定に少し迷ったのでメモ。

  • ダウンロードして展開
  • Makefile先頭のaxpsのパスを/usr/sbin/axpsに変更
  • make && make install

apacheの設定

  • httpd.confかconf.d/setenvdnsbl.confを作成し以下の一行を入れておく
LoadModule setenvdnsbl_module modules/mod_setenvdnsbl.so
  • このモジュールはIPV4にしか対応していないので、httpd.confでListen部分を修正(最初どこからのアクセスに対してもうまく動かずソース眺めながら悩みました)
Listen 80    =>  Listen 0.0.0.0:80 or Listen <Server.Ip.Addr.ess>:80
  • apache再起動
  • 配布元の.htaccessのExampleにはtypoがあるようです(一応連絡しました)。設定を以下のようにします。
...
SetEnvIf User-Agent "^tb_send/1.0" trackbackSpammer

<Files "mt-tb.*cgi">
SetEnvIfDNSBL remote_addr bsb.spamlookup.net trackbackSpammer
<Limit POST>
Order Allow,Deny
allow from all
deny from env=trackbackSpammer
... 

<Files "mt-comments.*cgi">
SetEnvIfDNSBL remote_addr bsb.spamlookup.net trackbackSpammer
<Limit POST>
Order Allow,Deny
...

  • 注意。チェック時に毎回DNS参照を行うのでFilesセクションなど範囲制限できる場所に記述すること。CachingDNSサーバを立てるのも良いかも。
  • niku.2ch.netは強力ですが国内のレンタルサーバが結構入っているので、コメントスパムにはいいのですが、トラックバックスパムには使わないほうがいいかも
  • 上の例のbsb.spamlookup.netはMovableTypeに標準で入っているものの一つ
  • サーバのエラーログに簡単な動作状況が出力されます
  • apacheモジュールなのでブログの種類を問わず、またwikiや他のwebアプリでも使える

以上、うまく動作しているようです。
動作はちゃんとしていますが、複数の条件設定をするとあまりうまくないような。ソースを見る時間がないので様子見です。とりあえず、おかげさまでいたちごっこもだいぶ満足できるレベルになってきました。ありがとうございます。

トラックバック

このエントリーのトラックバックURL:
http://blog.browncat.org/cgi-bin/mt/mt-tb-abc.cgi/364


コメントを投稿

(お書きになったコメントはすぐには表示されません。ご了承ください。)


About

2007年07月04日 15:58に投稿されたエントリーのページです。

ひとつ前の投稿は「MovableTypeのテンプレートフィルタパッチで微妙に再構築高速化」です。

次の投稿は「FeedBurnerを導入&ちょっと保留かも」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

           

カテゴリー

Powered by
Movable Type 3.36

Twitter


最近のエントリー

デル株式会社ads

注目エントリー