カテゴリー別アーカイブ: サーバー管理

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/ディレクトリ内にルールセットがインストールされます。

関連記事の目次

Modsecurityの概要と特徴

Modsecurityの概要と特徴についてリファレンスマニュアルを読んでまとめました。
https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#Introduction
続きを読む

関連記事の目次