modsecurity黑白名單以及規則檢測模式配置
( 一、黑白名單)
百度ip, 查詢出口 ip ,編輯 /usr/local/nginx/conf/modsecurity/modsecurity.conf 檔案 ( 也可以自定義一個檔案 , 在自定義檔案里加入規則集,防止破壞原生的 modsecurity.conf 檔案 ) 。
# 黑名單攔截規則:
SecRule REMOTE_ADDR "@ipMatch 220.112.124.125" "id:1238,phase:1,log,auditlog,deny,status:403"
{ REMOTE_ADDR 遠端地址, 訪問者 ip }
# 黑名單攔截加重定向規則:
SecRule REMOTE_ADDR "@ipMatch 220.112.124.125" "id:1239,phase:1,log,auditlog, redirect:http://modsecurity.cn/practice/intercept.html "
# 取消某個規則 ID :
1 、 49.234.128.215/?id=1 AND 1=1 ( 模擬簡單的 SQL 注入 )
2、 SecRuleRemoveById 949110
# 白名單釋放規則:
SecRule REMOTE_ADDR "@ipMatch 220.112.124.125" "id:1000,phase:1,pass,nolog,ctl:ruleEngine=Off"
{ Ctl 改變當前事務的配置 (ctl 臨時修改 ModSecurity 配置 ) 例如 = 》 ctl:ruleEngine=off 代表關閉攔截模式,所有規則失效。 }
(二、 規則檢測模式)
傳統檢測模式- 自主規則 :
傳統檢測模式所有規則都是“閉環”的模式;規則之間不共享資訊。它僅使用其當前的單個規則邏輯進行檢測。如果規則觸發,它將執行當前規則中指定的中斷 / 記錄日誌操作。
優點 :速度快(因為直接阻斷了,停止進一步處理)。
缺點 :誤報/ 漏報率比較高。
異常評分檢測模式 - 協作規則概念:
這種改進的檢測模式的核心理念是實施協作檢測和延遲阻塞。它會進行事務性異常評分記錄。
另外,每個規則還將儲存關於每個規則匹配的後設資料(例如規則ID ,攻擊類別,匹配位置和匹配資料)在唯一 TX 變數內。
使用ModSecurity 的 setvar 動作增加異常分數。
· Critical : 異常得分5 ,表示可能應用程式攻擊,主要由 93x 94x 檔案生成。
· Error : 異常得分4 ,表示可能資料洩露,主要有 95x 檔案生成,暫不支援 nginx 和 nginx plus 。
· Warning : 異常得分3 ,表示可能惡意客戶端,主要由 91x 檔案生成的。
· Notice: 異常得分2 ,表示可能違反協議,主要由 92x 檔案生成。
以圖種的 critical 為例: 嚴格等級為“ critical ”的每個 CRS 規則都會將每次規則匹配的事務異常分數提高 5 分。
優點 :
允許使用者設定適合他們的閾值 - 不同的網站可能有不同的阻止閾值。
對阻止的信心增加 - 由於更多檢測規則導致異常評分,評分越高,您越有信心阻止惡意事務。
缺點 :
對於普通使用者來說使用更為複雜。
日誌監控指令碼可能需要不斷更新才能正確分析。
攻擊操作 :
1 、 49.234.128.215/?id=1 AND 1=1 ( 模擬簡單的 SQL 注入 )
接著分析日誌以及crs-setup 指令碼檔案:
2、 更改閾值,編輯crs-setup.conf 檔案(變為傳統模式)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31537832/viewspace-2689109/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 配置ModSecurity防火牆與OWASP規則防火牆
- ModSecurity 自建規則之路
- modsecurity:規則例子:匹配url
- Firewalld 白名單配置方法
- go Casbin配置檔案,以及匹配規則Go
- 配置資料庫監聽白名單資料庫
- 通過白名單iptables限制ip規避漏洞
- 規則引擎模式 - upperdine模式
- 利用白名單繞過限制的更多測試
- 靜態路由規則配置路由
- ESLint: 規則配置覆蓋EsLint
- docker上面部署nginx-waf 防火牆“modsecurity”,使用CRS規則,搭建WEB應用防火牆DockerNginx防火牆Web
- MySQL之MGR白名單MySql
- Laravel忽略白名單和黑名單Laravel
- Apache之Rewrite和RewriteRule規則梳理以及http強轉https的配置總結ApacheHTTP
- javascript變數的宣告以及命名規則JavaScript變數
- oracle 設定監聽白名單,並且怎麼設定白名單地址Oracle
- Oracle 11g/12c 監聽器白名單的配置Oracle
- 記一次eslint規則配置EsLint
- 如何在 Linux 中配置 firewalld 規則Linux
- 檢測清單
- 嵌入式Linux可用的防火牆——iptables:實現ip白名單、mac地址白名單Linux防火牆Mac
- 通過規則引擎跟蹤Java執行狀態的檢測工具:BytemanJava
- Java記憶體模型以及happens-before規則Java記憶體模型APP
- Git忽略提交規則.gitignore配置總結Git
- Docker 埠對映防火牆規則配置Docker防火牆
- windows/Linux 防火牆安裝配置規則WindowsLinux防火牆
- Nginx URL重寫規則配置詳解Nginx
- Centos7安裝Nacos單機模式以及叢集模式(包含nignx安裝以及實現叢集)的相關配置CentOS模式
- MLeakFinder使用總結及白名單
- egg 設定跨域白名單跨域
- restful鑑權白名單匹配urlREST
- 開放封閉原則與規則引擎設計模式 - devgenius設計模式dev
- 設計模式 基本規範與基本原則設計模式
- 在Java中用規則引擎模式替代ifelse - VitaliJava模式
- 如何學習Java的規則引擎模式? - plagovJava模式Go
- docker nacos配置單機模式Docker模式
- Day68 Spring TX (事務)和配置細節以及單例設計模式Spring單例設計模式