¿Cómo probar las reglas de ModSecurity contra los registros de acceso / error?

0

Estoy buscando crear algunas estadísticas y ajustar mis reglas de detección para mis servidores web. Sin embargo, estoy luchando con un problema importante. ¿Cómo puedo ejecutar mis reglas de ModSecurity contra solicitudes anteriores basadas en mis registros de acceso / error?

Otro enfoque podría ser extraer expresiones regulares de ModSecurity, pero me cuesta encontrar una manera de hacerlo.

    
pregunta Nirvilus 27.03.2018 - 17:05
fuente

2 respuestas

1

No creo que esto sea posible, e incluso si encuentras una manera de hacerlo, no representará el mundo real correctamente. Muchas reglas de mod_security se basan en una variedad de datos, incluidos varios encabezados en solicitudes HTTP, así como en datos de cuerpo de solicitud HTTP. Gran parte de estos datos (especialmente el cuerpo de solicitudes) generalmente no se registra (al menos en las configuraciones predeterminadas), por lo que incluso si pudiera volver a ingresar los registros, mod_security no podrá evaluar la solicitud completa.

    
respondido por el David 27.03.2018 - 19:25
fuente
1

Supongamos que tiene un servidor Apache escuchando localhost y CRS habilitado y escuchando la ubicación ModSecLivesHere, simplemente puede enviar todo su campo de registro de acceso 6 (URL) a esa dirección y obtener 403 respuestas.

for i in $(cat access.log |awk '{print $6}'); do
  curl http://127.0.0.1/ModSecLivesHere/${i}
done

Esto se supone que la ubicación siempre responderá con un 200 OK, excepto si ModSecurity intercepta la solicitud, en cuyo caso responderá un 403 Prohibido

RewriteEngine On
RewriteRule .* - [R=200,L]

La mejor manera si tiene un gran espacio de almacenamiento adjunto es utilizar el registro de auditoría y almacenar todas las solicitudes y respuestas (tipo de FPC con carga útil desencriptada), no solo las transacciones RelevantOnly, por lo que puede hacer una reproducción completa del tráfico. .io tienen algunas cosas enfria.

Con el registro de auditoría puede verificar la solicitud completa, no solo el URI como lo haría con el registro de acceso, el registro de errores está lleno de cosas que no están relacionadas solo con las solicitudes, por lo que debe filtrarlo primero y luego hacer algo. similar a lo que sugerí.

    
respondido por el Manuel Spartan 15.08.2018 - 17:54
fuente

Lea otras preguntas en las etiquetas