官网的code获取地址
http://www.modsecurity.org/do...
里面讲述了系统的安装方法,此文只讲从源代码编译安装
1、安装modsecurity
./configure --help可以查看所有的编译参数,注意指定下列参数到apache目录,和apache共用,不然会apache用自己的,modsecurity用了系统的,出现莫名其妙的问题
./configure --with-apxs=/usr/local/apache2/bin/apxs --with-pcre=/usr/local/bin/pcre-config --with-apr=/usr/local/apache2/bin/apr-1-config --with-apu=/usr/local/apache2/bin/apu-1-config --with-yajl=PATH
--with-yajl是提供json支持,如果这个库没有装上,会在拦截application/json的时候报400的错误。
安装完成后可以在apache的modules目录或者/usr/local/modsecurity/lib中看到mod_security2.so,使用ldd mod_security2.so可以看到里面配置了的参数,看是否有yajl(切记、切记、切记),我自己就没有装上去,只能在modsecurity.conf中关闭了对application/json的支持。
2、安装核心规则集
下载并安装最新的OWASP CRS
进入apahace的安装目录
3、配置apahce
复制modsecurity源文件夹下的modsecurity.conf-recommended到apache的conf/extra下,命名为modsecurity.conf
开启unique_id,security2
LoadModule unique_id_module modules/mod_unique_id.so
LoadModule security2_module modules/mod_security2.so
<IfModule security2_module>
Include conf/extra/modsecurity.confInclude crs/owasp-modsecurity-crs/modsecurity_crs_10_setup.confInclude crs/owasp-modsecurity-crs/base_rules/*.conf Include conf/extra/modsecurity_crs_10_customrules.conf
</IfModule>
注:
modsecurity_crs_10_customrules.conf中是覆盖了一些原有的配置,比如:
SecRuleUpdateTargetById 981172 !REQUEST_COOKIES:/userInfo.*/
这句的意思就是在cookie中遇到userInfo的时候,禁用981172的规则,这个在配置选项里面有详细说明
modsecurity的配置选项
https://github.com/SpiderLabs...
未完待续
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。