¿Cómo puedo registrar el encabezado y el cuerpo de la respuesta en Apache?

12

Necesito determinar si el servidor (Apache 2) está devolviendo el contenido completo de una página junto con su encabezado correcto o no. Tengo un script PHP que se ejecuta con éxito, pero el navegador solo obtiene la mitad del contenido html, simplemente está cortado.

La infraestructura del cliente es bastante complicada, ya que utiliza Novell BorderManager Proxys y otras cosas. Para asegurar que el servidor está haciendo su trabajo bien, quiero registrar tanto el encabezado como el cuerpo de la respuesta.

¿Cómo puedo conseguir esto? Miré en el mod_log_configmódulo de apache (que ya está instalado y listo para ser usado), pero honestamente no logré configurarlo para el encabezado y el cuerpo de salida en alguna parte.

editar: logré registrar el encabezado con

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{HEADER_NAME}o\"" common2

CustomLog /var/log/apache2/response.log common2

Pero desafortunadamente, los formatos mod_log_config no admiten todo el cuerpo del contenido.

Actualización: tropecé con mod_dumpio, que parece hacer exactamente eso, pero no puedo hacer que funcione hasta ahora :-(

¿Alguien puede ayudar?

cumbre
fuente

Respuestas:

3

Puede hacerlo a través de mod_security , consulte la Documentación sobre el formato de datos del Registro de auditoría .

weeheavy
fuente
Gracias, pero la documentación dice "Partes del registro de auditoría disponibles: [...] G - RESERVADO para el cuerpo de respuesta real, aún no implementado".
acme
Puedes usar Eo Iporque he vinculado un documento antiguo. Más nuevo está aquí: modsecurity.org/documentation/modsecurity-apache/2.5.12/…
weeheavy
1
He añadido esto a httpd.conf: SecAuditEngine On SecAuditLog /var/log/apache2/sec.log SecAuditLogParts ABEFGHZ. Obtengo algunos datos de depuración, por lo que parece funcionar, pero el cuerpo de respuesta no se muestra.
acme
tanto el enlace original como el último enlace al documento estaban rotos, así que puse un enlace al último.
icc97
4

en caso de que no obtenga ningún cuerpo de respuesta en sus registros al usar el " Cuerpo de respuesta previsto (E) "; p.ej.:

SecAuditLogParts ABCEFHZ

Asegúrese de haber activado también el motor de reglas:

SecRuleEngine On

y verifique su configuración para:

SecRequestBodyAccess On
SecResponseBodyAccess On
Florian
fuente