↑日記で日々積み重ねた情報をトップの「わんこのページ」にまとめています。

おのたく日記 [RDF] YouTubeも始めました→


2004-11-13(Sat) [長年日記]

[Security] mod_securityインストール

@IT 第11回 Webアプリケーションファイアウォールによる防御」で、Apache Webサーバで、クロスサイトスクリプティングの検知ができるmod_securitが紹介されていた。

以前トライしようとしていたけど、止まっていたので、本日インストールを実施。

mod_security DownloadによるとCVSで取ってくれるそうなので、

% cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/mod-security login

Password: メイルアドレス

% cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/mod-security co mod_security

でソースを取ってくる。おうちはApache 1.3なので、

% cd mod_securit/apache1

% apxs -cia mod_security.c

としてmod_securit.soを作成する。

ここで、おうちサーバのDebain 3.0(WOODY)+αでは、

% apxs -o mod_security.so -c mod_security.c

gcc -DLINUX=22 -DEAPI -DTARGET="apache" -I/usr/include/db1 -DDEV_RANDOM=/dev/random -DUSE_HSREGEX -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O1 -fPIC -DSHARED_MODULE -I/usr/include/apache-1.3 -c mod_security.c

gcc -shared -o mod_security.so mod_security.o -lc -lm -lcrypt -ldb1 -ldb -lexpat

/usr/bin/ld: cannot find -ldb1

collect2: ld returned 1 exit status

apxs:Break: Command failed with rc=1

とエラーが出る、「cannot find -ldb1」というのは、どうやらαの部分でdb1がlibdb1-compatに変えてあったのが原因と判明。

いま利用しているDebianのlibc6(=GNU C ライブラリ glibc)のバージョン2.2からは、db1が内蔵されているみたいなので、

% gcc -shared -o mod_security.so mod_security.o -lc -lm -lcrypt -ldb -lexpat

% sudo cp -p mod_securit.so /usr/lib/apache/1.3

として、mod_security.so作った。/etc/apache/http.confは、とりあえず

LoadModule security_module /usr/lib/apache/1.3/mod_security.so

<IfModule mod_security.c>

SecFilterEngine On

SecFilterScanPOST On

SecFilterDefaultAction "deny,log,status:406"

SecAuditEngine RelevantOnly

SecAuditLog /var/log/apache/audit.log

SecFilterSelective ARGS ("|>|<|'|script|onerror)

</IfModule>

としてテスト。

追加のSecFilterは、「@IT 第12回 mod_securityのXSS対策ルールを作成する」にあるので参考にする予定。

本日のツッコミ(全1件) [ツッコミを入れる]
_ わんこ (2004-11-14(Sun) 11:51)

ところで、「コメントなどがフィルタされてしまうのではないか」と不安だったので、テスト投稿

_ わんこ日記 (2004-11-14(Sun) 11:54)

コメントはOKだったのでトラックバックをテスト

本日のPingbacks(全0件)

Google Web検索 on-o.com内を検索