« chmod 644 mt-tb.cgi | メイン | FemoのURLについてのお知らせ »

mod_secutiryを使ってApacheでTrackback Spamを弾く

MTのTrackback Spam対策にmod_securityを使って英数字のみのTrackbackを弾くようにしてみた。

mt-tb.cgiが動く前にApacheとかProxyとかでSPAMを判定できるとサーバに優しいし、かなり良いんじゃないかと思う。

mod_secutiryを

# apxs -cia mod_security.c

でインストールして、

<Files "mt-tb.cgi">
    SecFilterEngine On
    SecFilterScanPOST On
    SecFilterDefaultAction "deny,log,status:406"
    SecFilterSelective POST_PAYLOAD "^[\x00-\x7F]+$"
</Files>


と設定。


フィルタリングされていると、

[Wed May 17 18:33:37 2006] [error] [client 213.178.208.228] mod_security: Access denied with code 406. Pattern match "^[\\\\x00-\\\\x7F]+$" at POST_PAYLOAD [severity "EMERGENCY"] [hostname "nomadscafe.jp"] [uri "/mt32/mt-tb.cgi/844"]
[Wed May 17 18:33:41 2006] [error] [client 213.178.208.228] mod_security: Access denied with code 406. Pattern match "^[\\\\x00-\\\\x7F]+$" at POST_PAYLOAD [severity "EMERGENCY"] [hostname "nomadscafe.jp"] [uri "/mt32/mt-tb.cgi/1122"]
[Wed May 17 18:34:23 2006] [error] [client 213.178.208.228] mod_security: Access denied with code 406. Pattern match "^[\\\\x00-\\\\x7F]+$" at POST_PAYLOAD [severity "EMERGENCY"] [hostname "nomadscafe.jp"] [uri "/mt32/mt-tb.cgi/1079"]

こんな感じのログが残ります。

参考:
株式会社ソフテック - mod_securityでWebサーバを守る(第1回)
Journal InTime - mod_securityでreferer spamよけ(2)

トラックバック

この一覧は、次のエントリーを参照しています: mod_secutiryを使ってApacheでTrackback Spamを弾く:

» mod_securityのルールを強化 from 適当なblog
ブラックリストを作ったり色々しているが、トラックバックスパムが減らない。かなり鬱陶しい。 ということでmod_securityで対応することにした。 G... [詳しくはこちら]