mod_security RBL - 明顯的誤報
我正在為 apache 2.2 下 mod_security 中的 RBL 規則而苦苦掙扎,這似乎給了我一個誤報。我在審核日誌中看到以下內容(IP 地址已編輯):
消息:4.3.2.1.sbl-xbl.spamhaus.org 的 RBL 查找在 REMOTE_ADDR 處成功。
$$ file “/etc/httpd/modsecurity.d/activated_rules/modsecurity_crs_42_comment_spam.conf” $$ $$ line “21” $$ $$ id “981138” $$ $$ msg “RBL Match for SPAM Source” $$ $$ severity “CRITICAL” $$ $$ tag “AUTOMATION/MALICIOUS” $$
讓我發瘋的部分是,如果我
nslookup
對日誌消息中指定的名稱執行操作,我會得到它不存在的結果。據我了解,這意味著該地址不在列表中。那麼為什麼 mod_security 會成功呢?我還使用 spamhaus 的查找服務來確認 IP 地址未列入黑名單。
我錯過了什麼?感覺好像有東西被記憶體了,但我不知道在哪裡。
更多背景知識,最初主機使用的 DNS 伺服器(有幫助)即使在查找失敗時也會返回地址。我已將配置切換為使用Google伺服器(8.8.8.8 和 8.8.4.4),現在
host
可以nslookup
按預期工作。我已經重新啟動了伺服器,所以理論上沒有記憶體記憶體。我還確保清除了保留 IP 地址的 mod_security 數據文件。我知道這是有效的,因為地址的初始查找如上所示,隨後的查找在初始錯誤成功後將地址顯示為已知的垃圾郵件地址。有問題的規則:
SecRule REMOTE_ADDR "@rbl sbl-xbl.spamhaus.org" \ "phase:1,id:'981138',t:none,pass,nolog,auditlog,msg:'RBL Match for SPAM Source',\ tag:'AUTOMATION/MALICIOUS',severity:'2',setvar:'tx.msg=%{rule.msg}',\ setvar:tx.automation_score=+%{tx.warning_anomaly_score},\ setvar:tx.anomaly_score=+%{tx.warning_anomaly_score},\ setvar:tx.%{rule.id}-AUTOMATION/MALICIOUS-%{matched_var_name}=%{matched_var},\ setvar:ip.spammer=1,expirevar:ip.spammer=86400,setvar:ip.previous_rbl_check=1,\ expirevar:ip.previous_rbl_check=86400,skipAfter:END_RBL_CHECK"
我不再看到這個問題,我懷疑我知道原因。
- 名稱伺服器被配置為通過 /etc/resolv.conf 中的“搜尋”設置在 mydomain.com 中搜尋名稱
- 我有一個 *.mydomain.com 的萬用字元 DNS 條目,它返回一個 IP 地址
(1) 仍然正確,但我已刪除萬用字元 DNS 條目,因此現在搜尋 example.com 將不再導致匹配 example.com.mydomain.com