Monitoreo y Alertas de Seguridad en WordPress con Wazuh
ANÁLISIS DE REGISTROS WEB EN WORDPRESS
Los registros de acceso web en WordPress contienen información valiosa sobre las interacciones de los usuarios, acciones administrativas y posibles intentos de intrusión. El análisis detallado de estos logs permite identificar patrones de comportamiento legítimo, así como actividades, subidas de archivos no autorizados o explotación de vulnerabilidades en endpoints críticos.
Para ello desarrollamos una guía práctica utilizando Wazuh Manager como SIEM, para la creación de reglas personalizadas de detección, basadas en eventos locales y ataques previamente identificados en el entorno. Estas reglas permitirán:
- Detección de intentos de intrusión (fuerza bruta, subidas de archivos maliciosos, comportamiento anómalo).
- Monitoreo de accesos sospechosos a terminales desde el panel de administración (wp-admin).
- Generación de alertas tempranas ante comportamientos anómalos (Solicitudes AJAX múltiples desde la misma IP, modificaciones no autorizadas en la biblioteca de medios).
A partir de casos reales, se almacenaron distintos tipos de peticiones analizadas múltiples servidores, se establecerán criterios para identificar amenazas. El objetivo final es fortalecer la seguridad del sitio WordPress mediante un sistema de monitoreo proactivo, adaptado a necesidades específicas.
Puedes consultar la guía de instalación de Wazuh en el siguiente enlace: Instalación de Wazuh Open Source Security – Base de Conocimiento CGII
Configuración de WP-CLI
Para que Wazuh pueda interactuar con WordPress y realizar la comprobación de seguridad, es necesario instalar WP-CLI en el servidor. Sigue estos pasos: Descargar e instalar WP-CLI:
curl -O <https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar>
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
Creación de Políticas de Seguridad para WordPress
Crear el Archivo de Políticas
La comprobación de seguridad en WordPress se basa en la aplicación de políticas definidas en un archivo YAML. A continuación, se describe cómo crearlas e implementarlas en Wazuh.
sudo su
mkdir /home/local_sca_policies/
touch /home/local_sca_policies/custom_wordpress_policy.yml
nano /home/local_sca_policies/custom_wordpress_policy.yml
Creamos nuestras propias reglas/políticas que debe cumplir Wazuh, definiendo cada una en el archivo custom_wordpress_policy.yml
.
# Security Configuration Assessment
# Hardening policies for WordPress installations
policy:
id: "wordpress_assessment"
file: "custom_wordpress_policy.yml"
name: "Comprobación de configuración de seguridad para instalaciones de WordPress."
description: "Guía para establecer una configuración segura en instalaciones de WordPress."
references:
- https://wordpress.org/support/article/hardening-wordpress/
- https://wpsecuritychecklist.org/items/
requirements:
title: "Verificar que el endpoint sea un host de WordPress y que tenga instalada la herramienta wp-cli."
description: "Requisitos para ejecutar el escaneo de SCA contra la política de configuración de WordPress."
condition: all
rules:
- 'f:$wp_install_dir/wp-config.php'
- 'c:wp --info --allow-root -> r:^WP\pCLI\sversion\p'
variables:
$wp_install_dir: /var/www/html # Example: /var/www/html
$wp_host: http://172.19.0.5:8000/ # Examples: https://example.com
$wp_user: admin # Example: admin
$wp_security_plugin: wordfence # Example: wordfence
checks:
En checks
, agregamos las siguientes líneas, que explicaremos a continuación:
Regla 1. ID=100000
- Propósito: Evitar exploits en versiones antiguas con vulnerabilidades conocidas (CVE).
- Cuándo actúa: Cuando la versión instalada es inferior a la última estable publicada en wordpress.org.
- Acción: Actualizar a la última versión.
- id: 100000
title: "Fortalecimiento de WordPress: Asegurar que la versión de WordPress esté actualizada."
description: "La versión instalada de WordPress debe ser la última versión disponible en https://wordpress.org/download/."
rationale: "Pueden descubrirse nuevas vulnerabilidades en WordPress. Es importante actualizar a la última versión para evitar que se exploten vulnerabilidades descubiertas en versiones antiguas."
remediation: "Actualizar WordPress a la última versión."
condition: all
rules:
- c:runuser -l $wp_user -c "wp core check-update --path=$wp_install_dir" -> r:WordPress\sis\sat\sthe\slatest\sversion
Paso 2: Configurar el Agente de Wazuh
Para que Wazuh pueda realizar el análisis de seguridad en la instalación de WordPress, es necesario configurar el agente en el servidor para que envíe los registros hacia el servidor y sea procesado.
- Instalar el agente de Wazuh en el servidor:
wget <https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.9.2-1_amd64.deb>
sudo dpkg -i wazuh-agent_4.9.2-1_amd64.deb
sudo apt --fix-broken install
- Editar la configuración del agente para habilitar el análisis SCA:
sudo nano /var/ossec/etc/ossec.conf
- Agregar la configuración necesaria dentro del archivo de configuración del agente:
<policies>
<policy>/home/local_sca_policies/custom_wordpress_policy.yml</policy>
</policies>
- Reiniciar el agente de Wazuh para aplicar los cambios:
/var/ossec/bin/wazuh-control restart
Verificación de Resultados
Una vez configurado el análisis de seguridad en Wazuh, puedes verificar los resultados desde la interfaz gráfica.
- Accede a la interfaz de Wazuh.
- Navega a Security Configuration Assessment.
- Revisa los resultados del módulo SCA de seguridad en WordPress.
- Aplica las recomendaciones de Wazuh para corregir vulnerabilidades identificadas.
Con esta guía, has aprendido a instalar y configurar Wazuh para comprobar la seguridad de una instalación de WordPress. Implementando las políticas de seguridad adecuadas y utilizando WP-CLI, puedes obtener información detallada sobre posibles vulnerabilidades y corregirlas a tiempo para fortalecer la seguridad de tu sitio.
Para obtener más información sobre la configuración avanzada de Wazuh, consulta la documentación oficial.
Recomendaciones.
- Mantén tu servidor de Wazuh actualizado para garantizar compatibilidad con nuevas versiones de WordPress.
- Verifica periódicamente los análisis SCA para detectar configuraciones inseguras antes de que puedan ser explotadas.
- No mantengas las configuraciones predeterminadas tras una instalación.