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

Compartir por WhatsApp

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-22

AIOps con Ollama: Detección de ataques en tiempo real

AIOps con Ollama: Detección de ataques en tiempo real

Este laboratorio simula un escenario real de AIOps (Inteligencia Artificial para Operaciones de TI), una máquina expuesta recibe un ataque de fuerza bruta SSH, los logs se monitorizan en tiempo real, la IA local analiza si el patrón es un ataque, y si lo confirma, lanza una alerta. Todo sin depender de la nube.

Para este ejemplo usaré mi equipo con las siguientes características (estoy pensando en comprar un Mac Mini u otro equipo para dedicarlo a IA, pero son malos tiempos por el coste actual de componentes):

  • Nuc Extreme 13 con i5 y 64gb de RAM
  • GPU 4060 Ti con 16GB
  • Windows 11 Pro
  • Docker Desktop
  • Ollama instalado en locallaboratorio-ollama-ciberseguridad-1

El ataque SSH de fuerza bruta (brute force) es el ataque más común en internet. Cualquier servidor con puerto 22 abierto lo recibe. Aprenderemos a detectarlo con IA y trasladarlo a tu empresa con cambios mínimos.

Os dejo un esquema:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-2

Requerimientos Laboratorio AIOps

Antes de empezar, os explico los diferentes componentes:

Software Versión mínima Dónde conseguirlo
Ollama 0.3+ ollama.com — ya instalado
Docker Desktop 4.x docker.com — ya instalado
Python 3.10+ python.org o ya instalado
Hydra cualquiera kali linux o apt install hydra
nmap 7.x nmap.org o apt install nmap
Modelo llama3.2:3b ollama pull llama3.2:3b

¿Qué hace cada componente?

  • Ollama : Ejecuta modelos de IA (LLMs) en tu propio hardware. Como tener ChatGPT en casa, sin internet ni suscripción.
  • Docker Desktop : Crea “cajas virtuales” (contenedores) que simulan servidores Linux dentro de Windows. No afectan a tu sistema.
  • Python : El lenguaje que une todas las piezas. El script vigila los logs y llama a la IA.
  • Hydra : Herramienta de hacking ético que prueba contraseñas automáticamente. La usamos para simular el ataque.
  • auth.log : El “libro de registro” del servidor SSH. Anota cada intento de conexión, exitoso o fallido.
  • Bot de Telegram : Un bot que creamos nosotros y que recibirá los mensajes de alerta cuando detectemos un ataque.

Carpeta de trabajo

Vamos a crear una carpeta donde vivirán todos los archivos del laboratorio. Trabajar con orden es importante cuando tienes varios archivos, si los mezclas con otros proyectos, vas a perderte.

Desde la consola de Powershell lanzamos la creación del directorio:

En esta carpeta al final dispondremos de:

📁 aiops-lab/

├── 📄 Dockerfile -> Define el servidor víctima

├── 📄 passwords.txt -> Lista de contraseñas para el ataque

├── 📄 aiops_watcher.py -> Script principal de vigilancia

├── 📄 .env -> Credenciales (Telegram, Email)

├── 📄 entrypoint.sh -> Script arranque contenedor

└── 📄 test_alertas.py -> Para probar Telegram y email antes

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-8

Verificación Ollama

Ollama ya está instalado en mi NUC. Pero necesito comprobar que el servidor está activo y descargar el modelo que usará para analizar los logs. Lanzamos:

Debería devolver un OK:

laboratorio-ollama-ciberseguridad-5

Descargamos el modelo llama3.2:3b . Para los que empezáis, Ollama se instala en “c:\Users\USUARIO\AppData\Local\Programs\Ollama“:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-5

Validamos:

Hacemos un pequeño test o simulación de envío de logs para ver si responde. Lanzar en la consola de Powershell:

Posteriormente el siguiente comando, que quedará pensando unos segundos:

Nos debería mostrar una respuesta en texto, si todo es correcto:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-6

Verificación Docker Desktop

Ahora vamos a validar que tenemos Docker Desktop bien instalado y funcionando. Lanzamos el siguiente comando para saber en qué versión nos encontramos:

Y que el motor esté activo:

Podéis lanzar un contenedor para verificación:

Crear Dockerfile para contenedor víctima ataque SSH

Con todo preparado, vamos a generar un Dockerfile en la ruta que hemos acordado para trabajar. Nos desplazamos a la ruta:

Y lanzamos vía comando:

Ahora exportamos la variable:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-7

Ahora necesitamos crear el script de arranque del contenedor (el entrypoint.sh que referencia el Dockerfile):

Y generamos el fichero:

Construir la imagen y lanzar contenedor Docker

Con todo preparado generamos el contenedor:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-9

Lanzamos:

Y comprobamos:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-10

Verifica la conexión (la contraseña es “password123”):

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-11

Y revisamos que los logs se recogen sin problema. Nos equivocamos:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-12

En las pruebas podéis provocar un fallo de contraseña. Aparecerá un mensaje tipo “Failed password…”:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-13

