官網的code獲取地址
http://www.modsecurity.org/do...
裏面講述了系統的安裝方法,此文只講從源代碼編譯安裝html
一、安裝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=PATHgit
--with-yajl是提供json支持,若是這個庫沒有裝上,會在攔截application/json的時候報400的錯誤。github
安裝完成後能夠在apache的modules目錄或者/usr/local/modsecurity/lib中看到mod_security2.so,使用ldd mod_security2.so能夠看到裏面配置了的參數,看是否有yajl(切記、切記、切記),我本身就沒有裝上去,只能在modsecurity.conf中關閉了對application/json的支持。apache
二、安裝核心規則集
下載並安裝最新的OWASP CRS
進入apahace的安裝目錄json
三、配置apahce
複製modsecurity源文件夾下的modsecurity.conf-recommended到apache的conf/extra下,命名爲modsecurity.confcookie
開啓unique_id,security2
LoadModule unique_id_module modules/mod_unique_id.so
LoadModule security2_module modules/mod_security2.soapp
<IfModule security2_module>ide
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>gradle
注:
modsecurity_crs_10_customrules.conf中是覆蓋了一些原有的配置,好比:
SecRuleUpdateTargetById 981172 !REQUEST_COOKIES:/userInfo.*/
這句的意思就是在cookie中遇到userInfo的時候,禁用981172的規則,這個在配置選項裏面有詳細說明url
modsecurity的配置選項
https://github.com/SpiderLabs...
未完待續