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>