¿Cuáles son los parámetros que deben registrarse en una aplicación web?

5

Estoy trabajando en el desarrollo de un sistema de autenticación seguro con SSO. Hasta ahora he estado utilizando el marco de registro para generar registros que ayudan a depurar la aplicación. Me pregunto si hay una guía para implementar el registro en una aplicación web.

por ejemplo, digamos que hay un ataque en la aplicación web y un profesional de seguridad viene a analizar los registros, ¿cuáles son las cosas que intentará descubrir? ¿Cómo facilitar el análisis de registros?

    
pregunta Shurmajee 09.04.2013 - 09:55
fuente

2 respuestas

4

Si fuera yo, me gustaría lo siguiente:

  • Marca de tiempo precisa (al menos 1 segundo de resolución)
  • Dirección IP de origen.
  • Puerto de origen, si es posible.
  • Conjunto completo de encabezados de solicitud, si es posible.
  • ID de sesión.
  • Los encabezados del reenviador (por ejemplo, X_FORWARDED_FOR ) son obligatorios para el rastreo a través de proxies no transparentes.
  • URL solicitada sin procesar completa.
  • Parámetros POST, si corresponde.
  • Cualquier otro dato específico de su aplicación web que pueda ser útil para rastrear acciones.

En algunos casos, esta información puede ser voluminosa. Al dividir los registros diariamente y archivarlos en un formato comprimido, debería ser posible almacenar un historial razonable de registros. También sería aceptable eliminar la información más detallada (por ejemplo, datos POST completos) después de un par de semanas, pero eso puede limitar la efectividad de la respuesta a incidentes y la detección forense para ataques que se detecten en una fecha posterior.

    
respondido por el Polynomial 09.04.2013 - 11:49
fuente
3

Además de lo que Polynomial ha sugerido, recomiendo prestar especial atención al intento de autenticación. es decir, registrar toda la solicitud (incluido el agente de usuario, no un identificador único sino un indicador útil) tal vez ocultando la contraseña en un formato legible por la máquina (*). Pero también si el intento fue exitoso o no.

Dado que debe cambiar el ID de sesión en un intento de autenticación, debe registrar ambos (independientemente de si es exitoso). El seguimiento del contenido relacionado con la página de autenticación (jss, css, imágenes) también es una medida útil, de hecho, incluso podría considerar la posibilidad de incluir la página con contenido no almacenable en caché. Medir el tiempo de permanencia en la página es útil para detectar algunos tipos de ataques.

Medir el tiempo para generar el html y el tiempo necesario para descargarlo en el cliente proporciona información de perfil y detección de ataques de tipo sloloris.

Para páginas que no sean la página de autenticación, vea la lista de Polinomios y (donde un ID de usuario está asociado con una sesión, luego el ID de usuario, por ejemplo, vea mod_auth_memcookie ).

(*) es decir, con campos separados y fácilmente analizables

    
respondido por el symcbean 09.04.2013 - 15:05
fuente

Lea otras preguntas en las etiquetas