2009/09/10 (木)

2009-09-10:mod_security2 で特定 REMOTE_ADDR を拒絶

トラックバックスパムUZEEEEEE!!!
というわけで、弊サイトでは mod_security2 を使って apache2 レベルで業者さんをはじいています。
レシピはGot Rootさんからもらってきてる。

が、ときたますり抜ける人たちがいて、手動でちまちま削除したりするんだけど、よく見ると特定の IP アドレスからのお客さんだったりして、ローカルルールで個別にブラックリストにしてみました。

SecRule REMOTE_ADDR "^208\.109\.93\.49$" phase:1,log,auditlog,deny

こんなルールをたとえば localrules.conf とかの名前で用意して、apache の方の設定の <IfModule mod_security2.c> なセクションに

Include localrules.conf

と書いた後、apache の再起動。
localrules.conf の編集後も apache 再起動しないと読み込まれないので要注意。

comment

2009/06/05 (金)

2009-06-05:mod_security ルールファイル更新

最近またトラックバックスパムがひどくなってきた。
ちまちま手で消しては、b2evolution のローカルブラックリストに単語追加をしていたのだけど、いい加減にうっとうしくなったので、mod_security のルールファイルを更新。
作業は http://www.gotroot.com/tiki-index.php?page=mod_security+rules からとってきたファイルを展開して、中のルールファイルでファイル参照が決めうちになっているものを修正するだけ。/etc/asl/whitelist とあるのをなおすのが2箇所かな。

とりあえずは、しばしこれで様子見です。

comment

2008/09/02 (火)

2008-09-02:debian etch で mod_security2

ちょっと前にここの blog のトラックバック受付を有効にしたんですが、きちんとトラックバックスパムが来るようになりました。。。:-|
というわけで、mod_security で撥ねてしまえ、という設定のオハナシ。

mod_security は debian のオフィシャルには入ってないので、apt-get はできない。
http://etc.inittab.org/~agi/debian/libapache-mod-security2/2.5.x/etch/
ここから

  • libapache2-mod-security2_2.5.5-1~etch1_i386.deb
  • mod-security2-common_2.5.5-1~etch1_all.deb

をとってきて、dpkg -i でインストール。

Debian の apache は /etc/apache2/ 以下にいろいろファイルが置かれる。モジュールの場合、/etc/apache2/mods-available/ 以下に実体が置かれ、/etc/apache2/mods-enabled/ 以下にシンボリックリンクを張ると有効になる、という仕組み。
dpkg では /etc/apache2/mods-enabled/mod-security2.load しか用意してくれず、設定ファイルの mod-security2.conf は自分で用意する必要がある。
とりあえず、旧サーバで使ってたころのファイルを持ってきた。
。。。うまくいかない。

バージョンが1から2になって Derective が変わりまくっているのね。
http://www.modsecurity.org/documentation/ の「ModSecurity 1.x to 2.x migration Matrix」を見ながら、ぽちぽちと修正。

ルールファイルは http://www.gotroot.com/tiki-index.php?page=mod_security+rules から Free Rules の All in one downloads for modsec 2.5 の gzip ファイルをもらってくる。
/etc/modsecurity/ というディレクトリを作って、そこに展開し、/etc/apache2/mods-available/mod-security2.conf には

Include /etc/modsecurity/00_asl_rbl.conf

といった感じに記述してルールファイルを読み込んでいく。
もらってきたルールファイルはそのままだと「/etc/asl/whitelist」みたいな決め打ちファイル名が見つからなくて怒られるので、適宜編集。
05_asl_scanner.conf の中に書かれてる modsec-clamscan.pl は modsecurity-apache_1.9.5.tar.gz の中の util フォルダにある。自分はこれをまとめて /etc/modsecurity/util/ とコピーしてみました。

とりあえず、もらってきたルールを全適用して様子を見ていますが、そんなに重たくはないみたい。
Core2 Duo 3.16GHz のサーバ、というのもあるかもしれませんけど。
しばらくは audit ログとか、CPU load average とかを監視してみます。

comment

2007/02/06 (火)

2007-02-06:mod_security 導入

おかげさまでここのブログもトラックバックスパムなお客さんがいっぱいいらっしゃるようになりました。
というわけで、トラックバックスパム対策。

b2evolution をいじることも考えたんですが、もっと入口からおさえちゃえ、と mod_security を導入することにしました。
以下から Debian なパッケージをもらってきて dpkg -i でインストール。

http://www.modsecurity.org/download/

ルールは以下から取得。

http://www.gotroot.com/tiki-index.php?page=mod_security+rules

/etc/apache2/mods-available/mod-security.conf を書いて、a2enmod mod-security でモジュールを有効にしてから

sudo /etc/init.c/apache2 force-reload

ログを見ていると、トラックバックスパムを試みている人たちがガンガン蹴られてます。いい感じ。
ただ、すっごくマシンが重たくなった気もする。(^^;
苦情が出てから考えよう。

ちなみにこのサーバ、subversion を http で提供していたりするんですが、もらってきたルールそのままだと普通にはねられる。
ルールをいじろうかとも思いましたが、svn で提供している URL には mod-security を適用しない、という逃げでとりあえず回避。

comment