mod_access_rbl for Apache2

English instruction.

Apache で dnsbl を使ったアクセス制御をするモジュールとして mod_access_rbl というのがあるです。これ、apache 1.3.x でしか動かんので、2.x で動くようにしてみたです。といっても、オリジナルの Apache1.3 の mod_access.c と mod_acccess_rbl.c の差分を Apache2 に適用しただけなんで、わかる人なら3分でできる作業でしょう。おれは C がわからんので数時間かかったけど。

使い方。httpd-2.0.xx/modules/aaa/mod_access.c に このパッチを当ててから configure && make && sudo make install するか、

% apxs -c mod_access.c
# apxs -i -n mod_access .libs/mod_access.so
とすると、dnsbl 検索機能つきの mod_access がインストールされるです。RBL 機能のないオリジナルの mod_access.so を上書きします。これで httpd.conf や .htaccess に
<Files hoge.html>
# 第三者不正利用可能なプロキシサーバからのアクセスを排除
deny via http.dnsbl.sorbs.net
# 中国、韓国からのアクセスを排除
deny via cn-kr.blackholes.us
</Files>
のように書けるようになるです。公開されている dnsbl はたとえば ここを参照。

mod_dnsbl_lookup なるものもあるようです。こちらは IPv6 アドレスの DNSBL 検索にも対応している模様。mod_access_rbl は IPv4 しか対応してません。

重要な注意点。


やまや