1、安装LAMP和编译环境
环境说明
[code lang=“bash”] #Apache 2.2.5 #Mysql 5.1.6 #Centos 6.0[/code] 安装apache+php+mysql
[code lang=“bash”]#yum -y install httpd php mysql mysql-server php-mysql[/code]
安装编译环境
[code lang=“bash”]#yum install gcc make
yum install libxml2 libxml2-devel httpd-devel pcre-devel curl-devel[/code]
启动服务测试
[code lang=“bash”]#service httpd start
service mysqld start[/code]
注意:需要iptables允许所有IP访问80端口 2、安装mod_security
从官方下载源码、编译并安装。
[code lang=“bash”]//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[/code]
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即可(因为需要的不仅仅是检测,需要防御)。
[code lang=“bash”]# 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[/code]
4、加载模块
Apache加载mod_security模块,注意要修改的时候需要关闭apache。
[code lang=“bash”] # vi /etc/httpd/conf/httpd.conf[/code] 在其中找到LoadModule并在下面添加下面的代码:
[code lang=“bash”] #LoadModule security2_module modules/mod_security2.so
#LoadModule unique_id_module modules/mod_unique_id.so[/code]
然后添加模块的配置文件
[code lang=“bash”] <IfModule security2_module>
Include /etc/httpd/modsecurity-crs/modsecurity_crs_10_config.conf
Include /etc/httpd/modsecurity-crs/base_rules/*.conf
</IfModule>[/code]
重启apache
[code lang=“bash”]# service httpd restart[/code] 5、功能测试
见附件文档。
6、总结 通过上面的安装和测试,发现modsecurity可以防御一些攻击,同时用户可以根据需求自定义规则,从功能方面来看还是很不错的,不过规则配置相对比较复杂,实际应用的话需要深入研究才行。
参考资料 http://www.tecmint.com/protect-apache-using-mod_security-and-mod_evasive-on-rhel-centos-fedora/ http://mod-security.svn.sourceforge.net/viewvc/mod-security/m2/trunk/modsecurity.conf-recommended http://blog.secaserver.com/2011/10/install-mod_security-apache2-easiest/
附件下载:链接