好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Apache下ModSecurity的安裝啟用與配置

Apache下ModSecurity的安裝啟用與配置

熱門標簽:燃氣管線地圖標注顏色 話術外呼系統 廣東如何申請400電話 i智能電話機器人yeta 400電話申請要什么條件 北京人工外呼系統廠家 哈爾濱400電話去哪辦理 西柏坡地圖標注 寧波400電話辦理對企業的意義

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版本的配置文件有些區別

(1)2.7版本

vim /etc/apache2/mods-available/security2.conf
修改

<IfModule security2_module>
# Default Debian dir for modsecurity's persistent data
SecDataDir /var/cache/modsecurity
# Include all the *.conf files in /etc/modsecurity.
# Keeping your local configuration in that directory
# will allow for an easy upgrade of THIS file and
# make your life easier
IncludeOptional /etc/modsecurity/*.conf
IncludeOptional /usr/share/modsecurity-crs/*.conf
IncludeOptional /usr/share/modsecurity-crs/activated_rules/*.conf
</IfModule>

(2)2.6版本

‍‍vim /etc/apache2/mods-available/mod-security.conf‍‍
修改

Include /etc/modsecurity/*.conf
Include /usr/share/modsecurity-crs/*.conf
Include /usr/share/modsecurity-crs/activated_rules/*.conf

第四步:啟用modsecurity模塊

a2enmod headersa2enmod security2 (版本2.6: a2enmod mod-security)service apache2 restart

第五步:測試真實的攻擊payload

看是否能攔截

http://www.tanjiti.com/?case=archive&act=orders&aid[typeid`%3D1%20and%20ord(mid((select/**/concat(username,0x3a,password)%20from%20cmseasy_user),1,1))%3C49%23]=1
我們發現請求包被403攔截了,

可以查看modsecurity日志文件看具體的攔截情況

tail /var/log/apache2/modsec_audit.log
message: Access denied with code 403 (phase 2). Pattern match "(/\\*!?|\\*/|[&#039;;]--|--[\\s\\r\\n\\v\\f]|(?:--[^-]*?-)|([^\\-&])#.*?[\\s\\r\\n\\v\\f]|;?\\x00)" at ARGS_NAMES:aid[typeid`=1 and ord(mid((select/**/concat(username,0x3a,password) from cmseasy_user),1,1))
<49#].
[file "/usr/share/modsecurity-crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf"] [line "49"] [id "981231"] [rev "2"] [msg "SQL Comment Sequence Detected."] [data "Matched Data: /* found within ARGS_NAMES:aid[typeid`=1 and ord(mid((select/**/concat(username,0x3a,password) from cmseasy_user),1,1))<49#]: aid[typeid`=1 and ord(mid((select/**/concat(username,0x3a,password) from cmseasy_user),1,1))<49#]"] [severity "CRITICAL"] [ver "OWASP_CRS/2.2.8"] [maturity "8"] [accuracy "8"] [tag "OWASP_CRS/WEB_ATTACK/SQL_INJECTION"] [tag "WASCTC/WASC-19"] [tag "OWASP_TOP_10/A1"] [tag "OWASP_AppSensor/CIE1"] [tag "PCI/6.5.2"]

可以看到是被base規則集的modsecurity_crs_41_sql_injection_attacks.conf文件的規則981231攔截,命中了SQL注釋語句。
對于網站結構比較了解的站長們,完全可以自定義規則,特別是白名單規則來防護我們的網站。

第六步:自定義WAF規則

規則語法快速入門參考 ModSecurity SecRule cheatsheets

WAF規則實例1:上傳文件名白名單,只允許上傳圖片文件

vim /usr/share/modsecurity-crs/activated_rules/MY.conf
添加規則

SecRule FILES "!\\.(?i:jpe?g|gif|png|bmp)$" "deny,tag:'WEB_ATTACK/FILEUPLOAD',msg:'upload no-picture file',id:0000001,phase:2"
測試,上傳php文件

(http的使用參照HTTP發包工具 -HTTPie)
http www.tanjiti.com filename@a.php
我們可以看到請求包被攔截,查看modsecurity日志

more /var/log/apache2/modsec_audit.log
可以看到命中了規則0000001

Message: Access denied with code 403 (phase 2). Match of "rx \\.(?i:jpe?g|gif|png|bmp)$" against "FILES:filename" required. [file "/usr/share/modsecurity-crs/activated_rules/MY.conf"] [line "1"] [id "0000001"] [msg "upload no-picture file"] [tag "WEB_ATTACK/FILEUPLOAD"]
WAF規則實例2: 上傳文件名中包含%00進行阻斷

vim /usr/share/modsecurity-crs/activated_rules/MY.conf
添加規則

SecRule FILES "@contains %00" "deny,tag:&#039;WEB_ATTACK/FILEUPLOAD',msg:'filename has null character',id:0000002,phase:2"
測試,上傳文件名包含%00的文件

http www.tanjiti.com filename@a.php%00.jpeg
我們可以看到請求包被攔截,查看modsecurity日志

more /var/log/apache2/modsec_audit.log
可以看到命中了規則0000002

Message: Access denied with code 403 (phase 2). String match "%00" at FILES:filename. [file "/usr/share/modsecurity-crs/activated_rules/MY.conf"] [line "2"] [id "0000002"] [msg "filename has null character"] [tag "WEB_ATTACK/FILEUPLOAD"]
非常簡單吧,下一步,計劃介紹一下nginx服務器的防護。

注意!!!!!!!!!!!!!!
一旦這樣修改了以后,使用IP地址就顯示403錯誤!!!!!!為了這個錯誤,搞了一天,在網上搜各種403錯誤就是不行,為什么呢????
查看errol.log 就可以發現,是modsecurity里面禁止了使用IP訪問!!!!!!使用localhost就可以正常訪問了。。。
所以,看日志是一個很重要的事兒

標簽:湘潭 西藏 巴中 阜陽 襄陽 開封 張家口 珠海

巨人網絡通訊聲明:本文標題《Apache下ModSecurity的安裝啟用與配置》,本文關鍵詞  Apache,下,ModSecurity,的,安裝,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Apache下ModSecurity的安裝啟用與配置》相關的同類信息!
  • 本頁收集關于Apache下ModSecurity的安裝啟用與配置的相關信息資訊供網民參考!
  • 推薦文章