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版本的配置文件有些區別
新聞熱點
疑難解答