Wazuh es una plataforma de seguridad open source que unifica capacidades de XDR (Extended Detection and Response) y SIEM (Security Information and Event Management) en una única solución. Proporciona protección para endpoints y cargas de trabajo en la nube, ofreciendo detección de amenazas, monitorización de integridad de archivos, respuesta a incidentes y cumplimiento normativo.
Wazuh se compone de cuatro elementos principales:
| Componente | Descripción |
|---|---|
| Wazuh Indexer | Motor de búsqueda y análisis que indexa y almacena las alertas generadas |
| Wazuh Server | Analiza los datos recibidos de los agentes, detecta amenazas y genera alertas |
| Wazuh Dashboard | Interfaz web para visualización, análisis y gestión de datos de seguridad |
| Wazuh Agent | Agente ligero desplegado en endpoints para recopilar datos y enviarlos al servidor |
Para comenzar con la creación tendremos que seleccionar la pantalla de las instancias a través del menú lateral Virtual Datacenter → Instancias.

Una vez accedamos a la pantalla, pulsaremos el botón
para comenzar con la creación de la instancia. A continuación se nos desplegará el formulario de creación con las siguientes secciones:

Aquí podremos definir el número de Instancias que desearemos desplegar con la misma configuración, el nombre y si queremos que sea permanente o efímera.
Para Wazuh, configuraremos:
| Campo | Valor Recomendado |
|---|---|
| Nombre | wazuh-server |
| Cantidad | 1 |
| Tipo | Permanente |
Para más información: Instancias Efímeras
Una vez realizados los cambios le daremos a siguiente y pasaremos al apartado de Origen:

Podremos seleccionar si queremos lanzar la instancia a partir de una imagen, ya sea del catálogo del orquestador o que se haya subido al proyecto, de un snapshot o de un volumen ya existente. También podremos filtrar por tipo de S.O para encontrar mas facilmente con el que queremos lanzar la instancia.
Para Wazuh, seleccionaremos una imagen de Linux compatible. Los sistemas operativos soportados son:
Para este manual utilizaremos Ubuntu 24.04 LTS como sistema operativo base.
También en el final del formulario, podremos seleccionar tanto el tipo de volumen como el tamaño que queremos que tenga.

El tamaño del disco dependerá del número de agentes a monitorizar:
| Agentes | Almacenamiento Recomendado (90 días) |
|---|---|
| 1-25 | 50 GB |
| 25-50 | 100 GB |
| 50-100 | 200 GB |
| 100-500 | 500 GB+ |
Se recomienda usar almacenamiento SSD para mejor rendimiento del indexador.
Una vez le damos a siguiente, podremos elegir las Especificaciones de la Instancia.

Las especificaciones, como se muestra en la imagen anterior, define los recursos de número de vCPUs y GB de RAM con los que se va a ejecutar la instancia.
Selecciona las especificaciones según el número de agentes a monitorizar:
| Agentes | vCPU | RAM |
|---|---|---|
| 1-25 | 4 vCPU | 8 GB |
| 25-50 | 8 vCPU | 8 GB |
| 50-100 | 8 vCPU | 8 GB |
| 100-500 | 8+ vCPU | 16+ GB |
Mínimo absoluto: 4 vCPU y 8 GB de RAM. Por debajo de estos valores, Wazuh no funcionará correctamente.
Para entornos de producción con más de 100 agentes, se recomienda un despliegue distribuido con componentes en servidores separados.
Una vez seleccionemos las especificaciones, le daremos a siguiente para configurar la conectividad.
En esta pantalla elegiremos la configuración de red de la instancia, seleccionando la red en la que queramos que esté conectada.

Podemos seleccionar algún puerto existente que se encuentre disponible, o podremos crearlo en las redes y subredes que seleccionemos del proyecto, y podremos tanto dejar la asignación por DHCP como asignarle una IP determinada.

Recomendación: Para producción, asigna una IP estática al servidor Wazuh. Esto evitará problemas de conectividad con los agentes si la IP cambia.
Una vez seleccionemos el o los puertos que queramos que tenga la instancia, pulsaremos en siguiente para configurar los grupos de seguridad.
En el apartado de seguridad podremos elegir el grupo de seguridad que queremos asociarle a la instancia.

