Tengo un servicio JEE en un contenedor Tomcat 9 (Debian 10.8). Frente a él, un servidor web Apache + mod_proxy_ajp.
En mi VH no tengo ninguna regla de ProxyPass para el contexto /manager/html pero si en un cliente web reescribo mi URL agregando /..;/manager/html (por ejemplo: https://www.example.org/site/ ..;/manager/html ), Tomcat Manager solicita credenciales.
¿Hay algún truco para evitarlo? ¿Quizás usando modsecurity? Gracias.
Resolví el problema usando reglas de mod_security:
SecRule REQUEST_URI "@rx ..;/" "phase:1,severity:'CRITICAL',deny,id:129"Funciona.
Dado que los parámetros de ruta solo se utilizan en Tomcat para el seguimiento de sesiones (como alternativa a las cookies), puede eliminarlos de forma segura en Apache2 del segmento de ruta .. :
RewriteEngine on RewriteRule ^(.*)/\.\.;[^/]*(.*)$ $1/..$2 [N]Alternativamente, puede eliminarlos por completo:
RewriteEngine on RewriteRule ^(.*);[^/]*(.*)$ $1$2 [N] y configure Tomcat para usar solo cookies para el seguimiento de sesiones en $CATALINA_BASE/conf/web.xml :
<session-config> ... <tracking-mode>COOKIE</tracking-mode> </session-config>