mod_security RBL – 明显的误报

mod_security RBL – 明显的误报

我正在努力解决 apache 2.2 下 mod_security 中的 RBL 规则,该规则似乎给出了误报。我在审计日志中看到以下内容(IP 地址已删除):

消息:在 REMOTE_ADDR 上成功查找 4.3.2.1.sbl-xbl.spamhaus.org。[文件“/etc/httpd/modsecurity.d/activated_rules/modsecurity_crs_42_comment_spam.conf”] [行“21”] [id“981138”] [消息“RBL 匹配 SPAM 源”] [严重性“CRITICAL”] [标签“AUTOMATION/MALICIOUS”]

让我抓狂的是,如果我对nslookup日志消息中指定的名称执行操作,结果却是该名称不存在。据我理解,这意味着该地址不在列表中。那么为什么 mod_security 会成功呢?

我还使用了 spamhaus 的查找服务来确认该 IP 地址未被列入黑名单。

我遗漏了什么?感觉好像有东西被缓存了,但我不知道在哪里。

再介绍一下背景情况,最初主机使用的是 DNS 服务器,即使查找失败,该服务器也会返回地址(很有用)。我已将配置切换为使用谷歌服务器(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"

答案1

我不再看到这个问题并且我怀疑我知道原因了。

  1. 名称服务器配置为通过 /etc/resolv.conf 中的“搜索”设置在 mydomain.com 内搜索名称
  2. 我有一个 *.mydomain.com 的通配符 DNS 条目,返回 IP 地址

(1)仍然正确,但我删除了通配符 DNS 条目,因此现在搜索 example.com 将不再匹配 example.com.mydomain.com

相关内容