Я поискал в сети и нашел много общих ответов на этот вопрос, однако ни один из них не работает.
Я пытаюсь использовать это, чтобы игнорировать каждый раз, когда сканирование начинается утром.
SecRule REMOTE_HOST "@ipmatch 99.123.33.87" "id:90000009,phase:1,t:none,allow,nolog,ctl:ruleRemovebyID=.*;"
Кто-нибудь знает, в чем может быть проблема?
В ответе Барри Полларда есть ctl:ruleEngine=On
пока это должно быть Off
игнорировать все правила, как того требует вопрос. Вот еще один пример того, как это сделать, из рабочей конфигурации:
SecRule REMOTE_ADDR "@contains 99.123.33.87" "id:1,phase:1,nolog,allow,ctl:ruleEngine=Off"
Несколько проблем:
REMOTE_HOST - это имя, а не IP-адрес. Вам нужен REMOTE_ADDR.
«ctl: ruleRemovebyID =. *» не является допустимым синтаксисом и, даже если он был, не должен быть обязательным (хотя см. пункт 4 ниже).
В конце точка с запятой не нужна.
«Разрешить» игнорируется в режиме DetectionOnly, что, на мой взгляд, интуитивно понятно и может привести к множеству ложных срабатываний, если вам по какой-то причине нужно переключиться в этот режим. Поэтому я всегда добавляю «ctl: ruleEngine = On» к любым «разрешающим» правилам, которые я пишу, чтобы заставить это правило также работать, даже когда в этом режиме.
Таким образом, окончательная правильная версия вашего правила:
SecRule REMOTE_ADDR "@ipmatch 99.123.33.87" "id:90000009,phase:1,t:none,allow,nolog,ctl:ruleEngine=On"