Crea o configura un grupo de seguridad con las siguientes reglas de entrada:
| Puerto | Protocolo | Origen | Descripción |
|---|---|---|---|
| 22 | TCP | Tu IP/Red administrativa | SSH (administración) |
| 443 | TCP | 0.0.0.0/0 o red corporativa | Wazuh Dashboard (HTTPS) |
| 1514 | TCP | Redes de agentes | Comunicación de agentes |
| 1515 | TCP | Redes de agentes | Registro de agentes |
| 55000 | TCP | Red interna / Dashboard | Wazuh Server API |
Importante: Para producción, restringe los puertos 1514, 1515 y 55000 únicamente a las redes donde se encuentren los agentes. El puerto 9200 (Wazuh Indexer) debe permanecer solo accesible desde localhost.
El siguiente apartado será el de configuración de la instancia.
En el apartado de configuración podremos añadir el par de claves que queramos que tenga nuestra instancia, agregar un script de inicio de sesión y agregar metadatos extra.

En las imágenes linux del catálogo del orquestador, será obligatorio el uso de par de claves para el primer inicio de sesión.
Si no tiene niguno creado, puede crear uno en el momento o importarlo y usar uno externo.
Finalmente podremos ver un resumen en la última pantalla donde podremos revisar la configuración.

Verifica que la configuración cumple con los requisitos mínimos de Wazuh:
Tras apretar el botón de "enviar" podremos observar que nos aparece un mensaje en la esquina superior derecha donde nos indica que se ha creado la instancia.
Una vez volvamos a la ventana de instancias veremos que la que acabamos de crear se encuentra en estado "construir".

Una vez finalice ese proceso y se encuentre en estado "Activo", ya habremos finalizado la creación de la instancia.

El siguiente paso será conectarnos a ella para comenzar con la instalación de Wazuh.
La instalación All-in-One despliega todos los componentes centrales (Indexer, Server y Dashboard) en un único servidor. Es la opción más sencilla para entornos pequeños y medianos.
Conéctate a la instancia mediante SSH:
ssh -i tu-clave.pem ubuntu@IP_PUBLICA
Actualiza los paquetes del sistema:
sudo apt update && sudo apt upgrade -y
Configura el firewall local para permitir el tráfico necesario:
# Permitir SSH
sudo ufw allow 22/tcp
# Permitir Wazuh Dashboard
sudo ufw allow 443/tcp
# Permitir comunicación de agentes
sudo ufw allow 1514/tcp
sudo ufw allow 1515/tcp
# Permitir Wazuh API
sudo ufw allow 55000/tcp
# Habilitar firewall
sudo ufw --force enable
# Verificar estado
sudo ufw status verbose
Wazuh proporciona un asistente que automatiza toda la instalación:
curl -sO https://packages.wazuh.com/4.14/wazuh-install.sh && sudo bash ./wazuh-install.sh -a
Este proceso tardará varios minutos. El asistente:
Una vez finalizada la instalación, el asistente mostrará las credenciales:
INFO: --- Summary ---
INFO: You can access the web interface https://<WAZUH_IP>
User: admin
Password: <ADMIN_PASSWORD>
INFO: Installation finished.
¡IMPORTANTE! Guarda la contraseña en un lugar seguro. Es la única vez que se mostrará.
Para recuperar las contraseñas posteriormente:
sudo tar -O -xvf wazuh-install-files.tar wazuh-install-files/wazuh-passwords.txt
Comprueba que todos los servicios estén activos:
# Verificar Wazuh Manager
sudo systemctl status wazuh-manager
# Verificar Wazuh Indexer
sudo systemctl status wazuh-indexer
# Verificar Wazuh Dashboard
sudo systemctl status wazuh-dashboard
También puedes verificar que los puertos estén escuchando:
sudo netstat -tlnp | grep -E ':(443|1514|1515|55000|9200)'
Abre un navegador web y accede a:
https://IP_PUBLICA_DE_TU_INSTANCIA
El navegador mostrará una advertencia de certificado porque es autofirmado. Acepta la excepción de seguridad para continuar.
Introduce las credenciales obtenidas durante la instalación:
admin
Una vez dentro, verás el dashboard principal con:

El menú principal se organiza en las siguientes secciones:




Accede a Agents management → Summary para ver el estado de todos los agentes:

