mod_security 2.6系

サーバー運用がかなり厳しいので寄付をしてくれる人がいたらこちら
メインPCもボロボロになってきたので、ついにほしいものリスト公開

2.6系が出たので、試してみます。
2.6からルールファイルが分離したようで、modsecurity-crsとして別のもので配布されています。

2.6になってから、またかなり変わってきたようなので新たにメモ。

とりあえずいろんな機能を試すべく、コンパイルオプション全部入れてみる
(ただし、APRと念のためAPR-Utilはソースからコンパイルしておく→/path/toにインストールしたとする)

で、LUA使う場合、2.6.0のバグ?でLUA_SONAMES=soつけないと見つけてくれないので、忘れないようにする

事前準備

yum -y install pcre-devel libxml2-devel libcurl-devel lua-devel

インストール

cd /usr/local/src
wget http://www.modsecurity.org/download/modsecurity-apache_2.6.0.tar.gz
tar zxvf modsecurity-apache_2.6.0.tar.gz
cd modsecurity-apache_2.6.0
 
LUA_SONAMES=so ./configure --prefix=/usr/local/apache2 \
--with-apr=/path/to/apr-1-config \
--with-apu=/path/to/apu-1-config \
--enable-alp2 \
--enable-performance-measurement \
--with-pic
 
~~中略~~
checking for libpcre config script... /usr/bin/pcre-config
configure: using pcre v8.12
checking for libapr config script... /path/to/apr-1-config
configure: using apr v1.4.4
checking for libapu config script... /path/to/apu-1-config
configure: using apu v1.3.11
checking for libxml2 config script... /usr/bin/xml2-config
configure: using libxml2 v2.7.8
checking for liblua config script... no
checking for lua install... /usr/lib64 /usr/include
configure: using lua v5.1
checking for libcurl config script... /usr/bin/curl-config
checking if libcurl is at least v... yes, 7.21.3
checking if libcurl is linked with gnutls... no
configure: using curl v7.21.3
~~以下略~~
 
make
make install
cp modsecurity.conf-recommended /usr/local/apache2/conf/modsecurity.conf
 
cd /usr/local/src
mkdir modsecurity-crs
cd modsecurity-crs
 
rules-updater.pl -rhttp://www.modsecurity.org/autoupdate/repository/ -prules -Smodsecurity-crs
 
Fetching: modsecurity-crs/modsecurity-crs_2.2.0.zip ...
Verifying "rules/modsecurity-crs/modsecurity-crs_2.2.0.zip" with signature "rules/modsecurity-crs/modsecurity-crs_2.2.0.zip.sig"
Signature made Fri May 27 07:26:05 2011 by Ryan Barnett (OWASP Core Rule Set Project Leader) <rbarnett@trustwave.com> (ID: C976607D9624FCD2) and is fully trusted.
 
ls rules/modsecurity-crs
modsecurity-crs_2.2.0.zip modsecurity-crs_2.2.0.zip.sig
 
cd rules
unzip modsecurity-crs/modsecurity-crs_2.2.0.zip

検証時にこれが出る場合、署名をDLしてインストールしておきましょう。
(DL自体はできてるので、検証面倒って人はそのままでもおk)

-------------------------
Verifying "rules/modsecurity-crs/modsecurity-crs_2.2.0.zip" with signature "rules/modsecurity-crs/modsecurity-crs_2.2.0.zip.sig"
Signature validation failed.
-------------------------

署名のDL http://pgp.mit.edu:11371/pks/lookup?op=vindex&search=0xC976607D9624FCD2

9624FCD2をクリックして
-----BEGIN PGP PUBLIC KEY BLOCK-----
の行から最後までコピーして適当にペーストしてファイルに保存しましょう。

gpg --import test.gpg
gpg: 鍵9624FCD2: 公開鍵“Ryan Barnett (OWASP Core Rule Set Project Leader) <rbarnett@trustwave.com>”を読み込みました
gpg:     処理数の合計: 1
gpg:           読込み: 1  (RSA: 1)
 
gpg --gen-key
gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
 
ご希望の鍵の種類を選択してください:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (署名のみ)
   (4) RSA (署名のみ)
選択は? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
要求された鍵長は2048ビット
鍵の有効期限を指定してください。
         0 = 鍵は無期限
      <n>  = 鍵は n 日間で満了
      <n>w = 鍵は n 週間で満了
      <n>m = 鍵は n か月間で満了
      <n>y = 鍵は n 年間で満了
鍵の有効期間は? (0)
Key does not expire at all
これで正しいですか? (y/N) y
 
あなたの鍵を同定するためにユーザーIDが必要です。
このソフトは本名、コメント、電子メール・アドレスから
次の書式でユーザーIDを構成します:
    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
 
本名: Yamada
電子メール・アドレス: yamada@example.net
コメント: Tarou
次のユーザーIDを選択しました:
    “Yamada (Tarou) <yamada@example.net>”
 
名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)?
 
gpg --sign-key 9624FCD2

これでエラーはでなくなるはず。

インストールをすると以下の通りファイルが配置される

/usr/local/apache2/bin

mlogc
mlogc-batch-load.pl
rules-updater.pl

/usr/local/apache2/lib

mod_security2.so
libalp2.a
libalp2.la
libalp2.so
libalp2.so.0
libalp2.so.0.0.0

/usr/local/apache2/modules

mod_security2.so

ほかにもあるかもしれないですが、とりあえずこんな感じ。

設定

例のエラーが有って停滞しているので、落ち着いたら纏めますよ。

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
CAPTCHA
また変更しました
Fill in the blank.