Regla de Modsecurity para no escanear URI

Regla de Modsecurity para no escanear URI

Buen día,

Actualmente estoy creando una nueva regla de seguridad mod 2.5.

Mi implementación: tengo un servidor Apache en modo proxy inverso. Este servidor Apacheno esalojar los sitios web. En su lugar, envío las solicitudes a otro servidor que responde a las solicitudes web.

El servidor web utiliza tokens de autenticación para reescribir la URL del sitio web en una URL segura.

75.75.75.75 - - [01/May/2015:10:55:14 -0400] "GET /record/example.svc/js HTTP/1.1" 200 1786 "https://example.org/example.aspx?XOW%5eLdz%3c2%2f1%2f42%2527kbmhtbffJfx%3e0%2527qpkf%5ejc%3e2%2527Cfruho%60uhpmXOW%5eLdz%3c2%2f1%2f42%2527RptsbfVQU%60Jfx%3e193%2527qpkf%5ejc%3e2%2527RptsbfVQU%60Ejqts%60Bihmc%60Mblf%3cSdrtfru%1fTbpqjmh"

El problema:

Modsecurity actualmente escanea el URI. Debido a la naturaleza de los URI aleatorios, se han producido muchos falsos positivos. Para evitar esto, quiero eximir del análisis a todos los URI.

Dado que el token de reescritura, redireccionamiento y autenticación se genera en el servidor web (y así es como queremos conservarlo), ¿cómo le informo a la seguridad del mod que estos encabezados son legítimos y no los escaneo?

75.75.75.75 - - [01/May/2015:10:55:52 -0400] "GET /thing.aspx?XOW%5eLdz%3c375%25cddnnd%60ttds%5ebt%60he%3c5%2f58328 HTTP/1.1" 200 15100 "https://example.org/example.aspx?XOW%5eLdz%3c2%2f1%2f42%2527kbmhtbffJfx%3e0%2527qpkf%5ejc%3e2%2527Cfruho%60uhpmXOW%5eLdz%3c2%2f1%2f42%2527RptsbfVQU%60Jfx%3e193%2527qpkf%5ejc%3e2%2527RptsbfVQU%60Ejqts%60Bihmc%60Mblf%3cSdrtfru%1fTbpqjmh"

 75.75.75.75 - - [01/May/2015:10:55:52 -0400] "GET /example/example.svc/js HTTP/1.1" 200 1786 "https://example.org/example.aspx?XOW%5eLdz%3c375%25cddnnd%60ttds%5ebt%60he%3c5%2f58328"

Respuesta1

Hasta donde yo sé, no es posible ignorar de forma general ninguna parte particular de la solicitud (ya sea URI o cualquier parámetro) detodoreglas ModSecurity configuradas. Si bien esto puede resultar útil, probablemente abriría una serie de agujeros de seguridad.

Por lo tanto, solo necesita ver qué reglas están fallando y agregar excepciones a la lista blanca para esas reglas.

Si da ejemplos de algunas de las reglas fallidas, podría sugerirle cómo hacerlo si necesita ayuda con esto.

Respuesta2

Terminamos resolviendo este problema usando otra regla para no escanear el URI.

SecRuleUpdateTargetById 950120 !ARGS:REQUEST_URI

De esta manera, esta regla particular no escaneará el URI pero sí escaneará el resto del paquete. Cabe señalar que esta regla debe replicarse para cada regla que tenga.

información relacionada