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 вики