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

Modsecurity игнорировать / занести IP-адрес в белый список

Я поискал в сети и нашел много общих ответов на этот вопрос, однако ни один из них не работает.

Я пытаюсь использовать это, чтобы игнорировать каждый раз, когда сканирование начинается утром.

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"

Несколько проблем:

  1. REMOTE_HOST - это имя, а не IP-адрес. Вам нужен REMOTE_ADDR.

  2. «ctl: ruleRemovebyID =. *» не является допустимым синтаксисом и, даже если он был, не должен быть обязательным (хотя см. пункт 4 ниже).

  3. В конце точка с запятой не нужна.

  4. «Разрешить» игнорируется в режиме DetectionOnly, что, на мой взгляд, интуитивно понятно и может привести к множеству ложных срабатываний, если вам по какой-то причине нужно переключиться в этот режим. Поэтому я всегда добавляю «ctl: ruleEngine = On» к любым «разрешающим» правилам, которые я пишу, чтобы заставить это правило также работать, даже когда в этом режиме.

Таким образом, окончательная правильная версия вашего правила:

SecRule REMOTE_ADDR "@ipmatch 99.123.33.87" "id:90000009,phase:1,t:none,allow,nolog,ctl:ruleEngine=On"