Inicio Linux & Systems Networks & Infrastructure Cybersecurity Cloud & DevOps SIEM & Monitoring DFIR & Threat Intel Development & Other Todas las categorias Herramientas

Bloquear ataques fuerza bruta con Wazuh

Bloquear ataques fuerza bruta con Wazuh

Tabla de contenidos

En este post, veremos cómo bloquear un ataque usando la funcionanlidad de active response en Wazuh. 

Active Response de wazuh ejecuta comandos en los agentes en respuesta de ciertas alertas.  En este ejemplo, veremos como bloquear un ataque de fuerza bruta. 

Toda esta configuración se realizara en /var/ossec/etc/ossec.conf dentro de Wazuh Manager. En primer lugar tenemos que revisar en dicho archivo si tenemos los siguientes comandos activados

CODE
  <command>
    <name>disable-account</name>
    <executable>disable-account.sh</executable>
    <expect>user</expect>
    <timeout_allowed>yes</timeout_allowed>
  </command>

  <command>
    <name>restart-ossec</name>
    <executable>restart-ossec.sh</executable>
    <expect></expect>
  </command>

  <command>
    <name>firewall-drop</name>
    <executable>firewall-drop.sh</executable>
    <expect>srcip</expect>
    <timeout_allowed>yes</timeout_allowed>
  </command>

  <command>
    <name>host-deny</name>
    <executable>host-deny.sh</executable>
    <expect>srcip</expect>
    <timeout_allowed>yes</timeout_allowed>
  </command>

  <command>
    <name>route-null</name>
    <executable>route-null.sh</executable>
    <expect>srcip</expect>
    <timeout_allowed>yes</timeout_allowed>
  </command>

  <command>
    <name>win_route-null</name>
    <executable>route-null.cmd</executable>
    <expect>srcip</expect>
    <timeout_allowed>yes</timeout_allowed>
  </command>

  <command>
    <name>win_route-null-2012</name>
    <executable>route-null-2012.cmd</executable>
    <expect>srcip</expect>
    <timeout_allowed>yes</timeout_allowed>
  </command>

  <command>
    <name>netsh</name>
    <executable>netsh.cmd</executable>
    <expect>srcip</expect>
    <timeout_allowed>yes</timeout_allowed>
  </command>

  <command>
    <name>netsh-win-2016</name>
    <executable>netsh-win-2016.cmd</executable>
    <expect>srcip</expect>
    <timeout_allowed>yes</timeout_allowed>
  </command>

Para mas información sobre cada uno de los script podemos revisarlo aqu

Configurar Active Response

En este caso, utilizaremos host-deny para esta configuración, pero perfectamente podríamos utilizar firewall-drop

Para mas información sobre cada uno de los script podéis visitar la pagina oficia de wazuh

A la hora de configurar Active Reponse tenemos que tener en cuenta lo siguiente: 

  • command: El comando definido previamente (host-deny).
  • location: Donde se debe ejecutar el comando. Las opciones para configurar son:
    • Local: Esto ejecuta el comando en el agente que generó el evento.
    • Server: Esto ejecuta el comando en el administrador de Wazuh.
    • defined-agent: Se ejecuta en un agente especifico (agent_id)
    • all: Se ejecuta el comando en el administrador de Wazuh y en todos los agentes.
  • rules_id: El comando se ejecuta si la X regla está activa
  • timeout: Bloquee la IP durante 1800 segundos en el firewall (iptables, ipfilter, etc.).

Teniendo en cuenta todo esto, realizamos la siguiente configuración

CODE
 <active-response>
     <command>host-deny</command>  
     <location>defined-agent</location>  
     <agent_id>002</agent_id>  
     <timeout>1800</timeout>  
     <rules_id>51004, 5720, 5551, 5710, 5712</rules_id>  
  </active-response>

Prueba de concepto

mediante un software de fuerza bruta (medusa, hidra, nmap…) realizamos una prueba (HowTo: Ataque fuerza bruta SSH)

Bloquear ataques fuerza bruta con Wazuh

Comprobamos que en el agente 002 (que es donde hemos configurado) el log /var/osssec/logs/active-response.log

Bloquear ataques fuerza bruta con Wazuh

Nos vamos a Kibana y comprobamos los eventos de bloqueo

Bloquear ataques fuerza bruta con Wazuh

:wq!

Comentarios