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

Как использовать правила Modsec для определенной страницы?

я хочу заблокировать прокси (x-forwarded) ip определенную страницу (wp-comments-post.php) с помощью Apache Mod_security.

мое текущее правило mod_security:

SecRule REQUEST_HEADERS_NAMES "^x-forwarded-for" "log,deny,id:48,status:403,t:lowercase,msg:'Don't use Proxy'"

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

<Location /koko/lala/wp-comments-post.php >
SecRule .... 
</Location>

Вы должны иметь возможность использовать что-то вроде

<LocationMatch "wp-comments-post.php" >
    SecRule &REQUEST_HEADERS:X-Forwarded-For "@gt 0" "log,deny,id:48,status:403,msg:'Don't use Proxy'"
</LocationMatch>

У меня нет машины, на которой можно это проверить, но она должна отказывать в доступе к соответствующему месту, если имеется> 0 заголовков запроса X-Forward-For. Многие компании используют прокси-серверы, поэтому вы можете обнаружить, что вам нужно сделать этот «@gt 1», чтобы уменьшить количество ложных срабатываний. Апач Расположение и LocationMatch документация.