mod_security RBL - кажущееся ложное срабатывание

mod_security RBL - кажущееся ложное срабатывание

Я борюсь с правилом RBL в mod_security под apache 2.2, которое, похоже, дает мне ложное срабатывание. Я вижу следующее в журнале аудита (IP-адрес отредактирован):

Сообщение: Поиск RBL 4.3.2.1.sbl-xbl.spamhaus.org успешно выполнен по адресу REMOTE_ADDR. [файл "/etc/httpd/modsecurity.d/activated_rules/modsecurity_crs_42_comment_spam.conf"] [строка "21"] [идентификатор "981138"] [сообщение "RBL Match for SPAM Source"] [серьёзность "CRITICAL"] [тег "AUTOMATION/MALICIOUS"]

Часть, которая сводит меня с ума, заключается в том, что если я делаю an nslookupна имени, указанном в сообщении журнала, я получаю результат, что он не существует. Что, как я понимаю, означает, что этого адреса нет в списке. Так почему же mod_security добивается успеха?

Я также воспользовался службой поиска spamhaus, чтобы убедиться, что IP-адрес не занесен в черный список.

Что я упускаю? Такое ощущение, что что-то кэшируется, но я не могу понять, где.

Немного больше предыстории: изначально хост использовал DNS-сервер, который (полезно) возвращал адреса даже при неудачном поиске. Я переключил конфигурацию на использование серверов Google (8.8.8.8 и 8.8.4.4), и теперь hostвсе nslookupработает так, как я и ожидал. Я перезагрузил сервер, так что теоретически кэша в памяти нет. Я также убедился, что файлы данных mod_security, которые сохраняют IP-адрес, очищены. Я знаю, что это работает, поскольку первоначальный поиск адреса выглядит так, как указано выше, а последующие, после первоначального ложного успеха, показывают адрес как известный СПАМ-адрес.

Правило, о котором идет речь:

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. Сервер имен был настроен на поиск имен в пределах mydomain.com с помощью параметра «search» в /etc/resolv.conf
  2. У меня была подстановочная запись DNS для *.mydomain.com, возвращающая IP-адрес

(1) остается верным, но я удалил подстановочную запись DNS, поэтому теперь поиск example.com больше не будет приводить к совпадению с example.com.mydomain.com

Связанный контент