http://www.2cto.com/Article/201212/174729.html
1、安装LAMP和编译环境
环境说明 #Apache 2.2.5 #Mysql 5.1.6 #Centos 6.0 安装apache+php+mysql #yum -y install httpd php mysql mysql-server php-mysql 安装编译环境 #yum install gcc make #yum install libxml2 libxml2-devel httpd-devel pcre-devel curl-devel 启动服务测试 #service httpd start #service mysqld start 注意:需要iptables允许所有IP访问80端口 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 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 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 然后添加模块的配置文件 ? 1 2 3 4 5 6 7 <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 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/