# Añadir repositorio de Wazuh
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && chmod 644 /usr/share/keyrings/wazuh.gpg
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | tee /etc/apt/sources.list.d/wazuh.list
# Instalar agente
apt update && apt install wazuh-agent -y
# Configurar el servidor
sed -i 's/MANAGER_IP/IP_DE_TU_SERVIDOR_WAZUH/g' /var/ossec/etc/ossec.conf
# Iniciar y habilitar el servicio
systemctl daemon-reload
systemctl enable wazuh-agent
systemctl start wazuh-agent
# Añadir repositorio de Wazuh
rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH
cat > /etc/yum.repos.d/wazuh.repo << EOF
[wazuh]
gpgcheck=1
gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH
enabled=1
name=EL-\$releasever - Wazuh
baseurl=https://packages.wazuh.com/4.x/yum/
protect=1
EOF
# Instalar agente
yum install wazuh-agent -y
# Configurar y arrancar
WAZUH_MANAGER='IP_DE_TU_SERVIDOR_WAZUH' yum install wazuh-agent -y
systemctl daemon-reload
systemctl enable wazuh-agent
systemctl start wazuh-agent
# Descargar e instalar agente
Invoke-WebRequest -Uri https://packages.wazuh.com/4.x/windows/wazuh-agent-4.14.0-1.msi -OutFile wazuh-agent.msi
# Instalar con parámetros
msiexec.exe /i wazuh-agent.msi /q WAZUH_MANAGER="IP_DE_TU_SERVIDOR_WAZUH"
# Iniciar servicio
NET START WazuhSvc
Organiza tus agentes en grupos para aplicar configuraciones específicas:
servidores-web, bases-datos, workstations
FIM detecta cambios en archivos y directorios críticos.
Edita /var/ossec/etc/ossec.conf en el agente:
<syscheck>
<!-- Directorios a monitorizar -->
<directories check_all="yes" realtime="yes">/etc</directories>
<directories check_all="yes" realtime="yes">/usr/bin</directories>
<directories check_all="yes" realtime="yes">/usr/sbin</directories>
<directories check_all="yes" realtime="yes">/var/www</directories>
<!-- Archivos a ignorar -->
<ignore>/etc/mtab</ignore>
<ignore>/etc/hosts.deny</ignore>
<!-- Frecuencia de escaneo (segundos) -->
<frequency>43200</frequency>
</syscheck>
Accede a Endpoint security → File Integrity Monitoring para ver las alertas de FIM.
Wazuh detecta vulnerabilidades en el software instalado comparando contra bases de datos CVE.
La detección de vulnerabilidades viene habilitada por defecto. Verifica en /var/ossec/etc/ossec.conf del servidor:
<vulnerability-detection>
<enabled>yes</enabled>
<index-status>yes</index-status>
<feed-update-interval>60m</feed-update-interval>
</vulnerability-detection>
Accede a Threat intelligence → Vulnerability Detection para ver las vulnerabilidades detectadas.
SCA evalúa la configuración de seguridad de los sistemas contra políticas predefinidas (CIS Benchmarks, etc.).
Accede a Endpoint security → Configuration Assessment para ver los resultados de los escaneos SCA.
Configura la integración con VirusTotal para análisis de malware:
/var/ossec/etc/ossec.conf en el servidor:<integration>
<name>virustotal</name>
<api_key>TU_API_KEY_DE_VIRUSTOTAL</api_key>
<group>syscheck</group>
<alert_format>json</alert_format>
</integration>
sudo systemctl restart wazuh-managerRecibe alertas en un canal de Slack:
<integration>
<name>slack</name>
<hook_url>https://hooks.slack.com/services/XXX/YYY/ZZZ</hook_url>
<level>10</level>
<alert_format>json</alert_format>
</integration>
Para gestión de incidentes:
<integration>
<name>custom-thehive</name>
<hook_url>http://thehive.example.com:9000/api/alert</hook_url>
<api_key>TU_API_KEY</api_key>
<level>10</level>
<alert_format>json</alert_format>
</integration>
Accede a Server management → Status para ver:

Las reglas definen qué eventos generan alertas.
Accede a Server management → Rules para explorar las reglas predefinidas.

