Wazuh: Sistema de detección de intrusos (HIDS)
Introducción
Wazuh es una plataforma de seguridad integral que combina la gestión de eventos, análisis de amenazas y cumplimiento normativo. En este artículo, se detalla cómo desplegar Wazuh en un entorno de nodo único utilizando Docker, con un enfoque orientado a autohospedado.
La instalación está basada en la documentación oficial de Wazuh, adaptada a un entorno doméstico o de pruebas.
Características
- Despliegue de nodo único para simplificar la instalación.
- Uso de Docker Compose con separación lógica por servicios.
- Variables centralizadas en
.envpara facilitar actualizaciones. - Certificados SSL para conexiones seguras entre contenedores.
- Interfaz web para gestión de alertas y configuración.
Instalación y configuración
1. Clonar el repositorio
Clonamos el repositorio oficial de Wazuh Docker para la versión correspondiente:
git clone https://github.com/wazuh/wazuh-docker.git -b v4.12.0
cd wazuh-docker/single-node
2. Generar certificados
Ejecutamos el siguiente comando para generar los certificados necesarios:
docker-compose -f generate-indexer-certs.yml run --rm generator
3. Preparar archivos
Tanto el archivo .env como docker-compose.yml han sido saneados y se encuentran disponibles en el repositorio de Gitea:
Desde ahí pueden copiarse o actualizarse sin tener que mantenerlos directamente en este documento.
4. Generar hashes de contraseñas
Ejecutamos en un contenedor del indexador:
docker run --rm -ti wazuh/wazuh-indexer:4.12.0 bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/hash.sh
Pegamos cada contraseña y guardamos los hashes generados.
Editar archivos con los hashes obtenidos
config/wazuh_indexer/internal_users.ymlReemplazamos los hashes para los usuariosadminykibanaserver.config/wazuh_dashboard/wazuh.ymlActualizamos la contraseña correspondiente del usuariowazuh-wui.
5. Levantar los contenedores
En la carpeta single-node, ejecutamos:
docker-compose up -d
6. Configurar Wazuh Indexer
Accedemos al contenedor del indexador:
docker exec -it WazuhIndexer bash
Y ejecutamos:
export INSTALLATION_DIR=/usr/share/wazuh-indexer
CACERT=$INSTALLATION_DIR/certs/root-ca.pem
KEY=$INSTALLATION_DIR/certs/admin-key.pem
CERT=$INSTALLATION_DIR/certs/admin.pem
export JAVA_HOME=/usr/share/wazuh-indexer/jdk
bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/securityadmin.sh -cd /usr/share/wazuh-indexer/opensearch-security/ -nhnv -cacert $CACERT -cert $CERT -key $KEY -p 9200 -icl
7. Reiniciar los contenedores
docker compose down
docker compose up -d
8. Acceder a la interfaz web
docker logs NombreDelContenedor -f
Conclusión
Hemos configurado e implementado Wazuh en un entorno de nodo único utilizando Docker. Este despliegue es ideal para pruebas o entornos pequeños. La instalación del agente puede realizarse desde la propia interfaz web de Wazuh. Para configuraciones más avanzadas, consulta la documentación oficial.