<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Santiago Ruiz Diaz</title>
    <description>The latest articles on DEV Community by Santiago Ruiz Diaz (@ruizz16).</description>
    <link>https://dev.to/ruizz16</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4112555%2F708bb717-b057-48ce-9ba9-98a57e21a308.jpg</url>
      <title>DEV Community: Santiago Ruiz Diaz</title>
      <link>https://dev.to/ruizz16</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ruizz16"/>
    <language>en</language>
    <item>
      <title>Ataqué mi propio servidor con Kali Linux — así lo agarró Wazuh, paso a paso</title>
      <dc:creator>Santiago Ruiz Diaz</dc:creator>
      <pubDate>Fri, 11 Sep 2026 03:33:27 +0000</pubDate>
      <link>https://dev.to/ruizz16/ataque-mi-propio-servidor-con-kali-linux-asi-lo-agarro-wazuh-paso-a-paso-1c94</link>
      <guid>https://dev.to/ruizz16/ataque-mi-propio-servidor-con-kali-linux-asi-lo-agarro-wazuh-paso-a-paso-1c94</guid>
      <description>&lt;h2&gt;
  
  
  De qué se trata esto
&lt;/h2&gt;

&lt;p&gt;Este es el segundo video del bloque de ciberseguridad. En el &lt;a href="https://dev.to/ruizz16/arme-un-siem-gratis-con-wazuh-y-kibana-asi-detecta-un-ataque-de-fuerza-bruta-en-tiempo-real-562g"&gt;primero&lt;/a&gt; armé un SIEM gratis con Wazuh y Kibana. Acá le doy la vuelta: simulo un ataque completo contra mi propio lab, con las mismas herramientas que usa un atacante real, y muestro exactamente qué queda invisible y qué queda registrado del otro lado.&lt;/p&gt;

&lt;p&gt;Nada de esto corre contra infraestructura de terceros — todo el lab vive en una red virtual aislada (Host-only de VMware, &lt;code&gt;192.168.220.0/24&lt;/code&gt;), sin salida a mi red real ni a internet.&lt;/p&gt;

&lt;h2&gt;
  
  
  El lab
&lt;/h2&gt;

&lt;p&gt;Dos objetivos, dos propósitos distintos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Metasploitable2&lt;/strong&gt; (una VM deliberadamente vulnerable, hecha para practicar) — solo para mostrar exposición real. No tiene el agente de Wazuh instalado (corre sobre Ubuntu 8.04, muy por debajo del piso mínimo que soporta Wazuh — Debian 10+).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Un contenedor con el agente de Wazuh activo&lt;/strong&gt; (SSH en el puerto 2222, Apache en el 8080), enrolado contra el mismo manager del video anterior. Este es el que "ve" todo.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;El stack de Wazuh en sí (dashboard, indexer, API) quedó atado únicamente a &lt;code&gt;127.0.0.1&lt;/code&gt; en el host — ni Kali ni mi red real lo pueden alcanzar. Sin este detalle, cualquier escaneo contra mi propia máquina terminaría revelando el propio SIEM en los resultados, lo cual además de ser un problema de seguridad real, rompe la demostración.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fase 1 — Descubrimiento (no sabía nada todavía)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nmap &lt;span class="nt"&gt;-sn&lt;/span&gt; 192.168.220.0/24
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;-sn&lt;/code&gt; le dice a nmap "no toques puertos, solo decime quién está vivo". Es el primer paso de cualquier reconocimiento: antes de elegir un objetivo, hay que saber qué hay en la red. Encontré 4 hosts — descartando mi propia Kali y el servidor DHCP de la red virtual, quedaron 2 candidatos reales.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fase 2 — Enumeración (¿qué corre en cada uno?)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nmap &lt;span class="nt"&gt;-sV&lt;/span&gt; &amp;lt;IP&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sobre Metasploitable2, esto tiró &lt;strong&gt;24 puertos abiertos&lt;/strong&gt; — un inventario de dos décadas de software sin actualizar: &lt;code&gt;vsftpd 2.3.4&lt;/code&gt; (versión con una puerta trasera pública conocida), telnet sin cifrar, y un puerto literalmente identificado como &lt;code&gt;Metasploitable root shell&lt;/code&gt;. Es la foto perfecta de "así se ve un sistema que nunca se tocó".&lt;/p&gt;

&lt;p&gt;Sobre el segundo objetivo, apareció SSH (2222) y HTTP (8080) — bastante más acotado. Ahí es donde decidí atacar en serio.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fase 3 — Ataque dirigido
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Credenciales, sin trucos
&lt;/h3&gt;

