07 de diciembre de 2020
Integración del WAF de Amazon con la automatización de la monitorización de opEvents
En Opmantek, utilizamos en gran medida nuestro propio software para supervisar nuestros sistemas de producción y desarrollo, resolviendo nuestros propios retos de operaciones de TI que sabemos que comparten nuestros clientes, también nos ayuda a desarrollar los productos más rápidamente en entornos reales mediante pruebas tempranas.
Hemos estado utilizando el Web Application Firewall (WAF) de Amazon para ayudar a proteger nuestra infraestructura orientada a la web. Uno de los problemas de esta solución es cómo supervisar los registros del cortafuegos como parte de las operaciones generales de TI y cómo realizar un análisis de esos registros, con contexto, para las cargas de trabajo a las que se refieren.
En primer lugar, para ayudar a comprobar que las normas recién aplicadas funcionan como es debido y, en segundo lugar, para proporcionar diagnósticos rápidos en caso de ataque.
Primero probamos un producto de terceros para ayudar a visualizar los registros y, con suerte, proporcionar una visión de los datos fuera de la caja, pero descubrimos que el coste total de propiedad de esta solución era mucho más alto que el uso de la extensibilidad de los productos Opmantek. Además, los resultados de la solución de terceros se habrían aislado de la visibilidad general del estado de la red.
Nuestro WAF está configurado con los conjuntos de reglas proporcionados por el mercado de AWS, así como con conjuntos de reglas personalizadas desarrolladas internamente con listas negras de reputación/IP que están en constante evolución.
Nuestra arquitectura es la siguiente:
- AWS Web Application Firewall (Firewall de capa 7)
- AWS Kinesis Delivery Stream (servicio de streaming de datos duraderos en tiempo real)
- Opmantek Kinesis Log Service (servicio de transformación de recepción de flujos Kinesis)
- opEvents ( Registro centralizado y gestión de eventos)
Nuestro WAF está configurado para enviar todos los registros a través de nuestro flujo de entrega Kinesis.
El flujo de entrega de AWS kinesis está configurado para entregar solicitudes por lotes a través de HTTPS a un punto final específico dentro de su propio entorno. Hemos desarrollado un pequeño servicio HTTP en GoLang para ingerir de forma segura los registros por lotes de AWS, y proporcionamos este servicio de ingesta de AWS a los clientes que lo soliciten.
Nuestro servicio GoLang también reasigna las claves JSON antes de escribir el archivo en el disco.
Para ver lo que AWS publica en sus registros puedes encontrarlos - aquí.
El servicio opEvents jsons_log escucha los cambios del sistema de archivos, los lee y ejecuta el evento a través del motor opEvents.
Hemos añadido una nueva propiedad país que es el código de país ISO de la solicitud.
Elemento: se asigna a la IpAddress del solicitante.
Node: es el nombre de nuestro WAF en AWS.
Descripción: es la acción WAF, la regla WAF que se activó, la dirección IP y el código de país. Esto proporciona a opEvents datos únicos suficientes para crear recuentos de eventos para las acciones WAF. A través del tablero de opEvents puede ver un recuento rápido de los clientes que han realizado el mayor número de solicitudes POST, o un bot intentando una inyección SQL contra su sitio.
Estamos utilizando opEvents para almacenar metadatos sobre el registro WAF, cabeceras, IP solicitante, país y qué reglas WAF fueron terminadas. Usando la dirección IP podemos hacer rápidamente una suposición sobre el origen de la solicitud y saber si tenemos bots que nos están robando de los centros de datos o usuarios que actúan ilegalmente. Con este rápido análisis de los datos de los eventos, podemos realizar rápidos cambios operativos para implementar reglas que detengan cierto tráfico o añadir subredes enteras a nuestra lista negra de IP.
Cómo utilizamos esta información...
Depuración de reglas WAF
La implementación de reglas WAF puede ser un reto, especialmente cuando hay que volver atrás y mirar el historial de acceso. opEvents almacena 30 días de registros WAF que podemos filtrar rápidamente para encontrar la solicitud bloqueada y depurar la regla y hacer una excepción o cambiar el funcionamiento de nuestra aplicación para mejorar la seguridad.
Detección de bots
Algunos rastreadores generan una gran cantidad de tráfico web al escanear rápidamente nuestros dominios, al poder tener una visión global de las solicitudes de una dirección IP y de las reglas que se activan, es fácil encontrar el bloque de direcciones que está causando problemas. A continuación, profundizamos en los metadatos de las solicitudes comprobando las cabeceras, la ubicación, a quién pertenece la IP y los patrones de solicitudes anteriores. A partir de esto, podemos prohibir rápidamente los rangos de IP de bots maliciosos.
Estadísticas de uso del sitio web
Con MongoDB respaldando opEvents es fácil escribir consultas y ejecutarlas a través del shell de mongo y agregar datos de uso para obtener informes más profundos. Qué código de país utiliza más este punto final, qué agente de usuario realiza más solicitudes.
Respuesta automatizada
Utilizando la metodología de automatización de procesos operativos de Opmantek, cuando correlacionamos conjuntos de eventos de WAF, activamos acciones automatizadas en nuestro entorno de AWS para responder a las incidencias y evitar problemas.
El motor de opEvents hace que sea flexible para ingerir cualquier tipo de datos estructurados y pudimos integrarlo rápidamente en nuestra monitorización de producción para darnos una mayor visión de nuestros sistemas web de cara al público.
Si desea saber más sobre el uso de opEvents y el procesamiento de los registros del cortafuegos web, ofrecemos demostraciones en vivo con nuestro equipo técnico aquí.