¿Cómo utilizar las reglas Modsec en determinada página?

¿Cómo utilizar las reglas Modsec en determinada página?

Quiero bloquear la IP del proxy (x-reenviado) de cierta página (wp-comments-post.php) usando Apache Mod_security.

mi regla mod_security actual:

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

Respuesta1

Deberías poder usar algo como

<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>

No tengo una máquina a mano para probar esto, pero debería denegar el acceso a la ubicación relevante si hay >0 encabezados de solicitud X-Forward-For. Muchas empresas utilizan servidores proxy, por lo que es posible que necesites escribir este "@gt 1" para reducir los falsos positivos. el apacheUbicaciónyUbicaciónCoincidenciadocumentación.

Respuesta2

Creo que puedes hacer esto si incluyes las reglas modsec dentro de una directiva de ubicación, por ejemplo.

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

información relacionada