2005年03月22日

DSBLでアクセス拒否

open proxyらしきものを自前で判定するのも効率が悪いので、DSBL(Distributed Sender Blackhole List)を利用してknown open proxy経由のアクセスを弾く。

My Quiet Life >> referrer-b-goneを参考に設定。
ダウンロードしたmod_access_rbl.tar.gzを展開して
% apxs -c mod_access_rbl.c
% sudo apxs -i -n access_module mod_access_rbl.so
/etc/httpd/httpd.confのmod_access.soに関係する行を変更
#LoadModule access_module libexec/httpd/mod_access.so
LoadModule access_module libexec/httpd/mod_access_rbl.so
#AddModule mod_access.c
AddModule mod_access_rbl.c
そして以下の行をしかるべきところに追加
deny via list.dsbl.org
きびしく設定するといくつかのプロバイダからアクセスできなくなってしまうようだ。mod_access_rblのページも自宅ADSLからはアクセスできない。おそらく同じプロバイダにぶら下がっているspammerか踏み台ホストがordb.orgやspamhaus.org、もしくはdsblのunconfirmedに登録されているのだろう。
なので、とりあえずhttpd.confにはdeny via list.dsbl.orgとだけ記述した。

カスタムログが403エラーで汚れるのが鬱陶しいので、環境変数をセットするようにmod_access_rbl.cをちょっと変更し、

if (ret == FORBIDDEN && (ap_satisfies(r) != SATISFY_ANY || !ap_some_auth_required(r))) { ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r, "client denied by server configuration: %s", r->filename); ap_table_setn(r->subprocess_env, "X_STATUS", "403"); } else { ap_table_setn(r->subprocess_env, "X_STATUS", "200"); }
その環境変数をhttpd.conf内のSetEnvIfから参照して、特定のログに403エラーのアクセスは記録されないようにした。

2005年03月09日

春の告白

春の告白

というプロジェクトのサイト構築をしました。

blogシステムにちょっと手を加えて運用(最近blogばっかり)。参加者が自分でblogにユーザ登録できるようにしたのと、登録と同時にそのユーザ名でmoblog可能になるように改造。管理者にメール送ってユーザ登録依頼、とかやってると春の息吹を逃してしまうので。

現在の東京の気温によってバックグラウンドの色が変わります。