Verificación Python

Revisamos la versión instala:

Creamos un entorno virtual donde trabajar:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-14

Instalamos las dependencias y verificamos:

Verificamos con “pip list”:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-15

Crear el bot de Telegram para alertas

Para poder crear el bot podéis usar este manual. La validación sería de la siguiente forma:

Configurar Telegram en Zabbix

El script Python completo de vigilancia

Este es el núcleo de todo el sistema. El script hace cuatro cosas: lee logs en tiempo realcuenta fallos por IPllama a Ollama para analizar y envía alertas. Vamos a crearlo (recordar incluir los datos de Telegram):

Lo exportamos:

Script pruebas de alertas

Antes de ejecutar el lab completo, conviene probar que Telegram funcionan. Lo haremos con el script para el test (también agregar el TOKEN y CHAT_ID al script):

Exportamos:

Ejecutamos el test:

Si todo es correcto nos llegará un mensaje:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-16

Instalación atacante (Hydra en Docker)

Con todo preparado sólo falta pasar al ataque…

Hydra es la herramienta de hacking ético que prueba contraseñas automáticamente. En Windows lo más fácil es ejecutarlo dentro de otro contenedor Docker, así no instalamos nada extra en Windows y queda aislado.

Definimos un pequeño conjunto de contraseñas:

Exportamos:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-17

Hydra necesita la IP del contenedor, no “localhost”. Los contenedores Docker tienen su propia red interna, así que tenemos que descubrirla:

Ahora que sabemos como extraer la IP, la guardamos en una variable:

Generaremos un contenedor Kali Linux con Hydra ya instalado:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-18

Ejecución de Laboratorio completo sobre 3 Terminales

Como ya tenemos todas las piezas, ahora vamos a lanzar el ataque y revisamos la vista desde el que vigila, la víctima y el atacante:

Terminal 1 — El vigilante (ejecutar primero)

  • Ir a la carpeta del lab cd “D:\LABORATORIO\aiops-lab”
  • Activar el entorno virtual Python .\venv\Scripts\Activate.ps1
  • Lanzar el script vigilante:
    • Queda en espera, mostrando un log de actividad python aiops_watcher.py

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-19

Terminal 2 — Víctima (opcional para la prueba, revisar logs)

  • Lanzamos: docker exec -it ssh-victima tail -f /var/log/auth.log

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-20

Terminal 3 — Atacante

  • Lanzamos: cd D:\LABORATORIO\aiops-lab
  • Obtenemos la IP: $ip_victima = docker inspect -f ‘{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ ssh-victima; Write-Host “IP del contenedor víctima: $ip_victima” -ForegroundColor Redaiops-con-ollama-deteccion-de-ataques-en-tiempo-real-21
  • Lanzamos el ataque: docker run –rm -v "${PWD}:/trabajo"  kalilinux/kali-rolling ` bash -c “apt-get update -q && apt-get install -yq hydra && hydra -l victima -P /trabajo/passwords.txt -t 4 -V ssh://$ip_victima”

¿Qué veremos en cada terminal?

Veremos que mientras el atacante está intentado la combinación de contraseñas que hemos preconfigurado, se escribe el log y el script de Python revisa esos intentos:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-22

Mientras en Telegram nos entregará un análisis de Ollama:

aiops-con-ollama-deteccion-de-ataques-en-tiempo-real-23

Y con esto terminamos un laboratorio de ciberseguridad con múltiples componentes que podemos llevar a nuestra empresa, por ejemplo y al que podemos hacer varias mejoras, como agregar emails para las notificaciones.

¿Qué cambios tendríamos que hacer para llevarlo a Producción?

Este laboratorio es totalmente exportable a una empresa…os dejo algunas pautas que habría que cambiar:

En el laboratorio En producción Cambio necesario
docker exec … tail -f tail -f /var/log/auth.log Quitar “docker exec”, si el script corre en un servidor real completo
Contenedor Ubuntu local Servidor Linux real (on-prem o cloud) Ninguno en el script Python
Ollama en el NUC local Ollama en servidor centralizado Cambiar OLLAMA_URL a la IP del servidor central
1 servidor vigilado 10 servidores vigilados Lanzar el script con threading, uno por servidor
Solo SSH SSH + Apache + Nginx + Windows Event Log Añadir más patrones regex en PATRON_FALLO

Si os ha gustado, compartir que es gratis ;P

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

El Blog de Negu

Acerca de Raul Unzue Pulido

Blogger en “Máquinas Virtuales - El Blog de Negu” | Senior Security Manager (PMP, ITIL) | ProjectManager, SysAdmin & DevOps Enthusiast | Especialista en Virtualización y Sistemas Operativos | VMware vExpert ⭐️ x12

Compruebe también

kubernetes-instalar-balanceador-metallb

Kubernetes: Instalar balanceador MetalLB

Kubernetes: Instalar balanceador MetalLB MetalLB es una implementación de LoadBalancer para clústeres Kubernetes que se …

Deja una respuesta

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

2 × 4 =

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