Crea reglas personalizadas en /var/ossec/etc/rules/local_rules.xml:
<group name="local,syslog,">
<!-- Alerta cuando se detecta sudo fallido -->
<rule id="100001" level="10">
<if_sid>5402</if_sid>
<match>3 incorrect password attempts</match>
<description>Múltiples intentos fallidos de sudo</description>
</rule>
</group>
Los decoders extraen información de los logs.
Accede a Server management → Decoders para ver los decoders disponibles.

Visualiza los logs del servidor en Server management → Logs:

Ejecuta consultas a la API desde Server management → Dev Tools:

Ejemplos de consultas:
# Listar agentes
GET /agents
# Obtener información de un agente específico
GET /agents/001
# Listar alertas recientes
GET /alerts?limit=10
Edita /var/ossec/etc/ossec.conf en el servidor:
<global>
<email_notification>yes</email_notification>
<smtp_server>smtp.tudominio.com</smtp_server>
<email_from>wazuh@tudominio.com</email_from>
<email_to>seguridad@tudominio.com</email_to>
<email_maxperhour>12</email_maxperhour>
</global>
<email_alerts>
<email_to>admin@tudominio.com</email_to>
<level>12</level>
<do_not_delay />
</email_alerts>
Active Response permite ejecutar acciones automáticas ante ciertas alertas.
<active-response>
<command>firewall-drop</command>
<location>local</location>
<rules_id>5710,5711,5712</rules_id>
<timeout>600</timeout>
</active-response>
Esto bloqueará la IP durante 10 minutos (600 segundos).
# Backup de configuración
tar -czvf wazuh-backup-$(date +%Y%m%d).tar.gz /var/ossec/etc/
# Backup de datos
tar -czvf wazuh-data-$(date +%Y%m%d).tar.gz /var/ossec/data/
Añade a crontab:
0 2 * * * tar -czvf /backup/wazuh-config-$(date +\%Y\%m\%d).tar.gz /var/ossec/etc/
Para actualizar los componentes centrales:
# Detener servicios
sudo systemctl stop wazuh-manager
sudo systemctl stop wazuh-indexer
sudo systemctl stop wazuh-dashboard
# Actualizar
sudo apt update
sudo apt upgrade wazuh-manager wazuh-indexer wazuh-dashboard
# Reiniciar servicios
sudo systemctl start wazuh-indexer
sudo systemctl start wazuh-manager
sudo systemctl start wazuh-dashboard
Consulta siempre la documentación oficial de actualización antes de actualizar.
Para prevenir actualizaciones accidentales en producción:
# Debian/Ubuntu
sudo sed -i "s/^deb /#deb /" /etc/apt/sources.list.d/wazuh.list
sudo apt update
# RHEL/CentOS
sudo sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo
# Desde el agente
nc -zv IP_SERVIDOR_WAZUH 1514 1515 55000
Verifica grupos de seguridad en el orquestador (puertos 1514, 1515 abiertos)
Revisa logs del agente:
tail -f /var/ossec/logs/ossec.log
sudo systemctl restart wazuh-agent
sudo systemctl status wazuh-dashboard
sudo systemctl status wazuh-indexer
sudo tail -f /var/log/wazuh-dashboard/opensearch_dashboards.log
curl -k -u admin:CONTRASEÑA https://localhost:9200
top
free -h
df -h
cat /var/ossec/var/run/wazuh-analysisd.state
Si events_dropped > 0, considera aumentar recursos o escalar a despliegue distribuido.
/etc/wazuh-indexer/opensearch.yml:indices.memory.index_buffer_size: 20%
Para regenerar certificados:
# Backup certificados actuales
sudo cp -r /etc/wazuh-indexer/certs /etc/wazuh-indexer/certs.bak
# Regenerar con el asistente
sudo bash wazuh-install.sh --generate-certificates
Wazuh proporciona dashboards preconfigurados para las principales normativas:
Accede a Security operations → PCI DSS para:
Monitoriza el cumplimiento del Reglamento General de Protección de Datos.
Para organizaciones sanitarias que manejan información de salud protegida.
Framework de seguridad del gobierno de EE.UU.

Para soporte relacionado con la infraestructura:
Documento creado para AIRE Cloud Platform
Última actualización: Enero 2026
Versión de Wazuh: 4.14.x