Alerta segura para una aplicación web monitoreada

2

¿Cuál es un buen método para recibir alertas de seguridad?

El correo electrónico es lo primero que viene a la mente, aunque es susceptible a los ataques MITM (por ejemplo, un atacante que impide que se entregue el correo electrónico). Aunque esto no es realmente un ataque práctico, ya que el MITM generalmente no se colocará adecuadamente para que esto funcione (a menudo, la recuperación del correo electrónico se realiza a través de SSL, y es difícil para los atacantes interceptar la entrega real). Sin embargo, podría haber otros ataques, como el atacante DDoSing el servidor de correo para evitar que se reciban alertas.

El mensaje de texto suena bien, sin embargo, el número de alertas activadas puede ser alto e inadecuado para este formato.

Otra forma puede ser una aplicación móvil para recibir alertas en cualquier momento o en cualquier lugar. Sin embargo, si la aplicación no está instalada actualmente, no se recibirán alertas (por ejemplo, los usuarios que cambian de teléfono, etc., mientras que los formatos como el correo electrónico y el mensaje de texto son universales).

Estamos buscando monitorear una aplicación interna orientada a Internet implementada en la nube desde una perspectiva de seguridad y nos gustaría que alertas como las siguientes se registren y posiblemente se alerten sobre:

  • Intentos de contraseña incorrecta.
  • Formularios enviados con tokens CSRF incorrectos.
  • Intentó acceder a las URL a las que el usuario no debería poder acceder (por ejemplo, si el usuario intenta ir a /Admin o si hay algún parámetro de manipulación - el usuario cambia /Project/1234 a /Project/4567 ).

En pocas palabras, cualquier amenaza de seguridad que pueda ser manejada internamente por la aplicación que nos gustaría saber que se ha intentado. No estamos interesados en tratar de detectar intentos en XSS o cualquier cosa "extra" fuera de la funcionalidad de nuestra aplicación, simplemente nos gustaría saber cuándo se activa una de las reglas de seguridad existentes para poder monitorearla y posiblemente actuar sobre ella. Con las reglas de seguridad me refiero a la lógica de negocios dentro de la aplicación para asegurarla, de modo que este sistema se implementaría realmente a nivel de código para decidir sobre qué deberíamos alertar.

Los eventos de seguridad ya están registrados, sin embargo, la verificación de estos registros es un proceso manual. Podríamos introducir el concepto de umbrales para reducir los falsos positivos. es decir, solo se registra un intento de contraseña incorrecta, sin embargo, 5 intentos incorrectos seguidos contra una cuenta de una IP particular activan una alerta.

Para resumir, estoy buscando una forma segura y confiable de recibir alertas cuando se activa un evento de seguridad. Ya sea a través de un código personalizado o algún otro método, ya que tengo la sensación de que este es un problema ya resuelto. Esto se combinará con IDS en el futuro, por lo que es puramente desde la perspectiva interna de la aplicación.

Actualmente estoy pensando que la solución de texto y correo electrónico podría ser adecuada, sin embargo, el texto y el correo electrónico solo se activan una vez y solo muestran un enlace para iniciar sesión en la aplicación de monitoreo para ver la actividad.

    
pregunta SilverlightFox 27.08.2014 - 12:59
fuente

2 respuestas

2

Nagios tiene una función que detecta lo que se denomina "aleteo" que puedes implementar tú mismo. Básicamente, comenzará a enviarle mensajes de texto, pero se detendrá si pasa un cierto tresshold dentro de un plazo determinado para un tipo similar de mensaje de advertencia. Depende de usted decidir los dominios y los intervalos y la clasificación de los eventos.

La mensajería de texto y el correo electrónico son una buena idea para el monitoreo. Pero asegúrese de registrar también un ticket para cada incidente y asegúrese de que para cada ticket cerrado se proporcione una resolución o respuesta detallada (solo el correo electrónico no proporciona suficiente trazabilidad).

También puede usar logstash y kibana o si es un Splunk un poco más rico para realizar la agregación automatizada de datos y el tablero para hacer que el proceso sea menos doloroso al verificar los registros.

    
respondido por el Lucas Kauffman 27.08.2014 - 13:40
fuente
1

El correo electrónico y los SMS son una solución de texto simple. Puede poner una clave pública en el servidor y hacer que cifre las alertas enviadas a través de cualquier medio para que sean ilegibles y solo puedan ser descifrados por los destinatarios autorizados. La pieza de cifrado le daría confidencialidad. Esto también proporcionaría cierto grado de integridad porque una alerta falsa solo podría insertarse si el servidor se vio comprometido, MitM modifica con éxito el texto cifrado ya que el correo electrónico o SMS está viajando por la red es mucho menos probable.

Desde el lado de la disponibilidad, es posible que desee utilizar varios métodos. Si los datos están encriptados, ¿por qué no enviar SMS, correo electrónico, hacer que se escriban en un registro? Quizás RSS, etc. También puede requerir algún tipo de detección de latido y luego actuar si no recibe el latido después de un período de tiempo. . Para asegurarse de que no se pierdan los mensajes individuales, es posible que desee asegurarse de que cada mensaje tenga un número de serie en aumento.

    
respondido por el Eric G 28.08.2014 - 04:46
fuente

Lea otras preguntas en las etiquetas