ModSecurity是Apache Web服務(wù)器的Web應(yīng)用程序防火墻。 除了提供日志記錄功能,ModSecurity可以實(shí)時(shí)監(jiān)視HTTP流量,以便檢攻擊。 ModSecurity還可作為Web入侵檢測(cè)工具,允許您對(duì)Web系統(tǒng)中發(fā)生的可疑事件做出反應(yīng)。
安裝ModSecurity
Ubuntu / Debian
sudo apt-get install libxml2 libxml2-dev libxml2-utils
sudo apt-get install libaprutil1 libaprutil1-dev
sudo apt-get install libapache-mod-security
CentOS / Fedora
1.通過逐個(gè)輸入以下命令來安裝GCC編譯器和依賴關(guān)系:
sudo yum install mod_security
2.通過輸入以下命令重新啟動(dòng)Apache:
sudo /etc/init.d/httpd restart
OWASP ModSecurity核心規(guī)則集
對(duì)于基本配置,我們將使用OWASP核心規(guī)則集。 安裝說明在SpiderLabs GitHub項(xiàng)目中:
https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/master/INSTALL
配置ModSecurity
你可能需要用到modsecurity_10_crs_config,我們從示例中復(fù)制一份
cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_setup.conf
有五個(gè)規(guī)則目錄:
activated_rules
base_rules
experimental_rules
optional_rules
slr_rules
有兩種方式配置ModSecurity:使用基本規(guī)則集,或使用符號(hào)鏈接。 以下章節(jié)說明如何使用這兩種方法。
使用基本規(guī)則集
如果您準(zhǔn)備使用基本規(guī)則集,而不想使用符號(hào)鏈接配置文件,請(qǐng)執(zhí)行以下步驟:
1.修改httpd.conf文件,如下所示:
/etc/apache2/httpd.conf (Debian / Ubuntu):
<IfModule security2_module>
Include modsecurity-crs/.conf Include modsecurity-crs/base_rules/.conf
</IfModule>
/etc/httpd/conf/httpd.conf (CentOS / Fedora)
<IfModule security2_module>
Include modsecurity-crs/.conf Include modsecurity-crs/base_rules/.conf
</IfModule>
2.在modsecurity crs_20_protocol_violations.conf文件中,將REQBODY_ERROR變量重命名為REQBODY_PROCESSOR_ERROR。
3.重新啟動(dòng)Apache以使更新生效:
Debian / Ubuntu:
/etc/init.d/apache2 restart
CentOS / Fedora:
/etc/init.d/httpd restart
使用符號(hào)鏈接
如果您希望以符號(hào)方式將這些配置文件鏈接到activated_rules目錄,請(qǐng)執(zhí)行以下步驟:
1.編輯Apache配置文件,使IfModule看起來像這樣:
/etc/apache2/httpd.conf (Debian / Ubuntu):
<IfModule security2_module>
Include modsecurity-crs/modsecurity_crs_10_config.conf Include modsecurity-crs/activated_rules/*.conf </IfModule>
/etc/httpd/conf/httpd.conf (CentOS / Fedora):
<IfModule security2_module>
Include modsecurity-crs/modsecurity_crs_10_config.conf Include modsecurity-crs/activated_rules/*.conf </IfModule>
2.在重新啟動(dòng)Apache之前創(chuàng)建符號(hào)鏈接。 下列出幾個(gè)示例。
要將所有base_rules復(fù)制到activated_rules: > > for f in ls base_rules/ ; do ln -s /usr/local/apache/conf/crs/base_rules/$f activated_rules/$f ; done >
要將評(píng)論垃圾郵件規(guī)則從可選規(guī)則目錄復(fù)制到activated_rules目錄:>> for f in ls optional_rules/ | grep comment_spam ; do sudo ln -s /usr/local/apache/conf/crs/optional_rules/$f activated_rules/$f ; done >
3.重新啟動(dòng)Apache以使更新生效:
Debian / Ubuntu:
/etc/init.d/apache2 restart
CentOS / Fedora:
/etc/init.d/httpd restart