Назад | Перейти на главную страницу

Mod Security ctl: ruleEngine = Off Сбой белого списка на этапе 1

mod_security с настраиваемыми правилами и белыми списками в отдельных файлах .conf - Apache 2.2, modsec 2.8

Правило белого списка:

SecRule REMOTE_ADDR "^10\.10\.10\.10" phase:1,nolog,allow,ctl:ruleEngine=Off,id:104008

Если на сервер отправляется запрос, который включает, например, /?abc=../../ тогда modsec разрешает запрос только от 10.10.10.10, в противном случае он отклоняет запрос на этапе 2 с 403, как я ожидал (из-за наших установленных правил)

У меня есть клиент, который использует удаленную систему управления WorPress (которая здесь представлена ​​как 10.10.10.10), но эта система отправляет определенные ПОЧТА запросы, содержащие Content-Length заголовки, но отсутствуют Тип содержимого заголовки.

Даже если запрос поступает от 10.10.10.10, это приводит к:

--7ed45f75-H--
Message: Access denied with connection close (phase 1). Match of "rx ^0$" against "REQUEST_HEADERS:Content-Length" required. [file "/usr/local/apache/conf/modsec_rules/10_asl_rules.conf"] [line "93"] [id "392301"] [rev "7"] [msg "Atomicorp.com WAF Rules: Request Containing Content, but Missing Content-Type header"] [severity "NOTICE"] [tag "no_ar"]
Apache-Error: [file "config.c"] [line 395] [level 3] Handler for (null) returned invalid result code 9, referer: https://redacted.com
Action: Intercepted (phase 1)

Я не уверен, что ctl:ruleEngine=Off просто не может использоваться в SecRule фазы 1, или если это ошибка Mod Security 2.8. Я могу подтвердить, что нет никаких правил, которые впоследствии снова включали бы ctl: ruleEngine.

Как вы уже ответили на свой вопрос Вот, вы должны создать дополнительный файл конфигурации и поместить в него эту строку, это отключит Atomicorp Правило, которое вы упоминали, только для этого пользователя / домена (для всех).

Файл: / usr / local / apache / conf / userdata / std / 2 /имя пользователя/example.com

<IfModule mod_security2.c>
  SecRuleRemoveById 392301
</IfModule>

РЕДАКТИРОВАТЬ

Отключение определенного правила для определенного IP / диапазона будет выглядеть следующим образом

SecRule REMOTE_HOST "@ipmatch 1.2.0.0/16" \
"id:12345,phase:2,t:none,pass,nolog,noauditlog,ctl:ruleRemovebyID=392301"

Как объяснено на Atomicorp вики