mod_security RBL - очевидное ложное срабатывание

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

Сообщение: поиск RBL в 4.3.2.1.sbl-xbl.spamhaus.org завершился успешно в REMOTE_ADDR. [file "/etc/httpd/modsecurity.d/activation_rules/modsecurity_crs_42_comment_spam.conf"] [line "21"] [id "981138"] [msg "Соответствие RBL для источника спама"] [серьезность "CRITICAL"] [tag " АВТОМАТИЗАЦИЯ / ВРЕДОНОСНАЯ "]

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

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

Другие вопросы по тегам