mod_securityインストール

# yum install mod_security_crs mod_security

でインストールをしてみた。オリジナルルールを作成したり、ipを除外したりと細かいルールをインクルードできるみたいだが、基本設定で動かしてみる。

サービスを再起動してどうかわったか色々調べてみた。

まず/var/log/httpd/にログファイルが作成される。

[root@www httpd]# ll
合計 108
-rw-r–r– 1 root root 20601  9月  5 13:07 2013 access_log
-rw-r–r– 1 root root  9116  9月  5 13:07 2013 error_log
-rw-r—– 1 root root      0  9月  5 13:07 2013 modsec_audit.log
-rw-r—– 1 root root     0  9月  5 13:00 2013 modsec_debug.log

ログは空っぽなんで動いてるかどうかwp-login.phpにアクセス規制をしてわざとログを出力させてみたら。

[root@www httpd]# tail -f modsec_audit.log
Apache-Error: [file “/builddir/build/BUILD/httpd-2.2.15/modules/abc/mod_authz_host.c”] [line 311] [level 3] client denied by server configuration: /home/superweibucom/public_html/wp-login.php, referer: //www.superweibu.com/
Stopwatch: 1378354060235588 1025 (- – -)
Stopwatch2: 1378354060235588 1025; combined=228, p1=140, p2=0, p3=2, p4=53, p5=32, sr=15, sw=1, l=0, gc=0
Response-Body-Transformed: Dechunked
Producer: ModSecurity for Apache/2.7.3 (http://www.modsecurity.org/); OWASP_CRS/2.2.6.
Server: Apache
Engine-Mode: “ENABLED”

–3d7bf228-Z–

一応うごいているこは確認したが、要は色々パターンをもっていてそれにマッチするとアクセス禁止にする。

参考サイト

http://www.ys-network.info/?tag=mod_security

追記、nginxでもmod_securityをいれよとしたけど、nginxパッケージでいれちゃったんだよな。

日本のサイトで検索かけても全然なくて海外のサイトみたらnginxをbuildしてインストールする際にモジュールを指定してbuildしないとだめっぽい。

今度nginx作る時考える。