[{"data":1,"prerenderedAt":202},["ShallowReactive",2],{"seo-verification":3,"blog-self-host-wazuh-en-vps-soc-completo-en-menos-de-una-hora-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-self-host-wazuh-en-vps-soc-completo-en-menos-de-una-hora-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":139,"ctaBody":140,"ctaButton":141,"ctaUrl":142,"relatedPosts":143},437,"self-host-wazuh-en-vps-soc-completo-en-menos-de-una-hora",{"fr":12,"en":13,"ar":14,"es":10},"self-host-wazuh-vps","self-host-wazuh-on-a-vps-full-soc-in-under-an-hour","استضافة-wazuh-على-vps-siem-مراقبة-أمنية-شاملة","Self-host Wazuh en VPS: SOC completo en menos de una hora","Despliega Wazuh 4.14 en nodo único con Docker Compose en tu VPS. Registro de eventos, detección de incidentes y cumplimiento NIS2 art. 21 bajo tu control.",9,0,false,"2026-10-13T00:00:00+00:00","2026-10-13T14:10:28+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},8,"Seguridad y monitorización","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-wazuh-vps-poster.svg","La directiva NIS2 obliga a las entidades esenciales e importantes a implantar herramientas de registro, monitorización y respuesta a incidentes (artículo 21). Al mismo tiempo, los CVE recientes en Jira, Confluence y GitLab recuerdan que un perímetro no observado es un perímetro comprometido en silencio. Wazuh es un SIEM open source activo que cubre exactamente estos tres requisitos, y su distribución Docker Compose oficial permite desplegarlo en un único nodo VPS en menos de una hora, sin experiencia previa en infraestructura de seguridad.",[35,39,68,71,82,113,116,119,122,125,128,131],{"type":36,"title":37,"body":38},"h2","Por qué Wazuh para el cumplimiento de NIS2 art. 21","El artículo 21 de NIS2 exige cuatro capacidades: registro de eventos, detección de incidentes, respuesta y notificación. Wazuh cubre las tres primeras de forma nativa — recopilación de logs, reglas de detección, respuesta activa — y su panel de control genera los informes de auditoría necesarios para la cuarta. A diferencia de un SIEM SaaS, los datos permanecen en tu infraestructura: sin transferencia a servidores de terceros, lo que también simplifica el cumplimiento del RGPD para entidades que tratan datos personales. La versión 4.14.8 (publicada el 25 de septiembre de 2026) es la versión estable actual.",{"type":40,"title":41,"headers":42,"rows":47},"comparison","Wazuh vs alternativas SIEM self-hosted",[43,44,45,46],"Herramienta","Licencia","Stack de despliegue","Cobertura NIS2 art. 21",[48,53,58,63],[49,50,51,52],"Wazuh 4.14","GPLv2 (manager) \u002F Apache 2 (indexer)","Docker Compose oficial","Registro + detección + respuesta activa",[54,55,56,57],"Elastic SIEM","SSPL (Elastic Stack)","Docker o paquetes","Registro + detección (respuesta via SOAR externo)",[59,60,61,62],"Graylog Open","SSPL","Docker Compose","Registro (detección limitada sin plugins)",[64,65,66,67],"Security Onion","GPLv2","ISO bare-metal o VM","Cobertura completa pero requiere servidor dedicado",{"type":36,"title":69,"body":70},"Requisitos de hardware y software","Los requisitos oficiales para un despliegue single-node que cubra hasta 25 agentes son: 4 vCPU, 8 GB de RAM y 50 GB de almacenamiento (para 90 días de datos indexados). Un VPS de gama media es suficiente para un equipo que monitorice hasta 25 endpoints o servidores; más allá de 50 agentes, pasa a 8 vCPU y considera un volumen adicional. En cuanto al software, necesitas Docker Engine (versión 24 mínimo), Docker Compose v2 y Git. El kernel Linux debe permitir al menos 262.144 áreas de memoria virtual para el indexador.",{"type":72,"title":73,"items":74},"ul","Qué monitoriza Wazuh en cuanto se activan los agentes",[75,76,77,78,79,80,81],"**Monitorización de integridad de ficheros (FIM)** — detecta cualquier modificación, creación o eliminación en rutas críticas (`\u002Fetc`, `\u002Fbin`, `\u002Fusr\u002Fbin` por defecto)","**Logs del sistema** — recopila e indexa logs de autenticación, syslog, journald y logs de aplicación configurados","**Evaluación de configuración (SCA)** — compara el estado real del sistema con los benchmarks CIS para Ubuntu, Debian, RHEL y Windows","**Detección de rootkits** — analiza procesos ocultos y anomalías del kernel via `rootcheck`","**Detección de vulnerabilidades** — correlaciona los paquetes instalados en los agentes con CVEs de la National Vulnerability Database","**Respuesta activa** — bloquea automáticamente una IP tras N intentos de autenticación fallidos, sin agente SOAR externo","**Logs cloud** — ingiere eventos de AWS CloudTrail, Azure Activity Log y GCP Audit Log mediante módulos dedicados",{"type":83,"title":84,"steps":85},"steps","Despliegue paso a paso en un VPS Debian\u002FUbuntu",[86,89,92,95,98,101,104,107,110],{"title":87,"body":88},"Preparar el sistema","Actualiza los paquetes e instala las dependencias:\n```\napt update && apt upgrade -y\napt install -y docker.io docker-compose-v2 git curl\nsystemctl enable --now docker\n```\nAñade tu usuario no-root al grupo docker si es necesario:\n```\nusermod -aG docker $USER\n```",{"title":90,"body":91},"Configurar vm.max_map_count","El indexador Wazuh (OpenSearch) requiere al menos 262.144 áreas de memoria virtual. Aplica el parámetro en caliente y hazlo permanente:\n```\nsysctl -w vm.max_map_count=262144\necho 'vm.max_map_count=262144' >> \u002Fetc\u002Fsysctl.conf\n```\nSin este paso, el contenedor `wazuh.indexer` se detiene con el error `max virtual memory areas vm.max_map_count [65530] is too low`.",{"title":93,"body":94},"Clonar el repositorio oficial","Clona la rama correspondiente a la versión estable actual:\n```\ngit clone https:\u002F\u002Fgithub.com\u002Fwazuh\u002Fwazuh-docker.git -b v4.14.8\ncd wazuh-docker\u002Fsingle-node\u002F\n```\nEl directorio `single-node\u002F` contiene el `docker-compose.yml` principal y el `generate-indexer-certs.yml` necesario en el siguiente paso.",{"title":96,"body":97},"Generar los certificados TLS entre servicios","Wazuh cifra todas las comunicaciones internas. Genera los certificados con la utilidad incluida:\n```\ndocker compose -f generate-indexer-certs.yml run --rm generator\n```\nLos certificados se depositan en `config\u002Fwazuh_indexer_ssl_certs\u002F`. No los regeneres sin recrear el stack completo.",{"title":99,"body":100},"Arrancar el stack","Lanza los tres servicios en segundo plano:\n```\ndocker compose up -d\n```\nSigue el arranque en tiempo real:\n```\ndocker compose logs -f\n```\nEl indexador necesita unos 60 segundos para estar listo. Espera la línea `Node 'node-1' initialized` antes de continuar.",{"title":102,"body":103},"Acceder al panel y cambiar la contraseña","Abre `https:\u002F\u002FIP-DE-TU-VPS` en tu navegador. Acepta la advertencia del certificado autofirmado en la primera conexión. Credenciales por defecto: usuario `admin`, contraseña `SecretPassword`. Cambia la contraseña inmediatamente desde **Security → Internal users → admin → Edit**. Para automatización por línea de comandos:\n```\ndocker exec -it single-node-wazuh.manager-1 \\\n  \u002Fvar\u002Fossec\u002Fbin\u002Fwazuh-passwords-tool.sh \\\n  -u admin -p 'NuevaContrasena!'\n```",{"title":105,"body":106},"Abrir los puertos necesarios en el firewall","En el VPS, permite el tráfico entrante para agentes y el panel:\n```\nufw allow 443\u002Ftcp   # Panel HTTPS\nufw allow 1514\u002Ftcp  # Agentes (protocolo Wazuh)\nufw allow 1515\u002Ftcp  # Registro de agentes\nufw allow 514\u002Fudp   # Recepción syslog\nufw allow 55000\u002Ftcp # API REST Wazuh (restringe a tus IPs)\nufw enable\n```\nRestringe el puerto 55000 solo a tus IPs de gestión.",{"title":108,"body":109},"Instalar el agente Wazuh en un servidor a monitorizar","En cada máquina que quieras observar, instala el agente y apúntalo hacia tu VPS. Ejemplo en Debian\u002FUbuntu:\n```\ncurl -s https:\u002F\u002Fpackages.wazuh.com\u002Fkey\u002FGPG-KEY-WAZUH | gpg --dearmor \\\n  -o \u002Fusr\u002Fshare\u002Fkeyrings\u002Fwazuh.gpg\necho \"deb [signed-by=\u002Fusr\u002Fshare\u002Fkeyrings\u002Fwazuh.gpg] \\\n  https:\u002F\u002Fpackages.wazuh.com\u002F4.x\u002Fapt\u002F stable main\" \\\n  > \u002Fetc\u002Fapt\u002Fsources.list.d\u002Fwazuh.list\napt update && apt install -y wazuh-agent\nWAZUH_MANAGER='IP-DE-TU-VPS' \\\nWAZUH_AGENT_NAME='tu-servidor-01' \\\n  dpkg-reconfigure wazuh-agent\nsystemctl enable --now wazuh-agent\n```\nEl agente aparece en el panel bajo **Agents** a los 30 segundos de su registro.",{"title":111,"body":112},"Lectura adicional — guías relacionadas","Para fortalecer tu postura de seguridad más allá de Wazuh, consulta nuestras guías relacionadas: **[nis2-securite-informatique-hebergement-obligations]** para las obligaciones legales detalladas, **[crowdsec-vs-fail2ban-securite-vps]** para el bloqueo colaborativo a nivel de red, y **[zitadel-sso-self-hosted-vps]** para centralizar la autenticación y reducir la superficie de ataque en tu panel Wazuh.",{"type":36,"title":114,"body":115},"Arquitectura del stack single-node","El stack Docker Compose oficial despliega tres servicios interdependientes. El **manager Wazuh** es el núcleo: recibe eventos de los agentes en el puerto 1514, aplica las reglas de detección, activa las respuestas activas y reenvía las alertas al indexador. El **indexador Wazuh** (OpenSearch) almacena y hace buscables esas alertas; se comunica con el manager en el puerto 9200 y requiere los recursos de kernel propios de un motor de búsqueda. El **panel Wazuh** expone la interfaz de usuario en el puerto 443 y consulta el indexador por HTTPS. Los tres servicios comparten certificados TLS autofirmados generados en el paso de preparación; modificar uno sin regenerar los demás provoca errores de validación mutua. Los datos persistentes — configuración del manager, cola de alertas, datos del índice — se almacenan en volúmenes Docker con nombre, desacoplados del ciclo de vida de los contenedores.",{"type":36,"title":117,"body":118},"Configurar la retención y las alertas por email","Por defecto, Wazuh retiene los datos 90 días. Para ajustar la retención, modifica el parámetro `max_age` en la política ISM del indexador, accesible desde **Index Management → Policies** en el panel. Puedes ampliar la retención a 180 días para cumplir los requisitos de conservación de logs de NIS2, o reducirla a 30 días en un VPS con almacenamiento limitado. Para alertas por email, edita `\u002Fvar\u002Fossec\u002Fetc\u002Fossec.conf` en el contenedor manager — añade un bloque `\u003Cemail_notification>` con tu servidor SMTP y los niveles de alerta deseados (nivel 7 y superiores para alertas críticas, nivel 5 para incluir alertas medias). Wazuh también permite enviar notificaciones por webhooks a Slack, Teams o PagerDuty a través de su mecanismo de integración. Reinicia el manager tras cada cambio de configuración:\n```\ndocker compose restart wazuh.manager\n```",{"type":36,"title":120,"body":121},"Generar informes de cumplimiento NIS2 \u002F GDPR","El panel de Wazuh incluye cuadros de mando dedicados a marcos de cumplimiento: GDPR, PCI DSS, HIPAA y NIST 800-53. Estos cuadros permiten exportar informes PDF que listan los controles cubiertos y los eventos asociados — útiles para justificar tu postura ante un auditor o una autoridad competente NIS2. Para NIS2 específicamente, usa la vista GDPR como base y complétala con las reglas de detección clasificadas por categoría Mitre ATT&CK disponibles en **Threat intelligence → Mitre ATT&CK**. NIS2 exige notificación en 72 horas tras detectar un incidente significativo: configura alertas de nivel 12 (crítico) para activar una notificación inmediata — Wazuh incluye reglas listas para intentos de explotación de CVE conocidas, movimiento lateral y escalada de privilegios.",{"type":123,"body":124},"tip","Activa la política de contraseñas seguras en Wazuh desde la instalación: en **Security → Security settings**, marca 'Require complex passwords' y 'Enable audit logging'. Ambas opciones están desactivadas por defecto y deben habilitarse manualmente antes de la puesta en producción.",{"type":36,"title":126,"body":127},"Actualizar Wazuh sin perder datos","Los datos del indexador se persisten en volúmenes Docker con nombre. El procedimiento de actualización consiste en clonar la nueva versión del repositorio en un directorio separado, copiar los volúmenes existentes y reiniciar el stack. La documentación oficial recomienda hacer una copia de seguridad de los volúmenes antes de cualquier actualización mayor:\n```\ndocker run --rm \\\n  -v single-node_wazuh-indexer-data:\u002Fdata \\\n  -v $(pwd)\u002Fbackup:\u002Fbackup \\\n  alpine tar czf \u002Fbackup\u002Findexer-data-$(date +%Y%m%d).tar.gz \u002Fdata\n```\nPara una actualización de versión menor (p.ej. 4.14.7 → 4.14.8), basta con actualizar la etiqueta en `docker-compose.yml` y reiniciar con `docker compose up -d --pull always`.",{"type":36,"title":129,"body":130},"Solución de problemas — errores frecuentes","Aquí están los cinco errores más comunes en un primer despliegue de Wazuh Docker, con sus causas y remedios.",{"type":72,"title":132,"items":133},"Errores frecuentes y soluciones",[134,135,136,137,138],"**`max virtual memory areas vm.max_map_count [65530] is too low`** — El parámetro del kernel no se aplicó. Ejecuta `sysctl -w vm.max_map_count=262144` y verifica con `sysctl vm.max_map_count` antes de reiniciar el stack.","**`Connection refused` en el puerto 443 tras `docker compose up -d`** — El indexador aún no está listo. Espera 60-90 segundos y consulta `docker compose logs wazuh.indexer` para confirmar la inicialización del nodo.","**`Agent disconnected` justo tras el registro** — El puerto 1514\u002FTCP o 1515\u002FTCP está bloqueado en el VPS. Comprueba `ufw status` y las reglas de seguridad de red de tu proveedor de hosting.","**`certificate verify failed` en los logs del panel** — Los certificados autogenerados no coinciden con la IP o el hostname utilizado. Regenera los certificados tras verificar que `WAZUH_DASHBOARD_HOST` en `docker-compose.yml` coincide con tu IP o nombre de dominio.","**`Wazuh API 401 Unauthorized`** — El cambio de contraseña de `admin` no se propagó a la configuración del panel. Tras modificar la contraseña, actualiza también `DASHBOARD_PASSWORD` en el fichero `.env` o en las variables de entorno del servicio `wazuh.dashboard`, y reinicia con `docker compose restart wazuh.dashboard`.","Un VPS diseñado para Wazuh","Nuestros VPS profesionales incluyen configuraciones optimizadas para cargas de trabajo SIEM: 8 vCPU, 16 GB de RAM, almacenamiento NVMe rápido y red aislada. Despliega Wazuh en producción con el ancho de banda y los recursos que merece.","Ver planes profesionales","\u002Fsolutions\u002Fprofessionnels",[144,162,185],{"id":145,"slug":146,"slugs":147,"title":150,"excerpt":151,"readTime":152,"views":18,"isPinned":19,"publishedAt":153,"updatedAt":21,"category":154,"categories":159,"featuredImage":30,"bgImage":31,"posterImage":161,"relatedSolution":30},433,"nis2-seguridad-informatica-alojamiento-obligaciones",{"fr":148,"en":149,"ar":149,"es":146},"nis2-securite-informatique-hebergement-obligations","nis2-cybersecurity-hosting-obligations","NIS2 y alojamiento: obligaciones técnicas en 2026","¿Qué obligaciones del Artículo 21 NIS2 se aplican a tu infraestructura VPS? Guía técnica para entidades esenciales e importantes en 2026.",11,"2026-10-11T00:00:00+00:00",{"id":155,"name":156,"slug":157,"color":158,"icon":157},10,"Cumplimiento y normativa","conformite","bg-amber-500\u002F10 text-amber-400",[160],{"id":155,"name":156,"slug":157,"color":158,"icon":157},"\u002Fblog\u002Fcovers\u002Fnis2-securite-informatique-hebergement-obligations-poster.svg",{"id":163,"slug":164,"slugs":165,"title":169,"excerpt":170,"readTime":171,"views":172,"isPinned":19,"publishedAt":173,"updatedAt":174,"category":175,"categories":180,"featuredImage":30,"bgImage":31,"posterImage":182,"relatedSolution":183},348,"crowdsec-vs-fail2ban-cual-elegir-para-tu-vps",{"fr":166,"en":167,"ar":168,"es":164},"crowdsec-vs-fail2ban-securite-vps","crowdsec-vs-fail2ban-which-to-choose-for-your-vps","crowdsec-مقابل-fail2ban-ايهما-تختار-لخادمك","CrowdSec vs Fail2ban: cuál elegir para proteger tu VPS","¿CrowdSec o Fail2ban en tu VPS Linux? Comparativa por caso de uso: lista de bloqueo comunitaria o simplicidad local — el árbol de decisión para elegir.",7,3,"2026-09-11T00:00:00+00:00","2026-09-11T11:34:13+00:00",{"id":176,"name":177,"slug":178,"color":179,"icon":178},5,"Comparativas","comparatif","bg-info\u002F10 text-info",[181],{"id":176,"name":177,"slug":178,"color":179,"icon":178},"\u002Fblog\u002Fcovers\u002Fcrowdsec-vs-fail2ban-securite-vps-poster.svg",{"categorySlug":184,"appSlug":30},"ciberseguridad-bastion",{"id":186,"slug":187,"slugs":188,"title":192,"excerpt":193,"readTime":194,"views":18,"isPinned":19,"publishedAt":195,"updatedAt":21,"category":196,"categories":197,"featuredImage":30,"bgImage":31,"posterImage":199,"relatedSolution":200},435,"zitadel-vps-sso-multi-tenant-sin-keycloak",{"fr":189,"en":190,"ar":191,"es":187},"zitadel-sso-self-hosted-vps","self-hosting-zitadel-vps-multi-tenant-sso","استضافة-zitadel-على-vps-sso-متعدد-المستأجرين","Alojar ZITADEL en un VPS: SSO multi-tenant sin Keycloak","Despliega ZITADEL en tu VPS con Docker Compose: IAM cloud-native en Go, multi-tenancy nativo, OIDC, OAuth2, SAML y Passkeys, sin la complejidad de Keycloak.",14,"2026-10-12T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[198],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fzitadel-sso-self-hosted-vps-poster.svg",{"categorySlug":184,"appSlug":201},"zitadel",1791901121109]