&lt;p&gt;La tentación fácil acá era armar una lista de contraseñas a mano con la respuesta ya adentro. Preferí hacerlo honesto: usé &lt;strong&gt;rockyou.txt&lt;/strong&gt;, la base de contraseñas filtradas en una brecha real de 2009 que Kali trae preinstalada, y que sigue siendo el estándar de facto para ataques de diccionario.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;gunzip&lt;/span&gt; &lt;span class="nt"&gt;-k&lt;/span&gt; /usr/share/wordlists/rockyou.txt.gz
&lt;span class="nb"&gt;head&lt;/span&gt; &lt;span class="nt"&gt;-20&lt;/span&gt; /usr/share/wordlists/rockyou.txt &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; passwords.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Configuré el objetivo con una contraseña genuinamente débil (&lt;code&gt;123456&lt;/code&gt; — la #1 más común del mundo según esa misma base) y dejé que &lt;strong&gt;Hydra&lt;/strong&gt; la encontrara sola, sin ayuda:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hydra &lt;span class="nt"&gt;-l&lt;/span&gt; root &lt;span class="nt"&gt;-P&lt;/span&gt; passwords.txt ssh://192.168.220.1:2222
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;La encontró en 5 segundos, contra apenas 20 intentos.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reconocimiento web
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nikto &lt;span class="nt"&gt;-h&lt;/span&gt; http://192.168.220.1:8080
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;8283 pedidos automáticos contra el Apache del objetivo. Encontró indexado de directorio abierto, el método HTTP &lt;code&gt;TRACE&lt;/code&gt; activo (vulnerable a Cross-Site Tracing), headers de seguridad faltantes, y hasta probó patrones de &lt;strong&gt;Shellshock&lt;/strong&gt; — una vulnerabilidad de 2014 que muchos sistemas viejos todavía no tienen parchada.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fase 4 — Lo que Wazuh vio (y lo que no vio)
&lt;/h2&gt;

&lt;p&gt;Acá está el punto central del video. &lt;strong&gt;El reconocimiento (Fases 1 y 2) no generó ni una sola alerta.&lt;/strong&gt; nmap, por diseño, no intenta autenticarse contra nada — solo identifica qué hay. Es completamente invisible para un sistema de logging basado en intentos de autenticación.&lt;/p&gt;

&lt;p&gt;Recién en la Fase 3, cuando hubo conexiones reales con intentos de login y pedidos HTTP activos, empezó a aparecer todo:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Del lado SSH&lt;/strong&gt;, la regla que se disparó no fue la que yo esperaba en un principio (había memoria de una regla &lt;code&gt;2502&lt;/code&gt; simple) — resultó ser la &lt;strong&gt;&lt;code&gt;40112&lt;/code&gt;, nivel 12&lt;/strong&gt;: &lt;em&gt;"Multiple authentication failures followed by a success"&lt;/em&gt;. Nombre perfecto: describe exactamente el patrón de un ataque de fuerza bruta que terminó funcionando.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Del lado web&lt;/strong&gt;, el escaneo de Nikto disparó una batería completa de detecciones distintas:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Regla&lt;/th&gt;
&lt;th&gt;Qué detectó&lt;/th&gt;
&lt;th&gt;Cantidad&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;31153 (nivel 10)&lt;/td&gt;
&lt;td&gt;Múltiples ataques web comunes, mismo origen&lt;/td&gt;
&lt;td&gt;29&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;31154 (nivel 10)&lt;/td&gt;
&lt;td&gt;Múltiples intentos de XSS, mismo origen&lt;/td&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;31151 (nivel 10)&lt;/td&gt;
&lt;td&gt;Múltiples errores 400, mismo origen&lt;/td&gt;
&lt;td&gt;537&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;31103&lt;/td&gt;
&lt;td&gt;Intento de SQL injection&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;31105&lt;/td&gt;
&lt;td&gt;Intento de XSS&lt;/td&gt;
&lt;td&gt;246&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;31166&lt;/td&gt;
&lt;td&gt;Intento de Shellshock&lt;/td&gt;
&lt;td&gt;61&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30306&lt;/td&gt;
&lt;td&gt;Acceso a directorio prohibido&lt;/td&gt;
&lt;td&gt;109&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Un solo escaneo automatizado, en unos pocos minutos, generó miles de eventos correlacionados sin que yo tuviera que estar mirando la pantalla del lado defensivo.&lt;/p&gt;

&lt;h2&gt;
  
  
  El dato que más vale la pena llevarse
&lt;/h2&gt;

&lt;p&gt;La contraseña que rompió el servidor fue &lt;code&gt;123456&lt;/code&gt;. No hizo falta una técnica sofisticada — hizo falta, literalmente, una lista con las 20 contraseñas más comunes del mundo. La diferencia entre "vulnerable en 5 segundos" y "prácticamente imposible" para este vector específico es una contraseña larga y única. Nada más.&lt;/p&gt;

&lt;p&gt;Y la diferencia entre "esto pasó y nadie se enteró" y "esto quedó registrado con usuario, IP, y timestamp exacto" no fue tecnología cara — fue tener algo mirando los logs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué sigue
&lt;/h2&gt;

&lt;p&gt;Con los dos videos de este bloque (detección con Wazuh, ataque con Kali) ya está armada la base completa de ciberseguridad práctica. El próximo bloque pasa a Networking.&lt;/p&gt;




&lt;p&gt;Video completo acá: &lt;a href="https://lnkd.in/p/dKW9rYzV" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Trabajo en infraestructura TI en Paraguay/Argentina — si te interesa este tipo de contenido, conectemos en LinkedIn: &lt;strong&gt;&lt;a href="https://www.linkedin.com/in/santiagoruiz16" rel="noopener noreferrer"&gt;Santiago Ruiz Díaz&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>devops</category>
      <category>linux</category>
      <category>docker</category>
    </item>
    <item>
      <title>Armé un SIEM gratis con Wazuh y Kibana: así detecta un ataque de fuerza bruta en tiempo real</title>
      <dc:creator>Santiago Ruiz Diaz</dc:creator>
      <pubDate>Sun, 06 Sep 2026 17:02:49 +0000</pubDate>
      <link>https://dev.to/ruizz16/arme-un-siem-gratis-con-wazuh-y-kibana-asi-detecta-un-ataque-de-fuerza-bruta-en-tiempo-real-562g</link>
      <guid>https://dev.to/ruizz16/arme-un-siem-gratis-con-wazuh-y-kibana-asi-detecta-un-ataque-de-fuerza-bruta-en-tiempo-real-562g</guid>
      <description>&lt;p&gt;El problema que casi nadie mira hasta que es tarde&lt;/p&gt;

&lt;p&gt;Trabajando en infraestructura para más de 25 sedes de una corporación, aprendí algo que se repite en todo el sector IT: el problema casi nunca es la falta de registros — es que nadie los revisa.&lt;/p&gt;

&lt;p&gt;Cada servidor, cada firewall, cada endpoint genera logs de autenticación constantemente. La actividad sospechosa — alguien probando contraseñas contra un servidor, por ejemplo — casi siempre queda ahí, documentada, invisible, hasta que alguien mira.&lt;/p&gt;

&lt;p&gt;Para una empresa grande, tener un SIEM (Security Information and Event Management) que centralice y correlacione esos logs es casi un estándar. Para una mipyme que recién está armando su infraestructura, comprar una licencia de SIEM comercial no es una opción realista.&lt;/p&gt;

&lt;p&gt;Así que armé uno gratis, con herramientas open source, para mostrar exactamente qué se puede lograr sin gastar en licencias: Wazuh + Kibana, corriendo en Docker, detectando en tiempo real un intento de ataque de fuerza bruta simulado.&lt;/p&gt;

&lt;p&gt;Acá el video de la demo (el mismo que publiqué en LinkedIn): &lt;br&gt;
&lt;a href="https://lnkd.in/p/dvQVub7W" rel="noopener noreferrer"&gt;https://lnkd.in/p/dvQVub7W&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Y acá abajo, el paso a paso completo — la arquitectura, la configuración real, y los problemas que me tocó resolver en el camino, porque casi ninguno de ellos aparece en la documentación oficial.&lt;/p&gt;
&lt;h2&gt;
  
  
  Arquitectura: qué es cada pieza
&lt;/h2&gt;

&lt;p&gt;Wazuh se compone de tres servicios principales, todos corriendo en contenedores separados:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wazuh Indexer: el motor de búsqueda/almacenamiento (basado en OpenSearch), donde viven los eventos y alertas&lt;/li&gt;
&lt;li&gt;Wazuh Manager: el cerebro — recibe los eventos de los agentes, los procesa contra un set de reglas, y genera alertas&lt;/li&gt;
&lt;li&gt;Wazuh Dashboard: la interfaz visual (basada en Kibana/OpenSearch Dashboards) para explorar todo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Además, cada endpoint que querés monitorear necesita un Wazuh Agent instalado — en mi caso, un contenedor separado simulando un servidor Linux, con el agente enrolado contra el manager.&lt;/p&gt;

&lt;p&gt;┌─────────────┐      ┌──────────────┐      ┌────────────────┐&lt;br&gt;
│ Wazuh Agent  │ ───▶ │ Wazuh Manager │ ───▶ │ Wazuh Indexer   │&lt;br&gt;
│ (servidor    │      │ (procesa      │      │ (almacena       │&lt;br&gt;
│  monitoreado)│      │  reglas)      │      │  eventos)       │&lt;br&gt;
└─────────────┘      └──────────────┘      └───────┬────────┘&lt;br&gt;
                                                      │&lt;br&gt;
                                              ┌───────▼────────┐&lt;br&gt;
                                              │ Wazuh Dashboard │&lt;br&gt;
                                              │ (visualización) │&lt;br&gt;
                                              └────────────────┘&lt;/p&gt;
&lt;h2&gt;
  
  
  Deploy del stack
&lt;/h2&gt;

&lt;p&gt;Usé el repositorio oficial wazuh-docker (v4.14.7), que trae un docker-compose con los tres servicios y la generación de certificados TLS entre ellos ya resuelta.&lt;/p&gt;

&lt;p&gt;Requisito previo en Windows: Docker Desktop necesita Hyper-V y Virtual Machine Platform habilitados. Si docker te tira que no detecta virtualización aunque esté prendida en la BIOS, revisá esto (en PowerShell, como administrador):&lt;/p&gt;

&lt;p&gt;powershell&lt;br&gt;
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart&lt;br&gt;
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -All -NoRestart&lt;br&gt;
bcdedit /set hypervisorlaunchtype auto&lt;/p&gt;
&lt;h2&gt;
  
  
  Reiniciar
&lt;/h2&gt;

&lt;p&gt;Con eso resuelto, el stack completo levanta con &lt;code&gt;docker compose up -d&lt;/code&gt;. Las credenciales por defecto del dashboard son &lt;code&gt;admin&lt;/code&gt; / &lt;code&gt;SecretPassword&lt;/code&gt; (cambiarlas es obligatorio en un despliegue real, esto es un lab).&lt;/p&gt;
&lt;h2&gt;
  
  
  El agente: acá está el 90% de los problemas reales
&lt;/h2&gt;

&lt;p&gt;Levantar el stack central es la parte fácil. Lo que realmente cuesta — y donde se pierde más tiempo — es lograr que el agente &lt;strong&gt;realmente&lt;/strong&gt; te mande los eventos que esperás.&lt;/p&gt;

&lt;p&gt;Usé un contenedor &lt;code&gt;wazuh/wazuh-agent:4.14.7&lt;/code&gt; sobre una base &lt;code&gt;amazonlinux:2023&lt;/code&gt; simulando el servidor a monitorear, enrolado contra el manager vía el bloque &lt;code&gt;&amp;lt;client&amp;gt;&amp;lt;server&amp;gt;&lt;/code&gt; de &lt;code&gt;ossec.conf&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Problema 1: el agente no mandaba nada
&lt;/h3&gt;

&lt;p&gt;Primer bug real: &lt;strong&gt;rsyslog&lt;/strong&gt; en el contenedor tenía &lt;code&gt;imuxsock SysSock.Use="off"&lt;/code&gt; en su config. Como el contenedor no tiene systemd/journald corriendo, la ruta basada en journal quedaba vacía — el agente no tenía de dónde leer.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sed&lt;/span&gt; &lt;span class="nt"&gt;-i&lt;/span&gt; &lt;span class="s1"&gt;'s/SysSock.Use="off"/SysSock.Use="on"/'&lt;/span&gt; /etc/rsyslog.conf
&lt;span class="c"&gt;# reiniciar rsyslogd&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Problema 2: seguía sin monitorear el log correcto
&lt;/h3&gt;

&lt;p&gt;Después de arreglar rsyslog, seguía sin aparecer nada. Revisando el propio &lt;code&gt;ossec.log&lt;/code&gt; del agente, confirmé que nunca hubo una directiva &lt;code&gt;&amp;lt;localfile&amp;gt;&lt;/code&gt; apuntando a &lt;code&gt;/var/log/secure&lt;/code&gt; — el agente solo monitoreaba comandos y &lt;code&gt;active-responses.log&lt;/code&gt; por defecto. Hubo que agregar explícitamente el bloque de monitoreo del log de autenticación y reiniciar.&lt;/p&gt;

&lt;p&gt;Esta parte es la que más vale la pena remarcar: la documentación te dice cómo instalar el agente, no necesariamente qué vas a estar monitoreando realmente por default. Vale la pena verificar &lt;code&gt;ossec.log&lt;/code&gt; en cualquier despliegue nuevo antes de asumir que "ya está andando".&lt;/p&gt;

&lt;h2&gt;
  
  
  Las reglas: cómo Wazuh arma la alerta de fuerza bruta
&lt;/h2&gt;

&lt;p&gt;Un intento de login fallido individual genera una alerta de nivel bajo (regla &lt;code&gt;5760&lt;/code&gt;, sshd auth failed). Eso solo no dice mucho — cualquiera se equivoca tipeando una contraseña.&lt;/p&gt;

&lt;p&gt;Lo interesante es la correlación: cuando Wazuh detecta varios intentos fallidos consecutivos desde el mismo origen en una ventana corta de tiempo, dispara la regla &lt;code&gt;2502&lt;/code&gt;, nivel 10 — fuerza bruta confirmada. Esto requiere al menos 3 intentos fallidos consecutivos para activarse; con 1 o 2 no correlaciona (lo confirmé revisando &lt;code&gt;alerts.log&lt;/code&gt; directo en el manager cuando una prueba con solo 2 intentos no generó la alerta esperada — no era un bug, era el umbral funcionando como debía).&lt;/p&gt;

&lt;p&gt;Otras reglas que entran en juego según el escenario: &lt;code&gt;5557&lt;/code&gt; (unix_chkpwd failed), &lt;code&gt;5501&lt;/code&gt;/&lt;code&gt;5503&lt;/code&gt; (eventos PAM de login), &lt;code&gt;5715&lt;/code&gt; (sshd auth success — importante para detectar el patrón "muchos fallos + un éxito", la firma clásica de una fuerza bruta exitosa).&lt;/p&gt;

&lt;p&gt;Y un detalle que me pareció importante mostrar en la demo: incluso si el atacante corta la conexión a mitad de camino, queda registrado. Nada pasa desapercibido si el sistema está mirando.&lt;/p&gt;

&lt;h2&gt;
  
  
  La demo
&lt;/h2&gt;

&lt;p&gt;Con todo enrolado y las reglas activas, simulé un ataque de fuerza bruta por SSH contra el "servidor" monitoreado. En el Wazuh Dashboard, en tiempo real:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Aparecen los intentos fallidos individuales (regla 5760) uno por uno&lt;/li&gt;
&lt;li&gt;Al tercer intento consecutivo, dispara la alerta de nivel 10 (regla 2502)&lt;/li&gt;
&lt;li&gt;Queda todo el registro navegable — origen, timestamp, usuario probado&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Por qué esto importa para una mipyme
&lt;/h2&gt;

&lt;p&gt;Ninguna de estas herramientas cuesta un dólar en licencias. Lo que cuesta es el tiempo de armarlo bien — y ese es exactamente el punto: una mipyme que recién está construyendo su infraestructura puede tener visibilidad real de sus propios logs sin presupuesto corporativo ni un equipo de seguridad dedicado.**&lt;/p&gt;

&lt;p&gt;No hace falta ser una empresa con SOC 24/7 para dejar de operar a ciegas. Hace falta, como mínimo, saber que el registro existe y que alguien (o algo) lo está mirando.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué sigue
&lt;/h2&gt;

&lt;p&gt;El próximo paso en este mismo lab es sumar &lt;strong&gt;respuesta activa&lt;/strong&gt; — que el propio sistema bloquee automáticamente al atacante cuando se dispara la alerta de fuerza bruta, sin que nadie tenga que estar mirando la pantalla en el momento exacto. Ese va a ser el tema del próximo artículo/video.&lt;/p&gt;

&lt;p&gt;¿Tu empresa, por más chica que sea, tiene visibilidad de sus propios logs? Te leo en los comentarios.&lt;/p&gt;

&lt;p&gt;Trabajo en infraestructura TI en Paraguay/Argentina — si te interesa este tipo de contenido (ciberseguridad, networking, infraestructura, todo con foco práctico), conectemos en LinkedIn: &lt;strong&gt;&lt;a href="https://www.linkedin.com/in/santiagoruiz16" rel="noopener noreferrer"&gt;Santiago Ruiz Díaz&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>devops</category>
      <category>linux</category>
      <category>docker</category>
    </item>
  </channel>
</rss>
