アーカイブ

Modsecurityのインストール方法

Modsecurityのインストール要件を確認し、インストールしてみました。その手順を備忘としてまとめました。
下記リファレンスマニュアルを参考にしました。
https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#Introduction

(1)ModSecurityのApacheへのインストール要件


 
①Apache2.0.x以上、Apache2.2.x以上推奨
 
②mod_unique_idが必要
 
・CentOS6.4のApacheパッケージには、有効になってはいませんでしたがインストールはされていました。

$ yum provides "*/mod_uniq*"
 :
httpd-2.2.15-29.el6.centos.x86_64 : Apache HTTP Server
Repo        : base
Matched from:
Filename    : /usr/lib64/httpd/modules/mod_unique_id.so

 
③libaprとlibapr-utilが必要
http://apr.apache.org/
 
私の環境ではインストール済みでした。
 

$ rpm -qa | grep apr
apr-util-ldap-1.3.9-3.el6_0.1.x86_64
apr-1.3.9-5.el6_2.x86_64
apr-util-1.3.9-3.el6_0.1.x86_64
apr-devel-1.3.9-5.el6_2.x86_64
apr-util-devel-1.3.9-3.el6_0.1.x86_64

 
④libpcreが必要
http://www.pcre.org/
 
私の環境ではインストール済みでした。

Installed Packages
Name        : pcre
Arch        : x86_64
Version     : 7.8
Release     : 6.el6
Size        : 514 k
Repo        : installed
From repo   : base
Summary     : Perl-compatible regular expression library
URL         : http://www.pcre.org/
License     : BSD
Description : Perl-compatible regular expression library.
            : PCRE has its own native API, but a set of "wrapper" functions that
            : are based on the POSIX API are also supplied in the library
            : libpcreposix. Note that this just provides a POSIX calling
            : interface to PCRE: the regular expressions themselves still follow
            : Perl syntax and semantics. The header file for the POSIX-style
            : functions is called pcreposix.h.

 
⑤libxml2が必要
http://xmlsoft.org/downloads.html
 
私の環境ではインストール済みでした。

Installed Packages
Name        : libxml2
Arch        : x86_64
Version     : 2.7.6
Release     : 12.el6_4.1
Size        : 1.7 M
Repo        : installed
From repo   : updates
Summary     : Library providing XML and HTML support
URL         : http://xmlsoft.org/
License     : MIT
Description : This library allows to manipulate XML files. It includes support
            : to read, modify and write XML and HTML files. There is DTDs
            : support this includes parsing and validation even with complex
            : DtDs, either at parse time or later once the document has been
            : modified. The output can be a simple SAX stream or and in-memory
            : DOM like representations. In this case one can use the built-in
            : XPath and XPointer implementation to select subnodes or ranges. A
            : flexible Input/Output mechanism is available, with existing HTTP
            : and FTP modules and combined to an URI library.

 

(2)CentOS 5.10にyumでmod_securityをインストール


 
①yumでepelリポジトリを使えるようにする
 
こちらを参照
 
②yumでインストール
 

# yum --enablerepo=epel install mod_security
 
Installed:
  mod_security.i386 0:2.6.8-4.el5

Dependency Installed:
  lua.i386 0:5.1.4-4.el5

Complete!

 

(3)初期設定


 
①libxml2.soとliblua5.1.soのパスを確認
 

# rpm -ql lua
 :
/usr/lib/liblua-5.1.so
 
# rpm -ql libxml2
 :
/usr/lib/libxml2.so.2
/usr/lib/libxml2.so.2.6.26

 
②Apache設定ファイルに各モジュールのロードを追加
 

# vi/etc/httpd/conf.d/mod_security.conf
 
security2_moduleのロードの前にlibxml2.soとliblua5.1.soのロードを追加
 
LoadFile /usr/lib/libxml2.so.2.6.26
LoadFile /usr/lib/liblua-5.1.so
LoadModule security2_module modules/mod_security2.so
LoadModule unique_id_module modules/mod_unique_id.so

 
③CRSをインストール
 

# yum --enablerepo=epel install mod_security_crs
 
Installed:
  mod_security_crs.noarch 0:2.2.5-5.el5
 
Complete!

/etc/httpd/modsecurity.d/activated_rules/ディレクトリ内にルールセットがインストールされます。

関連記事の目次