@media screen and (min-width: 580px) { .flotantewhatsapp{ display:none; } }

Compartir por WhatsApp

implementar-soc-decoders-playbooks-y-workflows-0

Implementar SOC: Decoders, Playbooks y Workflows

Implementar SOC: Decoders, Playbooks y Workflows

Seguimos con la implementación del SOC Opensource, os dejo al final del artículo los enlaces a otras entradas…

Hoy voy a daros una pequeña pincelada de cómo podemos automatizar procesos dentro del SOC mediante decoders en Wazuh y playbooks de Ansible. Os pongo dos ejemplos, para que entendáis el objetivo de esta entrada, conseguir mediante automatización, “aislar un sistema infectado con malware para prevenir la propagación” o “bloquear intentos de acceso SSH”.

Desarrollar playbooks y workflows para la automatización de la respuesta a ciberincidentes es crucial para mejorar la eficiencia y efectividad de un SOC (Security Operations Center).

Los playbooks son guías detalladas que describen los pasos que deben seguirse para mitigar un incidente de seguridad específico. La automatización de estos procesos reduce el tiempo de respuesta y el error humano, permitiendo a los equipos de seguridad concentrarse en tareas más estratégicas.

Los decoders en Wazuh son componentes clave que analizan y extraen campos de datos de los mensajes de log recibidos. Funcionan como primer paso en el proceso de análisis de logs, interpretando la información cruda antes de que las reglas de Wazuh sean aplicadas para generar alertas basadas en patrones específicos de comportamiento o actividad sospechosa.

Función de los Decoders en Wazuh

Un decoder en Wazuh descompone los logs en partes más manejables, extrayendo y estructurando datos como direcciones IP, nombres de usuario, rutas de archivos, códigos de error, y más. Esta estructuración es esencial para que las reglas de Wazuh puedan evaluar eficazmente los logs y determinar si representan una amenaza.

Ejemplos de Decoders en Wazuh

Aquí te muestro algunos ejemplos de decoders incluidos en Wazuh que podemos agregar en el directorio /var/ossec/etc/decoders/ :

  • Decoder para logs de SSH:
    • Este decoder analiza los logs generados por el servicio SSH (sshd) para identificar eventos de autenticación exitosos, extrayendo detalles como el método de autenticación, el usuario y la dirección IP.
  • Decoder para logs de Apache:
    • Este decoder es específico para logs de acceso de Apache y puede identificar detalles críticos de cada petición HTTP, como la dirección IP del solicitante, el método HTTP utilizado, la URL solicitada, y el código de estado de la respuesta.
  • Decoder para logs de Windows:
    • Este decoder ayuda a analizar los eventos de Windows extraídos del Visor de Eventos, permitiendo estructurar información importante como el ID del evento, el nivel de severidad, el nombre de la computadora, entre otros.
implementar-soc-decoders-playbooks-y-workflows-2

En resumen, buscamos estar informados de los problemas de nuestra infraestructura, pero necesitamos ser proactivos ante problemas, mediante automatización (para evitar lo máximo posible el error humano).

Os recuerdo las herramientas que estamos manejando, Wazuh, TheHive, Suricata, Cortex, Patrowl, OpenSearch, OPNSense o MISP.

En los ejemplos que os voy a generar, usaré Wazuh (en otro momento lo haré con Suricata) y los datos que recogen, y usaremos el firewall de la red OPNSense para las acciones que nos interesan. Vamos con los ejemplos (como entenderéis sólo es una pincelada del poder de estas herramientas):

SOC OpenSource: Automatización bloqueo de una IP con Ansible, Wazuh y OPNSense

Ansible puede utilizarse para ejecutar comandos directamente en tu firewall OPNsense para modificar las reglas de firewall y bloquear una IP específica.

Instalamos las dependencias como “jq” en la máquina de WAZUH:

Testear Decoder Wazuh

https://documentation.wazuh.com/current/user-manual/ruleset/testing.html

Script Bash en Wazuh de revisión IP sospechosa

Genero un script bash que colocaré en cron con una programación, que lance el playbook periódicamente para detectar IPs sospechosas:

Playbook bloqueo IP de Ansible para OPNSense

Es importante indicar, que es necesario habilitar la API en OPNSense (System -> Access -> Users -> En el usuario, apartado API Keys generamos una). Con esto preparamos un Playbook, con los datos de nuestro firewall OPNsense, el acceso vía API. Mandará un correo a los sysadmin que gestionen el sistema cada vez que se genere una regla para una IP a bloquear:

SOC OpenSource: Automatización bloqueo accesos SSH con Ansible, Wazuh y OPNSense

Os dejo otro ejemplo. Para bloquear IPs que intenten acceder vía SSH a máquinas con más de 5 intentos fallidos y que también manden una alerta a los administradores. Esto lo veo interesante cuando una máquina se infecta dentro de la red, tenemos usuarios “traviesos” e intentan hacer “cosas” raras. Os dejo los pasos:

Crear un Decoder en Wazuh

Identificamos los intentos fallidos vía logs de Wazuh. Edita o crea un archivo en /var/ossec/etc/decoders/local_decoder.xml:

Crear una Regla en Wazuh

Detectamos con esta regla los múltiples accesos fallidos. Edita o crea un archivo en /var/ossec/etc/rules/local_rules.xml:

Configurar el Script de Bloqueo intentos SSH en Wazuh

Crea un archivo de script en /var/ossec/active-response/bin/block_ip.sh:

Asegúrate de que el script sea ejecutable:

Playbook de Ansible para Bloquear la IP

Volveremos a usar la API de OPNSense. Guarda el contenido en un path accesible /path/to/your/playbook.yml:

Configurar Wazuh para Ejecutar el Script

Edita /var/ossec/etc/ossec.conf para asegurarte de que la configuración de active response incluye el comando block_ip.sh:

Reiniciar Wazuh para aplicar

Ahora sólo quedaría realizar pruebas con alguna máquina y usuarios SSH, y revisar que se automatizan los procesos (creación reglas, logs, emails…)

implementar-soc-decoders-playbooks-y-workflows-1

ENTRADAS RELACIONADAS CREACION SOC OPENSOURCE

¿Te ha gustado la entrada SÍGUENOS EN TWITTER O INVITANOS A UN CAFE?

El Blog de Negu

Acerca de Raul Unzue Pulido

Administrador de sistemas virtuales e infraestructuras IT, linuxero y entusiasta de la tecnología.

Compruebe también

linux-comandos-y-directorios-basicos

Linux: Comandos y Directorios básicos

Linux: Comandos y Directorios básicos En el artículo de hoy, os proporcionaremos una visión detallada …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

cinco + diecinueve =

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies
Blog Maquinas Virtuales - El Blog de Negu