En esta ocasión os voy a presentar un proyecto que desarrollé para el Fin de Master en Ciberseguridad, el objetivo es dar respuesta automatizada a los ataques detectados por un SIEM, bloqueando estos ataques de manera permanente y automatizada con playbooks de Ansible.
Resumen
- Simplificar las tareas repetitivas de los equipos de IT y ciberseguridad.
- Automatizar y dotar de inteligencia al sistema para mitigar un ataque.
- Dotar de unas reglas predefinidas para evitar falsos positivos.
- Desplegar configuraciones en equipos de forma rápida y eficiente gracias a la automatización.
- Automatizar backups en Firewall Fortigate y enviar estos backups a un git, esto nos permite tener control de versiones.
- Centralizar los datos técnicos de los equipos.
- Realizar configuraciones de forma automatizada sobre múltiples equipos con Ansible.
El diagrama de Flujo
En este proyecto los firewall Fortigate envían sus logs a un SIEM con ELK, con ElastAlert se envían las alertas a la API levantada con Nginx + PHP, esta es la encargada de parsear, correlar la información y meter en base de datos.
Por otro lado según la alerta recibida y nuestras custom rules, se desencadenará una acción u otra ejecutando un playbook de Ansible bloqueando la ip atacante o realizando cualquier otra acción definida.
Por otro lado nuestra API insertará la alerta recibida en nuestra base de datos para registrar el evento y dotar de la mayor información posible al analista que analice o supervise el caso.
El proceso de background
Esta imagen describe el funcionamiento de la automatización principal, el main «función principal main encargada de consultar los clientes activos y llamar al verificador» proceso encargado de detectar si las alertas recibidas de un determinado cliente cumplen con las reglas de automatización y bloqueo del ataque.
Este es el encargado de ejecutar el playbook en función de la alerta, pasando como parametros los datos del dispositivo.
En esta entrada quiero aprovechar para compartir con vosotros los playbooks de ansible personalizados para este proyecto.
Descargar Ansible Playbooks Fortigate
https://gitlab.com/jesusamoros/wappaf-community
El proyecto tiene un panel web para poder visualizar las alertas y revisar los logs de lo ocurrido en cada caso, se muestran una captura de su panel.
El panel web también permite añadir nuevos clientes.
Visualizar clientes activos y sus últimos eventos
Crear una lista de IP maliciosas desde el panel en un equipo o en muchos simultaneamente.
Ejemplo de algunos resultados
En este caso se pretendía resolver una tarea más o menos compleja, pero mi intención es que no os limitéis a lo que conocéis, intentar ir más allá, agrupando o combinando distintas técnica o metodologías para hacer las cosas mejor y conseguir los mejores resultados.
Tenemos multitud de formas y de posibilidades de mejorar una infraestructura, un proceso, o un sistema, por un lado necesitamos un conocimiento amplio de muchas tecnologías y por otro conocer el proceso actual que se quiere mejorar, a partir de ese punto saldrán muchas líneas de trabajo y mejora, a corto, medio y largo plazo.
Conclusiones
Se ha conseguido que un proceso en segundo plano de forma automática detenga ataques de manera definitiva.
Se ha dotado de un panel web para ver los registros de los eventos automatizados y permitir desplegar configuraciones específicas de forma centralizada automaticamente o manual.
Ya he publicado los Ansible Playbooks !! Puedes descargarlos desde aquí.
Espero que os haya parecido igual de interesante que me pareció a mi, disfruté mucho combinando todas las herramientas y conocimientos.
Si tienes un proyecto interesante o necesitas ayuda en redes, ciberseguridad, sistemas o cloud, puedo ayudarte aquí puedes enviarme un mensaje o si lo prefieres puedes pasarte por aquí y ver en los jaleos que me meto con mi equipo SECRON
Hasta la próxima!
Sin respuestas