ModSecurity 是一个强大的包过滤工具,将检查每一个进入web服务器的包。它将根据内部规则,比较每一个包,并且确定是否需要禁止这个包或继续发送给web服务器。
1、下载
modsecurity-apache: http://sourceforge.net/projects/mod-security/files/modsecurity-apache/
modsecurity-crs: http://sourceforge.net/projects/mod-security/files/modsecurity-crs/0-CURRENT/
2、安装
1)启用 mod_unique_id 模块
2)验证服务器安装了最新版本libxml2函数库
3)停止Apache httpd
4)解压
gzip -d modsecurity-apache_2.6.3.tag.gz
tar xvzf modsecurity-apache_2.6.3.tar
gzip -d modsecurity-core-rules_2.6.tar.gz
tar xvzf modsecurity-core-rules_2.6.tar.gz
5)配置
./configure
6)编译并测试ModSecurity
make
make test
7)安装
make install
修改 http.conf,启用ModSecurity,在httpd.conf文件添加:
LoadFile /usr/lib/libxml2.so
LoadModule security2_module modules/mod_security2.so
8)重启apache
到这里已经安装了ModSecurity,你可以查看配置指令文档:http://sourceforge.net/apps/mediawiki/mod-security/index.php?title=Reference_Manual
ubuntu上安装Apache2+ModSecurity及自定义WAF规则
虽然VPS使用了云WAF功能,但还是有点小担心,为了双重保险,决定使用modsecurity来定制规则,以下介绍如何为apache服务器配置ModSecurity防护罩(modsecurity目前也支持Nginx,IIS) 。
本次选择使用包管理器来安装,因为每次使用源码包的安装方式,都会被诡异的库依赖错误弄得发型都抓乱。
安装环境:
OS:Ubuntu 14.04.1 LTS
Apache: Apache/2.4.7 (Ubuntu)
第一步:安装apache
我建议安装Apache最好用apt-get安装,这样就可以少很多的库支持!!!!如果不嫌麻烦的话可以用源码安装
输入apt-get install apache2
如果提示没有这个软件包就更新一下软件包 apt-get install update
这步安装好了以后apache就可以提供服务了,输入127.0.0.1就可以访问本地网站了
第二步:安装modsecurity
这个也和上边的一样,使用
apt-get install libxml2 libxml2-dev libxml2-utils libaprutil1 libaprutil1-dev libapache2-modsecurity
安装好了以后就可以查看你的modsecurity的版本号是多少,使用
dpkg -s libapache2-modsecurity | grep Version
第三步 配置modsecurity
service apache2 reload
该命令生效后,会在/var/log/apache2/目录下生成modsecurity的日志文件modsec_audit.log
使用modsecurity核心规则集
将我们想起用的规则集放置在以下目录下
cd /usr/share/modsecurity-crs/activated_rules/
选择启用base规则集
for f in $(ls ../base_rules/); do ln -s ../base_rules/$f; done
修改apache模块配置,启用规则集
注意:modsecurity 2.7版本与2.6版本的配置文件有些区别
新闻热点
疑难解答