Monitoreo
Supervisa la actividad de inicio de sesión, verifica la integridad de archivos, detecta malware e identifica vulnerabilidades de plugins y temas desde un solo panel.
Descripción general
Monitoreo está incluido en todos los planes de RakuWP y ofrece una vista centralizada del estado de seguridad de tus sitios WordPress. Combina cuatro componentes en un solo panel de control accesible desde el panel de RakuWP: monitoreo de accesos, verificación de integridad de archivos, escaneo de malware y detección de vulnerabilidades.
No se requiere configuración adicional en el lado de WordPress. Una vez que el plugin RakuWP está activo en un sitio, el panel puede obtener los datos de monitoreo en cualquier momento a través de la API REST.
Panel de control
La página principal de monitoreo lista todos los sitios vinculados a tu cuenta. Cada fila muestra el favicon del sitio, la URL, la empresa, la hora del último contacto, las versiones de WordPress y PHP, y un campo de texto libre de alerta que puedes usar para tus propios recordatorios.
Una barra de estado en la parte superior resume cuántos sitios están En línea, en Alerta o Sin conexión:
- En línea: el sitio se comunicó en las últimas 24 horas.
- Alerta: el último contacto fue hace entre 24 y 72 horas, o el sitio nunca se ha comunicado.
- Sin conexión: el sitio no se ha comunicado en más de 72 horas, o su licencia está inactiva.
Al hacer clic en un sitio se abre su página de detalle, organizada en tres pestañas: Monitoreo de accesos, Integridad de archivos y Amenazas y vulnerabilidades.
Monitoreo de accesos
Cada intento de inicio de sesión en tu sitio WordPress se registra automáticamente. El registro captura la marca de tiempo, el nombre de usuario, la dirección IP, el agente de usuario y el resultado (éxito, fallido o bloqueado).
Cómo funciona
- El plugin RakuWP se engancha a los eventos de autenticación de WordPress y almacena cada intento en la tabla
wp_rakuwp_login_log. - Los registros con más de 90 días se eliminan automáticamente.
- El panel obtiene los registros bajo demanda mediante la API REST (paginados, 50 entradas por página).
Qué se muestra
Cada entrada del registro muestra:
- Un indicador de color: verde para éxito, ámbar para fallido, rojo para bloqueado.
- Fecha y hora del intento.
- El nombre de usuario utilizado.
- La dirección IP de origen. Al pasar el cursor sobre la IP aparece un popover de geolocalización con ciudad, región, país y proveedor de internet.
- El navegador y sistema operativo detectados a partir del agente de usuario.
Protección de acceso
Cuando la función de protección de acceso está activada en Seguridad Básica, el plugin también aplica limitación de intentos:
- Intentos máximos: la cantidad de accesos fallidos permitidos dentro de la ventana de tiempo (predeterminado: 5).
- Duración del bloqueo: cuánto tiempo se bloquea una IP tras superar el umbral (predeterminado: 30 minutos).
- Ventana de intentos: el período en el que se cuentan los intentos fallidos (predeterminado: 15 minutos).
Los intentos bloqueados aparecen en el registro con un indicador rojo y se contabilizan en la insignia de la pestaña.
Integridad de archivos
Integridad de archivos compara cada archivo del núcleo de WordPress en tu sitio con las sumas de verificación oficiales publicadas por WordPress.org. Los archivos modificados o faltantes podrían indicar un compromiso, una actualización fallida o ediciones manuales a archivos del núcleo que se perderán en la próxima actualización.
Cómo funciona
- Un cron de WordPress (
rakuwp_file_integrity_check) se ejecuta una vez al día. - El plugin obtiene la lista de sumas de verificación SHA-1 para la versión de WordPress instalada desde la API de WordPress.org.
- Calcula el hash de cada archivo local del núcleo y compara el resultado con la suma esperada. Los archivos dentro de
wp-contentse excluyen. - Los resultados (total de archivos verificados, archivos modificados, archivos faltantes) se almacenan localmente y el panel puede consultarlos en cualquier momento.
Qué se muestra
El panel muestra una línea de resumen con la cantidad de archivos verificados y la fecha del último escaneo. Si todos los archivos coinciden, una marca verde confirma la integridad. En caso contrario, una tabla lista cada archivo afectado con su estado (modificado o faltante).
Escaneo bajo demanda
Haz clic en Escanear ahora para ejecutar una verificación de integridad inmediata sin esperar al cron diario. Los resultados reemplazan el escaneo anterior.
Escaneo de malware
El escáner de malware inspecciona los archivos PHP en los directorios de temas, plugins y mu-plugins en busca de patrones maliciosos conocidos. Utiliza una base de datos de firmas integrada que cubre web shells, backdoors, llamadas eval() ofuscadas, inyección de código y otras amenazas comunes.
Cómo funciona
- El escaneo se inicia desde el panel a través de la pestaña Amenazas y vulnerabilidades.
- El plugin recopila todos los archivos PHP en
wp-content/themes,wp-content/pluginsywp-content/mu-plugins. - Los archivos se procesan en lotes de 50 (con un límite de 2 MB por archivo) para evitar tiempos de espera.
- Cada archivo se comprueba contra la base de datos de firmas mediante expresiones regulares.
- Cuando todos los lotes se completan, los resultados se almacenan localmente y se devuelven al panel.
Qué se muestra
Si no se encuentra malware, una marca verde confirma un escaneo limpio. En caso contrario, una tabla lista cada hallazgo con la ruta del archivo, el nombre de la firma y el nivel de severidad (crítico, alto o medio). La severidad se muestra con código de colores para identificación rápida.
Amenazas y vulnerabilidades
Esta pestaña combina los resultados del escaneo de malware con una verificación de vulnerabilidades que cruza cada plugin y tema instalado contra una base de datos pública de vulnerabilidades.
Fuente de datos de vulnerabilidades
La información de vulnerabilidades proviene de WPVulnerability.net, una base de datos gratuita y abierta que no requiere clave de API. Un cron diario en el panel obtiene los registros de vulnerabilidades para cada slug de plugin y tema encontrado en todos los sitios conectados. Los resultados se almacenan en caché durante 24 horas por slug, y los registros con más de 90 días se eliminan automáticamente.
Cómo funciona la coincidencia
Cuando sincronizas un sitio, el panel obtiene la lista de plugins y temas instalados (con sus números de versión) desde el sitio WordPress. Luego verifica cada slug contra los datos de vulnerabilidades en caché. Se marca una vulnerabilidad cuando la versión instalada es inferior a la versión que contiene la corrección. Si no se ha publicado una corrección, todas las versiones se consideran afectadas.
Niveles de severidad
La severidad se deriva de la puntuación CVSS de cada vulnerabilidad:
- Crítico: CVSS ≥ 9.0
- Alto: CVSS ≥ 7.0
- Medio: CVSS ≥ 4.0
- Bajo: CVSS < 4.0
Qué se muestra
La tabla de vulnerabilidades muestra el nombre del plugin o tema, su versión instalada, una breve descripción de la vulnerabilidad, la insignia de severidad y la acción recomendada (actualizar a una versión específica, o "Sin corrección disponible" si aún no existe un parche). Haz clic en cualquier fila para abrir un modal de detalle con el identificador CVE, la fecha de publicación y un enlace al aviso completo.
Sincronización
Haz clic en Sincronizar ahora para obtener datos actualizados del sitio y volver a cruzarlos con la caché de vulnerabilidades. La marca de tiempo de la última sincronización se muestra encima de las tablas.
Notas de alerta
Cada sitio en el panel de monitoreo tiene un campo de texto libre de alerta (hasta 500 caracteres). Úsalo para dejar recordatorios para ti o tu equipo, como "Mantenimiento programado 25 de marzo" o "Esperando actualización de plugin." Las notas se guardan automáticamente mientras escribes.
Autenticación y seguridad
Toda la comunicación entre el panel y un sitio WordPress se autentica mediante la clave de licencia del sitio, enviada en la cabecera X-RakuWP-Key. Los endpoints del panel también están protegidos por tokens CSRF. Las direcciones IP en los registros de accesos soportan detección de múltiples cabeceras para entornos con proxy y CDN (Cloudflare, X-Forwarded-For, X-Real-IP).