10
Apache 安装配置 ModSecurity ----ourren 2012.8.2

Apache安装配置mod security

Embed Size (px)

DESCRIPTION

Apache安装配置mod security 详细步骤

Citation preview

Page 1: Apache安装配置mod security

Apache 安装配置 ModSecurity ----ourren 2012.8.2

Page 2: Apache安装配置mod security

1、安装 LAMP 和编译环境

安装 apache+php+mysql

#yum -y install httpd php mysql mysql-server php-mysql

apache 版本

Mysql 版本

Centos 版本

安装编译环境

#yum install gcc make

#yum install libxml2 libxml2-devel httpd-devel pcre-devel curl-devel

启动服务测试

#service httpd start

#service mysqld start

注意:需要 iptables 允许所有 IP 访问 80 端口

Page 3: Apache安装配置mod security

2、安装 mod_security

从官方下载源码、编译并安装。

//sourceforge fuck gwf

#wget http://www.modsecurity.org/download/modsecurity-apache_2.6.6.tar.gz

# tar xzf modsecurity-apache_2.6.6.tar.gz

# cd modsecurity-apache_2.6.6

# ./configure

# make install

# cp modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf

Page 4: Apache安装配置mod security

3、规则配置

需要配置一些规则防范未知漏洞和扫描,采用 Modsecurity 推荐规则和 OWASP_CRS 两个

规则进行组合,如下:

详细规则采用 OWASP_CRS:

http://downloads.sourceforge.net/project/mod-security/modsecurity-crs/0-CURRENT/modsecurity-crs_2.2.5.tar.gz

基本规则设置采用Modsecurity 推荐规则:

http://mod-security.svn.sourceforge.net/viewvc/mod-security/m2/trunk/modsecurity.conf-recommended

使用的时候将 Modsecurity 推荐规则文件内容加在 modsecurity_crs_10_config.conf 的前

面,并把 SecRuleEngine DetectionOnly 改为 SecRuleEngine On 即可(因为需要的不仅仅是检

测,需要防御)。

# cd /etc/httpd/

# wget http://downloads.sourceforge.net/project/mod-security/modsecurity-crs/0-CURRENT/modsecurity-crs_2.2.5.tar.gz

# tar xzf modsecurity-crs_2.2.5.tar.gz

# mv modsecurity-crs_2.2.5 modsecurity-crs

# cd modsecurity-crs

# cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_config.conf

# vi /etc/httpd/modsecurity.d/modsecurity_crs_10_config.conf

Page 5: Apache安装配置mod security

4、加载模块

Apache 加载 mod_security 模块,注意要修改的时候需要关闭 apache。

# vi /etc/httpd/conf/httpd.conf

在其中找到 LoadModule 并在下面添加下面的代码:

#LoadModule security2_module modules/mod_security2.so

#LoadModule unique_id_module modules/mod_unique_id.so

然后添加模块的配置文件

<IfModule security2_module>

Include /etc/httpd/modsecurity-crs/modsecurity_crs_10_config.conf

Include /etc/httpd/modsecurity-crs/base_rules/*.conf

</IfModule>

重启 apache

# service httpd restart

Page 6: Apache安装配置mod security

5、功能测试

创建数据库

#CREATE TABLE user (id int(5),username VARCHAR(20), password CHAR(1));

php 测试代码

数据库结构

插入数据

# insert user(id,username,password) values(1,'admin','adminpass');

Page 7: Apache安装配置mod security

测试网页

可以看到用 Havij 成功爆出了数据库和数据

加载 mod_security 模块后,正常访问看看效果:

可以看到现在无法用 Havij 爆出数据信息,其日志信息中有提示,“Please register to enable

mod_security bypass”,但是当开启这个功能后,发现还是不能注入。

Page 8: Apache安装配置mod security
Page 9: Apache安装配置mod security

看 modsec_audit 日志是发现有注入的,并且利用了注释来绕过防火墙。

Page 10: Apache安装配置mod security

6、总结

通过上面的安装和测试,发现 modsecurity 可以防御一些攻击,同时用户可以根据需求

自定义规则,从功能方面来看还是很不错的,不过规则配置相对比较复杂,实际应用的话需

要深入研究才行。

参考资料

http://www.tecmint.com/protect-apache-using-mod_security-and-mod_evasive-on-rhel-centos-f

edora/

http://mod-security.svn.sourceforge.net/viewvc/mod-security/m2/trunk/modsecurity.conf-reco

mmended

http://blog.secaserver.com/2011/10/install-mod_security-apache2-easiest/