WordPress.org

Plugin Directory

Vigilante – Suite de seguridad 100% gratis: Cortafuegos, 2FA, login, cabeceras, escáner…

Vigilante – Suite de seguridad 100% gratis: Cortafuegos, 2FA, login, cabeceras, escáner…

Descripción

Seguridad Premium. Coste cero.

Vigilante ofrece características de seguridad para WordPress de calidad empresarial de forma totalmente gratuita. Sin versión premium, sin ventas cruzadas, sin características ocultas tras muros de pago.

Protege tu web con un paquete de seguridad completo: cortafuegos, identificación en dos pasos, protección contra ataques de fuerza bruta, cabeceras de seguridad, exploración de integridad de archivos, detección de plugins cerrados, detección de malware, gestión de usuarios, registro de auditoría de seguridad, modo bajo ataque, verificación de sus propios archivos y mucho más.

Una vez activado, Vigilante aplica inmediatamente reglas de cortafuegos contra ataques habituales (inyección SQL, XSS, inclusión de archivos), cabeceras de seguridad, supervisión de intentos de acceso, bloqueo de XML-RPC, ocultación de la versión de WordPress y protección de archivos sensibles (.htaccess, wp-config.php).

Preajustes de seguridad con un clic

Elige un preajuste y protégete al instante:

Estándar – Seguridad equilibrada adecuada para la mayoría de los sitios web. Activa todos los módulos con valores por defecto razonables que no interfieren con el funcionamiento normal del sitio.

Máxima seguridad – Ajustes más estrictos para sitios de alta seguridad. Límites de tráfico más estrictos, reglas CSP más rigurosas, avisos de administración obligatorios. Algunas configuraciones pueden requerir cierta adaptación.

Siempre puedes personalizar los ajustes individuales después de aplicar un preajuste.

Modo «Bajo ataque»

¿Tu sitio web está siendo objeto de un ataque activo? Activa el modo «Bajo ataque» con un solo clic y detén el tráfico malintencionado al instante:

  • Desafío JavaScript: todos los visitantes deben pasar una verificación automática del navegador antes de acceder a tu sitio. Los navegadores auténticos lo resuelven en segundos, mientras que los bots quedan bloqueados por completo.
  • Límite de tráfico agresivo: se limitan las solicitudes a 30 por minuto, con bloqueos de 15 minutos para los infractores.
  • Restricción de métodos HTTP: solo se permiten GET, POST y HEAD. Se bloquean PUT, DELETE, PATCH, OPTIONS y TRACE.
  • Bloqueo de agentes de usuario vacíos: se rechazan las solicitudes sin cabeceras de agente de usuario.
  • Bloqueo total de XML-RPC durante el ataque
  • Restricción de la API REST: solo los usuarios identificados pueden acceder a la API REST.
  • Desactivación automática: El modo se apaga después de 4 horas para que nunca se te olvide que está activo
  • Avisos por correo electrónico cuando se active y desactive el modo
  • Cookies firmadas con HMAC: Los visitantes verificados reciben una cookie firmada para que solo vean el desafío una vez.

El modo «Bajo ataque» funciona de manera independiente de la configuración de tus preajustes. Tus ajustes habituales se conservan, y se restauran cuando se desactive este modo.

Identificación en dos pasos (2FA)

Añade un segundo paso de verificación a tu acceso a WordPress:

  • Aplicación de verificación (TOTP) – Google Authenticator, Authy, Microsoft Authenticator o cualquier aplicación compatible con TOTP
  • Códigos por correo electrónico – Códigos de verificación únicos de 6 dígitos enviados por correo electrónico
  • Configuración del código QR directamente en los perfiles de usuario
  • 10 códigos de recuperación para acceso de emergencia si pierdes tu dispositivo
  • Periodo de gracia configurable para que los usuarios configuren su aplicación de verificación
  • Dispositivos de confianza – Permite a los usuarios omitir la identificación en dos pasos en dispositivos reconocidos durante 30 días
  • Forzado basado en perfiles – requiere 2FA a administradores, editores o cualquier perfil
  • Excluir a usuarios específicos de los requisitos de 2FA
  • Herramienta de administración para restablecer el TOTP de los usuarios que hayan perdido su verificación
  • Caducidad del código, límite de intentos y nombre del remitente del correo electrónico configurables
  • Correos electrónicos de aviso a los usuarios cuando se activa el 2FA o se cambia de método

Protección con cortafuegos

Bloquea peticiones malintencionadas antes de que lleguen a WordPress:

  • Bloqueo de inyecciones SQL
  • Evitar ataques XSS (Cross-Site Scripting)
  • Protección frente a inclusión de archivos (LFI/RFI)
  • Bloqueo de exploración de directorios
  • Filtrado de cadenas de consulta malintencionadas (recoge patrones sospechosos genéricos que los bloqueadores específicos no detectan)
  • Detección y bloqueo de bots sospechosos
  • Bloquea peticiones con agente de usuario vacío
  • Limitación de peticiones para evitar ataques DDoS y de fuerza bruta, con bloqueos progresivos opcinales
  • Gestión de lista blanca y lista negra de IPs (IPv4 e IPv6, con rangos CIDR y comodines)
  • Lista blanca y lista negra de User-Agent con coincidencia parcial.
  • Control de detección de IP de visitantes: Lee la IP real directamente desde la conexión (valor por defecto a prueba de suplantaciones) o desde una cabecera de proxy cuando se está detrás de Cloudflare, un proxy inverso o un balanceador de carga, con un aviso al administrador si se detecta un proxy pero no está configurado.
  • Restricción de métodos HTTP
  • Protección de archivos del servidor mediante .htaccess: bloquea el acceso directo a wp-config.php, .htaccess, wp-includes/ y archivos sensibles (.log, .sql, .bak, .ini, debug.log, readme.html, etc.)
  • Bloquea la ejecución de PHP en /uploads (uno de los métodos de ataque tipo post más habituales)
  • Desactiva la navegación de directorios

Seguridad en el acceso

Frena los intentos de acceso no autorizados:

  • Límite de intentos de inicio de sesión con umbrales configurables
  • Bloqueos progresivos – bloqueos más largos para los infractores reincidentes
  • URL de inicio de sesión personalizada – oculta wp-login.php de los bots
  • Avisos de cambio de URL de inicio de sesión a todos los usuarios del área de admnistración
  • Ocultar mensajes de error en el inicio de sesión – no reveles nombres de usuario válidos
  • Control de XML-RPC: Déjalo activo, bloquea solo los métodos de pingback (recomendado, ya que cierra la vía de propagación mientras la aplicación móvil y Jetpack siguen funcionando), o desactívalo por completo.
  • Control de contraseñas de aplicación
  • Aviso por correo electrónico cuando se bloquea una IP por superar el límite de intentos de acceso
  • Avisos por correo electrónico de inicios de sesión de admins
  • Lista blanca de IPs para ubicaciones de confianza

Seguridad de usuarios

Protección integral de las cuentas de usuarios:

  • Bloquea nombres de usuario inseguros (admin, test, root, etc.) en los nuevos registros
  • Advierte de usuarios existentes con nombres de usuario inseguros para que puedas renombrarlos o eliminarlos
  • Bloquea la búsqueda de autores — Intercepta las URLs del tipo ?author=N para que WordPress no las redirija a /author/USERNAME/ y no se filtre el slug de acceso.
  • Forzar contraseñas seguras con longitud mínima
  • Caducidad de contraseñas con intervalos configurables
  • Historial de contraseñas – evita la reutilización de contraseñas anteriores
  • Forzar restablecimiento de contraseñas – Por usuarios específicos, por perfilo o a todos los usuarios (recuperación después de un hackeo)
  • Límites de sesión – controla los inicios de sesión simultáneos por usuario
  • Gestión de sesiones – ve y cierra sesiones activas
  • Verificación por correo electrónico de los nuevos registros
  • Procedimiento de aprobación de registros – aprueba manualmente los nuevos usuarios
  • Exploración de cuentas de admin – alertas ante nuevos admins, cambios de correo electrónico, cambios de contraseña, escalado de privilegios
  • Protección del nombre a mostrar – Impide revelar públicamente el nombre de usuario con el que se accede

Cabeceras de seguridad

Consigue una calificación A de seguridad:

  • Content Security Policy (CSP) con una política por defecto compatible con WordPress y el modo Report-Only para realizar pruebas de forma segura antes de aplicarla
  • HSTS (HTTP Strict Transport Security) con includeSubdomains y opciones de precarga
  • X-Frame-Options – evita el clickjacking
  • X-Content-Type-Options – evita la detección de MIMEs
  • Referrer Policy control
  • Política de permisos (cámara, micrófono, geolocalización, pagos, USB)
  • Políticas Cross-Origin (COEP, COOP, CORP)
  • Forzado de HTTPS con corrección automática de contenido mixto
  • Ocultación de la huella digital del servidor — Neutraliza la cabeceras Server:, X-Powered-By y otras cabeceras de huella digital de las respuestas

Supervisión de integridad de archivos

Detecta plugins vulnerables y cambios no autorizados en tus archivos:

  • El núcleo de WordPress contra las sumas de comprobación oficiales, más los archivos añadidos a wp-admin y wp-includes
  • Los plugins contra las sumas de comprobación de WordPress.org, los temas contra su paquete de WordPress.org
  • Todo lo que no tiene copia oficial (otros plugins y temas, plugins must-use, drop-ins, el resto de wp-content) se busca en busca de código oculto
  • Los archivos de configuración críticos (wp-config.php, .htaccess) se supervisan comparándolos con la versión de referencia, detecta inyecciones de código incluso en archivos sin suma de comprobación oficial
  • Detección de plugins cerrados y eliminados: una comprobación diaria contra WordPress.org marca cualquier plugin instalado que haya sido cerrado o eliminado discretamente, con opción de ignorar por plugin
  • Vista de diferencias lína a línea de los cambios, con un flujo de trabajo de aprobación por archivo
  • Detección de archivos adicionales en plugins y temas (archivos que no se encuentran en la distribución original)
  • Análisis de uploads en busca de PHP, dobles extensiones y archivos .htaccess
  • Qué suele ser cada hallazgo y qué hacer al respecto
  • Exploración del directorio raíz en busca de archivos PHP que no son de la instalación (una forma común de ataque)
  • Detección de ofuscación por concatenación de cadenas
  • Niveles de aviso configurables y lista de ignorados para descartar archivos conocidos
  • Rutas y extensiones de archivo excluidas
  • Exploraciones automáticas programadas (a diario, semanalmente)
  • Alertas por correo electrónico con formato HTML que incluyen secciones con el nivel de gravedad, entre las que se encuentra una sección específica para los plugins cerrados

Autoprotección

Un plugin de seguridad manipulado es peor que no tener ninguno, porque sigue indicando que todo va bien. Vigilant verifica sus propios archivos comparándolos con las sumas de comprobación que publica WordPress.org, un manifiesto SHA-256 incluido con el plugin y una huella digital de dicho manifiesto almacenada en la base de datos:

  • Al inicio de cada exploración de integridad, justo después de cada actualización y cuando la versión en disco cambia fuera del actualizador de WordPress
  • Cuando hay archivos modificados, ausentes y añadidos, enlaces simbólicos o un manifiesto reemplazado o borrado, se informa por correo electrónico con los ajustes por defecto
  • Sus propias tareas programadas se vigilan y se vuelven a programar si algo las elimina
  • Su propio bloque en «Integridad de archivos» y un análisis en la «Comprobación de seguridad», con lo que significa cada hallazgo y cómo solucionarlo, y sin forma de desactivarlo
  • Reparación con un solo clic que reinstala Vigilant desde WordPress.org, conservando tus ajustes, tablas y registros.

Detecta manipulaciones, no vulnerabilidades en el propio Vigilant. El archivo SECURITY.md explica qué cubre, qué no cubre y cómo verificar tu instalación desde fuera del servidor.

Auditoría de seguridad

Haz seguimiento de todo lo que pasa en tu sitio:

  • Intentos de inicio de sesión correctos y fallidos
  • Eventos de la identificación en dos pasos
  • Cambios en cuentas de usuarios (creación, borrado, cambios de perfil)
  • Modificaciones de contenido (entradas, páginas)
  • Activaciones/desactivaciones de plugins y temas
  • Eventos de seguridad y amenazas bloqueadas
  • Seguimiento y filtrado de métodos de solicitud HTTP (GET, POST, PUT, DELETE).
  • Ventana emergente con detalles de registro mejorados, con secciones agrupadas y acciones rápidas.
  • Añade con un solo clic una IP o un User-Agent a la lista blanca/lista negra del cortafuegos desde las entradas del registro.
  • Enlaces de búsqueda directa de IP a AbuseIPDB.
  • Período de retención configurable, exportación a CSV y filtrado por tipo de evento, gravedad, método de solicitud o fecha

Alertas de auditoría – Recibe un correo electrónico cuando el registro de auditoría señale algo que merezca tu atención. Están desactivadas por defecto y se configuran en la auditoría de seguridad:

  • Alertas inmediatas cuando se registra un evento grave, por gravedad mínima (un nuevo administrador, un plugin cerrado o un aumento de privilegios se registran como críticos)
  • Alertas con umbral cuando se produce un pico en una categoría (bloqueos del cortafuegos, errores de acceso, eventos de usuarios, plugins, integridad de archivos, seguridad, sistema y contenido) durante un intervalo de 30 minutos, 1, 6 o 24 horas, contando únicamente los eventos de advertencia y críticos, para que la actividad rutinaria nunca las active
  • Un intervalo de espera antirrepetición evita que una avalancha de eventos se convierta en un sinfín de avisos que inunden tu bandeja de entrada
  • Las alertas activas aparecen en «Ajustes y herramientas», el escritorio, el nivel de configuración y la comprobación de seguridad
  • Botón «Enviar correo electrónico de prueba» para confirmar el envío

Comprobación de seguridad

Auditoría de seguridad bajo demanda integrada en el escritorio. Sin servicios externos, sin cuentas, sin claves API – Todo se ejecuta en tu servidor:

  • Más de 50 comprobaciones en 6 categorías: SSL/TLS, cabeceras HTTP, exposición de WordPress, acceso e identificación archivos sensibles y comprobaciones internas
  • Puntuación de 0 a 100 con calificación de A a E, además de un desglose por categorías y detalles explicativos para cada comprobación
  • 16 comprobaciones internas exclusivas que no se pueden realizar desde el exterior: estado de fin de vida útil de PHP, actualizaciones pendientes, plugins inactivos, plugins cerrados o eliminados, autoprotección de Vigilante, permisos de archivos, detección de salts por defecto, prefijo de tabla wp_, nombre de usuario admin, administradores sin 2FA, estado de los módulos, errores de auditoría recientes, resultado de la última exploración de integridad de archivos y si están configuradas las alertas de auditoría
  • Verificación de reputación basada únicamente en DNS con Spamhaus ZEN, Barracuda BRBL y SpamCop SCBL (informativa — Los listados aparecen marcados, pero no afectan a la puntuación)
  • Exploración en dos fases: Las comprobaciones rápidas locales aparecen en menos de un segundo, las comprobaciones remotas aparecen a medida que se completan
  • Exploración semanal automática con alerta por correo electrónico opcional si la puntuación baja en 10 o más puntos o si una nueva comprobación crítica empieza a dar fallos
  • Historial de 30 exploraciones con gráfico de tendencia y puntos de referencia
  • Enlace de «Ir al ajuste» que se activa cada vez que falla una comprobación, y que lleva directamente al campo concreto de Vigilante que lo soluciona
  • Diagnóstico inteligente de cabeceras que informa «configurado pero no se está sirviendo» cuando una caché o una CDN anula tus cabeceras

Refuerzo de WordPress

Protección multinivel en WordPress — Administración, contenido, cabecera, feeds y base de datos:

  • Protege la administración: Desactiva el editor integrado de plugins y temas, impide instalaciones y actualizaciones desde el área de administración y fuerza HTTPS en esta área. Compatible con cualquier configuración de alojamiento, respetando los valores ya establecidos y sin sustituirlos nunca
  • Desactiva el cron interno de WordPress para el recuento de visitas cuando ya tengas configurada una tarea cron real en el servidor
  • Aviso en el escritorio cuando el modo de depuración sigue activado en producción, para que los mensajes de error nunca lleguen a los visitantes
  • Oculta tu versión de WordPress en todos los lugares donde pueda aparecer: encabezado HTML, feeds RSS y Atom y, si quieres, en todas las URL de scripts y hojas de estilo de la parte visible del sitio (quitando solo la versión de WordPress, sin afectar a la gestión de caché de los plugins y temas)
  • Eliminación diaria automática de archivos readme.html, license.txt y licencia.txt del directorio raíz de WordPress, los cuales podrían exponer tu versión
  • Limpieza del encabezado HTML — Elimina el enlace RSD, el manifest de Windows Live Writer, la cabecera de enlaces cortos y el enlace de descubrimiento de la API REST
  • Refuerzo de la base de datos — Comprobación de seguridad del prefijo de las tablas por defecto wp_, y herramienta de renombrado con un solo clic, con copia de seguridad completa antes del cambio
  • Seguridad en los comentarios — Campo señuelo contra bots de spam, moderación obligatoria para todos los comentarios nuevos, cierre de comentarios en entradas antiguas, desactivación de pingbacks y trackbacks
  • Gestión de feeds — Desactivar por completo los feeds RSS y Atom, o desactivarlos solo cuando el sitio no tenga contenido publicado

Seguridad de la API REST

Controla el acceso a la API en tu sitio:

  • Tres modos de acceso: público (comportamiento por defecto de WordPress), solo para usuarios identificados (cierra el acceso a la API a visitantes anónimos) o selectivo (listas personalizadas de usuarios permitidos y bloqueados)
  • Bloquea la enumeración de usuarios a traves de /wp-json/wp/v2/users
  • Protege cualquier lista de variables sensibles contra accesos anónimos
  • Opciones de compatibilidad por plugin para que el modo identificado no afecte a la parte pública de la web: WooCommerce, Contact Form 7, Gravity Forms, WPForms, Elementor, Jetpack. Las variables de oEmbed y la salud del sitio siguen estando disponibles por defecto

Herramientas de seguridad

Utilidades incluidas:

  • Copia de seguridad de la base de datos: descarga una copia de seguridad completa o parcial de la base de datos en formato ZIP con selección de tablas.
  • Cambio del prefijo de la base de datos: cambie el prefijo por defecto wp_ por un prefijo aleatorio seguro.
  • Ajustes de exportación/importación – Transfiere tu configuración entre sitios
  • Copia de seguridad de la configuración: descarga wp-config.php, .htaccess y robots.txt como un ZIP
  • Restablecer valores por defecto – Empieza desde cero con un solo clic

Seguro por principios

Vigilante valida .htaccess y wp-config.php antes de escribir en ellos, y no guarda ninguna copia de ellos, porque contienen la contraseña de tu base de datos: descarga primero una copia de seguridad desde «Ajustes y herramientas».

Desactivarlo elimina sus bloques de ambos archivos y recupera las líneas que había comentado. Desactiva el modo bajo ataque antes de desactivarlo.

Vigilant también revisa sus propios archivos y te explica cómo puedes comprobarlos tú mismo: cada versión incluye un archivo MANIFEST.sha256 que se puede verificar con sha256sum, y WordPress.org publica las mismas sumas de comprobación para que puedas compararlas.

¿Por qué usar Vigilante?

La mayoría de los plugins de seguridad para WordPress reservan sus mejores funcionalidades para los planes de pago. Vigilante te ofrece todo desde el principio — Sin planes premium, sin restricciones de características, sin ventas dirigidas. Cortafuegos, identificación en dos pasos con aplicación de verificación, cabeceras de seguridad, integridad de archivos, registro de auditoría, comprobación de seguridad con alertas semanales en caso de bajada y mucho más. Todo gratis, actualizándose constantemente y siguiendo los estándares de programación de WordPress.

Disponemos de una comparación detallada de las funcionalidades de Vigilante respecto a otros populares plugins de seguridad (Wordfence, Solid Security, AIOS, Sucuri, SG Security). Descubre qué ofrece cada uno en su versión gratuita y en qué aspectos Vigilante cubre carencias.

Ver la comparativa completa

Soporte

¿Necesitas soporte privado o un desarrollo personalizado?

¿Necesitas ayuda individualizada, resolución de problemas prioritaria o una funcionalidad, integración o adaptaciones personalizadas creadas específicamente para tu sitio? Ofrezco soporte privado y desarrollos personalizados. Solo tienes que contactarme y decirme qué necesitas.

¿Necesitas ayuda o tienes sugerencias?

¿Te gusta el plugin? ¡Déjanos un comentario de 5 estrellas y así ayudas a que lo conozcan otros!

Acerca de Ayuda WordPress

Somos especialistas en plugins de optimización de seguridad, SEO, IA y rendimiento para WordPress. Creamos herramientas que solucionan problemas reales a los propietarios de sitios WordPress manteniendo los más altos estándares de programación y requisitos de accesibilidad.

Capturas

Instalación

  1. Sube los archivos del plugin al directorio /wp-content/plugins/vigilante/, o instálalo directamente la pantalla de plugins de WordPress.
  2. Activa el plugin a través del menú ‘Plugins’ en WordPress
  3. Ve a ‘Vigilante’ en el menú de administración
  4. Aplica un preajuste de seguridad o personaliza los ajustes de cada módulo

Requisitos:

  • WordPress 6.2 o superior
  • PHP 7.4 o superior
  • Servidor Apache o LiteSpeed (para características de .htaccess)
  • Certificado SSL recomendado para HSTS

FAQ

¿Este plugin ralentizará mi sitio?

No. Vigilante está optimizado para ofrecer un rendimiento óptimo. El cortafuegos utiliza una eficiente comparación de patrones, las consultas a la base de datos se almacenan en caché con transitorios y las reglas .htaccess se ejecutan a nivel del servidor antes incluso de que se cargue PHP.

¿Qué pasa cuando activo el plugin?

Vigilante aplica sus ajustes predeterminados: todos los módulos activados, con valores equilibrados para la mayoría de los sitios. En Apache y LiteSpeed eso escribe dos bloques en .htaccess, y escribe un bloque de constantes en wp-config.php.

Si wp-config.php ya define DISALLOW_FILE_EDIT, DISALLOW_FILE_MODS, FORCE_SSL_ADMIN, FORCE_SSL_LOGIN, DISABLE_WP_CRON, WP_DEBUG, WP_DEBUG_LOG, WP_DEBUG_DISPLAY o SCRIPT_DEBUG, Vigilante comenta esa línea, la marca y establece el valor desde sus propios ajustes en «WordPress». Si dependes de una de ellas, revisa esa pestaña después de activarlo. Tus líneas vuelven cuando lo desactivas.

Vigilante no guarda ninguna copia de esos dos archivos. Si quieres una, hazla antes de activarlo.

¿Qué pasa cuando desactivo el plugin?

Vigilante elimina sus bloques de «Protección» y «Cabeceras de seguridad» de .htaccess, elimina sus constantes de wp-config.php, recupera las líneas que había comentado allí y borra sus tareas programadas.

Dos cosas que debes saber:

  • Desactiva primero el modo bajo ataque. Su bloque en .htaccess se elimina cuando termina el modo, no al desactivarlo.
  • Si eliminas la carpeta del plugin por FTP en lugar de desactivarlo, no se revierte nada: elimina a mano los bloques entre los marcadores de Vigilante.

¿Cómo funciona la identificación en dos pasos?

Vigilante ofrece dos métodos de identificación en dos pasos (2FA). Con aplicación de verificación (TOTP), debes escanear un código QR en tu perfil para vincular una aplicación como Google Authenticator o Authy, y luego introducir un código de 6 dígitos de la aplicación cada vez que inicies sesión. Con los códigos por correo electrónico recibirás un código de un solo uso por correo electrónico tras introducir tu contraseña. Si lo activa el administrador del sitio, puedes marcar tu dispositivo como de confianza para saltarte la identificación en dos pasos durante 30 días.

¿Qué pasa si pierdo mi teléfono o el acceso a la aplicación de verificación?

Al configurar el TOTP de Vigilante, el plugin genera 10 códigos de recuperación. Puedes utilizar cualquiera de ellos como sustituto puntual del código de identificación. Si te quedas sin códigos de recuperación, un administrador puede restablecer tu TOTP desde los ajustes del plugin.

¿Qué pasa si no recibo el código 2FA por correo electrónico?

Comprueba primero tu carpeta de correo no deseado. Puedes hacer clic en «Reenviar código» en el formulario de verificación. Los códigos caducan tras 10 minutos por defecto. Si el problema persiste, un administrador puede desactivar temporalmente la identificación en dos pasos desde los ajustes del plugin.

¿Puedo cambiar entre correo electrónico y aplicación de verificación?

Sí. Ve a «Seguridad en el acceso > Identificación en dos pasos» y cambia el método de verificación. Si están activos los avisos, los usuarios afectados recibirán un correo electrónico en el que se explica el nuevo método y cómo configurarlo.

¿Qué perfiles de usuario requieren 2FA?

Por defecto, la identificación en dos pasos (2FA) se aplica a los administradores y editores. Puedes personalizar qué perfiles requieren 2FA en los ajustes de seguridad del inicio de sesión y excluir a usuarios específicos individualmente.

¿Cómo puedo recuperarme si me han bloqueado el acceso?

Acceda a tu sitio web a través de FTP/SFTP y cambia el nombre de la carpeta del plugin para desactivarlo temporalmente, o elimina las filas de la tabla vigilante_login_attempts correspondientes a tu dirección IP en la base de datos.

¿El cortafuegos bloqueará a los usuarios legítimos?

El cortafuegos está configurado para permitir el funcionamiento normal de WordPress, incluyendo el editor de bloques, la API REST y los maquetadores más populares. Si experimentas problemas puedes añadir direcciones IP específicas a la lista blanca o ajustar los umbrales de limitación de tráfico.

Bloquear bots sospechosos también detiene a los rastreadores de SEO (Ahrefs, Semrush, Majestic, Screaming Frog) y a los clientes de línea de comandos (curl, wget, python-requests). Para dejar pasar a uno de ellos, añade su nombre a la lista blanca de User-Agent.

¿Por qué falta una solicitud bloqueada en la auditoría de seguridad?

Las solicitudes se bloquean en dos lugares:

  • Las reglas en .htaccess (bots maliciosos, cadenas de consulta sospechosas, métodos HTTP inusuales, archivos protegidos) responden 403 antes de que se cargue WordPress, así que no se registra nada.
  • El cortafuegos de PHP registra lo que bloquea. «Bot sospechoso bloqueado» muestra la entrada de la lista que coincidió; el User-Agent completo está en su propia columna.

Una página servida por una caché de página o un CDN no llega a ninguno de los dos. Lee el registro como un mínimo, no como un recuento de cada ataque.

¿Puedo usarlo con otros plugins de seguridad?

Aunque Vigilante funciona de forma independiente, ejecutar varios plugins de seguridad puede provocar conflictos. Recomendamos probar primero en un entorno de pruebas si necesitas combinar soluciones de seguridad.

¿Funciona con plugins de caché?

Sí. Vigilante es compatible con los plugins de caché más populares. El cortafuegos se ejecuta antes que las capas de caché, y las reglas .htaccess no interfieren con los mecanismos de caché.

¿Funciona con WooCommerce?

Sí. Vigilante incluye ajustes de compatibilidad para WooCommerce. El módulo de seguridad REST API permite automáticamente las variables de WooCommerce, y el cortafuegos no bloqueará las conexiones de la pasarela de pago.

¿Cómo puedo comprobar mis cabeceras de seguridad?

Usa la herramienta de prueba de cabeceras integrada en la pestaña «Cabeceras de seguridad» o visita securityheaders.com con la URL de tu sitio para obtener una calificación de seguridad.

¿Qué es la comprobación de seguridad?

La comprobación de seguridad es una auditoría bajo demanda integrada en el escritorio. Realiza más de 50 comprobaciones en 6 categorías (SSL/TLS, cabeceras HTTP, exposición de WordPress, acceso e identificación archivos sensibles y comprobaciones internas) y ofrece una puntuación del 0 al 100 con puntuación de A a E. A diferencia de los escáneres externos online, se ejecuta íntegramente en tu servidor y tiene acceso a 16 comprobaciones internas exclusivas: estado de fin de vida útil de PHP, actualizaciones pendientes, plugins cerrados/eliminados, autoprotección de Vigilante, permisos de archivos, detección de salts por defecto, administradores sin 2FA activada y mucho más.

¿La comprobación de seguridad en vía mis datos a algún servicio externo?

No. Todas las comprobaciones se ejecutan en tu servidor. El único tráfico externo son tres consultas DNS contra listas negras públicas (Spamhaus, Barracuda, SpamCop) para la categoría de reputación: consultas DNS estándar sin autenticación, sin claves de API, y no se envía nada más allá de la dirección IP de tu sitio.

¿Qué mide la puntuación de la comprobación de seguridad?

Suma los puntos de cada comprobación aprobada, de entre todas las comprobaciones que podría realizar.

  • Algunas comprobaciones se realizan en el sitio real: HTTPS, las cabeceras que recibe el navegador y los archivos a los que no se debería poder acceder.
  • Otros interpretan un parámetro de Vigilante, como la URL de acceso personalizada, el límite de intentos de acceso o la identificación en dos pasos. Estos parámetros se tienen en cuenta mientras el módulo que los aplica está activado, y te indican si está activado, pero no si una CDN o tu proveedor de alojamiento modifican el resultado.
  • Una comprobación que no se haya podido realizar (por ejemplo, porque el sitio no ha respondido a tiempo) no se incluye en la puntuación y se considera como no medida.

La letra sigue una escala: A equivale a 100, B a partir de 85, C a partir de 70, D a partir de 50 y E por debajo. El panel de control también muestra la configuración de Vigilante, con una barra sin letras: solo cuenta lo que está activado, por lo que las dos cifras pueden diferir.

¿Cuán a menudo debería realizar la comprobación de seguridad?

Ejecútala manualmente tras cualquier cambio importante (actualización de un plugin, migración de servidor, configuración de un nuevo perfil de usuario). Para una supervisión continua activa la exploración automática semanal desde el widget. Solo recibirás un correo electrónico si la puntuación baja 10 puntos o más, o si una nueva comprobación crítica empieza a fallar — así que no recibirás spam de exploraciones rutinarias.

¿Qué es la caducidad de contraseñas?

Puedes requerir a los usuarios que cambien sus contraseñas tras un número determinado de días (30, 60, 90, etc.). Se avisa a los usuarios antes de que caduque. Una vez que caduque se les redirige a su perfil para que establezcan una nueva antes de poder realizar cualquier otra acción. El historial de contraseñas impide reutilizar contraseñas recientes.

¿Qué es la aprobación de registros?

Cuando está activada, los nuevos registros de usuarios requieren la aprobación manual de un administrador antes de que la cuenta se active. Los usuarios pendientes no pueden iniciar sesión hasta que sean aprobados. Puedes configurar el rechazo automático después de un número determinado de días.

¿Qué hace la verificación por correo electrónico?

Los nuevos usuarios deben verificar su dirección de correo electrónico haciendo clic en un enlace antes de que su cuenta se active. Esto evita registros falsos y garantiza que la información de contacto sea válida.

¿Cómo funcionan los límites de sesión?

Puedes limitar el número de sesiones simultáneas que puede tener cada usuario. Cuando se alcanza el límite se bloquea el nuevo inicio de sesión o se cierra la sesión más antigua, dependiendo de tu configuración.

¿Puedo exportar el registro de auditoría de seguridad?

Sí. El registro de la auditoría de seguridad se puede exportar a formato CSV para su análisis externo o para la elaboración de informes de cumplimiento. También puedes filtrar los registros por tipo de evento, usuario o intervalo de fechas antes de exportarlos.

¿Qué eventos se envían por correo electrónico?

Cada evento se registra como «Información», «Advertencia» o «Crítico». Por correo electrónico recibes:

  • Alertas de la auditoría de seguridad: eventos críticos por defecto, como un plugin cerrado. Elige «Advertencia y crítico» para recibir más.
  • Supervisión de administradores, en «Usuarios»: un administrador nuevo, un cambio de perfil a administrador y cambios en el correo electrónico o la contraseña de un administrador. Cada uno tiene su propia casilla de verificación.
  • Integridad de archivos: los hallazgos de cada análisis, según el nivel que hayas elegido.
  • Autoprotección: siempre, cuando cambian los propios archivos de Vigilante.

¿Qué archivos revisa el escáner de integridad?

Comprueba:

  • El núcleo de WordPress, contra las sumas de comprobación que publica WordPress.org, más cualquier archivo añadido a wp-admin o wp-includes.
  • Los plugins de WordPress.org, contra sus sumas de comprobación.
  • Los temas de WordPress.org, contra el paquete que WordPress.org publica para la versión instalada. Se descarga una vez por versión.
  • En ambos, los archivos que han cambiado, los archivos que faltan y los archivos PHP que no están en la copia publicada.
  • Los plugins y temas de cualquier otro origen, los plugins must-use y los drop-ins (advanced-cache.php, object-cache.php y similares). No hay copia oficial de ellos, así que se busca en ellos código ofuscado.
  • El directorio de subidas, por PHP y otros scripts, dobles extensiones, archivos .htaccess y archivos de configuración de PHP.
  • Las demás carpetas de wp-content (languages, upgrade y similares), por código oculto en sus archivos PHP, a menos que estén en Rutas excluidas. Un archivo de traducción solo debe contener texto.
  • La raíz del sitio, wp-content y la carpeta de plugins, por archivos sueltos que no pertenecen ahí, copias de seguridad dejadas al alcance y un .user.ini o php.ini que carga otro archivo.
  • wp-config.php y .htaccess, por cualquier cambio desde la última vez que los aprobaste.

Los resultados indican lo que no se ha podido comparar. Para esos, un resultado limpio significa que no se ha encontrado código oculto, no que cada archivo sea el original. Un archivo PHP demasiado grande para analizarlo (más de 8 MB) se lista como no analizado.

¿Qué significan los hallazgos de integridad de archivos?

  • Modificado: el archivo no coincide con la copia en WordPress.org. Normalmente una actualización que no terminó o una edición manual. Reinstalar el plugin, el tema o WordPress lo soluciona.
  • Sospechoso: código donde no se espera ninguno (PHP en uploads o en la raíz del sitio) o código ofuscado. Las infecciones reales acaban aquí, y también los archivos de caché o de plantillas que generan algunos plugins.
  • Adicional: un archivo que WordPress, el plugin o el tema no incluyen. A menudo legítimo. Una copia de wp-config.php o un volcado de la base de datos en la raíz del sitio debería moverse fuera.
  • Configuración crítica: wp-config.php o .htaccess han cambiado desde la última vez que los aprobaste.
  • Cerrado o eliminado: WordPress.org cerró el plugin. Sustitúyelo.

He recibido un correo electrónico diciendo que wp-config.php o .htaccess han cambiado. ¿Me han hackeado?

Normalmente no. Los plugins de caché, seguridad y redirección reescriben sus propios bloques en esos archivos, a menudo en cada actualización, y Vigilante informa de cada cambio que no ha hecho él mismo.

Abre Integridad de archivos, pulsa «Revisar cambios» y lee las líneas. Si pertenecen a un plugin que usas, pulsa Aprobar: eso registra el contenido actual como referencia y no toca el archivo. Las líneas que no puedas explicar necesitan un examen más detallado, sobre todo las que cargan un archivo (auto_prepend_file, include) o envían solicitudes a un archivo PHP.

Recibes ese correo electrónico una vez por cambio, no después de cada análisis. El cambio permanece en la lista de Integridad de archivos hasta que lo apruebes.

El análisis sigue informando de archivos que están bien. ¿Qué puedo hacer?

  • Ignorar oculta un archivo.
  • Para una carpeta donde un plugin sigue generando PHP (plantillas compiladas, cachés), añade la carpeta a las rutas excluidas, por ejemplo wp-content/uploads/cache.
  • Si el análisis dice que se le agotó el tiempo en una carpeta de wp-content, como una caché muy grande, añade esa carpeta también a las rutas excluidas.
  • Un .htaccess dentro de uploads que solo deniega el acceso protege esa carpeta, y no se reporta. WooCommerce escribe varios.

¿Qué escribe Vigilante en .htaccess y wp-config.php?

En Apache y LiteSpeed, dos bloques en .htaccess, entre las líneas # BEGIN Vigilante Protection y # END Vigilante Protection, y # BEGIN Vigilante Security Headers y # END Vigilante Security Headers. Mientras el modo Bajo ataque está activado hay un tercero, # BEGIN Vigilante Under Attack.

En wp-config.php, un bloque entre /* BEGIN Vigilante Security Constants */ y /* END Vigilante Security Constants */, y el prefijo // [VIGILANTE_ORIGINAL] en cualquier línea tuya que definiera una de las mismas constantes.

Vigilante escribe estos bloques cuando guardas sus ajustes y después de que se actualice, no entre medias. Si otro plugin o una persona elimina uno, vuelve a guardar esa pestaña para escribirlo de nuevo.

He actualizado desde una versión en la que el archivo wp-config.php se almacenaba en la base de datos. ¿Hay que hacer algo más?

Las versiones anteriores guardaban una copia del archivo wp-config.php en una opción para que el análisis de integridad pudiera mostrar qué líneas habían cambiado, y esa copia contenía la contraseña de la base de datos y las ocho claves de autenticación y sales. La actualización elimina esa copia, pero ninguna actualización puede revertir una filtración que ya se haya producido. Por lo tanto, si tu base de datos, o cualquier copia de seguridad de la misma, pudiera haber sido leída por otra persona mientras esa copia estaba almacenada, sustituye las ocho claves y sales de tu archivo wp-config.php por otras nuevas obtenidas del servicio de claves secretas de WordPress.org, y cambia la contraseña de la base de datos si tu proveedor de alojamiento te lo permite. Al sustituir las sales, se cerrará la sesión de todos los usuarios, incluido tú mismo, que es precisamente el objetivo de hacerlo.

¿Un análisis comprueba siempre todo el sitio?

No en uno muy grande. Un análisis se ejecuta durante 60 segundos como máximo y empieza desde el principio cada vez. Con muchos plugins, una carpeta de subidas grande o una caché grande, puede que no llegue a todos los plugins y temas, y es la misma parte la que se omite en cada análisis.

  • Integridad de archivos indica cuándo el último análisis fue parcial, y nombra los plugins, los temas y las áreas a las que no llegó. El correo electrónico del análisis también lo indica.
  • La comprobación de seguridad no cuenta un análisis parcial como uno limpio.
  • Si el servidor detiene el análisis antes de que termine, o WordPress no ejecuta sus tareas programadas, no se guarda nada. Integridad de archivos y la comprobación de seguridad indican entonces que ninguna exploración ha terminado desde la fecha mostrada.
  • Para comprobar lo que se ha omitido, Integridad de archivos lista las carpetas que el análisis sí comprobó: añádelas a las rutas excluidas, ejecuta una exploración manual y quítalas de nuevo.
  • Mientras la carpeta entera de un plugin o de un tema, o la carpeta de subidas, esté en las rutas excluidas, integridad de archivos y la comprobación de seguridad lo siguen indicando: ninguna exploración mira dentro de ella.
  • Añadir a las rutas excluidas las carpetas grandes que no necesitan comprobarse deja más tiempo para el resto.

¿Con qué frecuencia se ejecuta la auditoría de archivos?

Puedes configurar análisis automáticos para que se ejecuten a diario o semanalmente. También puedes ejecutar análisis manuales cuando quieras. Las notificaciones por correo electrónico admiten tres niveles: todos los hallazgos, solo los hallazgos graves (archivos sospechosos y adicionales, cambios en wp-config.php o .htaccess y plugins cerrados), o desactivadas. El correo electrónico se envía cuando un análisis encuentra algo nuevo, así que un hallazgo del que ya se te informó no se repite.

¿Cómo puedo saber si el propio Vigilant no ha sido manipulado?

Vigilante verifica sus propios archivos contra las sumas de verificación que WordPress.org publica para tu versión, el archivo MANIFEST.sha256 incluido con el plugin y una huella de ese manifiesto guardada en tu base de datos. El resultado aparece en «Integridad de archivos», con los resultados de la última exploración, y en la «Comprobación de seguridad». Para comprobarlo desde fuera de WordPress, ejecuta wp plugin verify-checksums vigilante, o php bin/verify-manifest.php dentro de la carpeta del plugin, que además informa de los archivos añadidos y acepta los finales de línea reescritos por el proveedor de alojamiento. SECURITY.md lista todas las opciones.

¿Qué es el archivo MANIFEST.sha256?

Una lista de la suma de verificación SHA-256 de cada archivo del plugin, en el formato estándar de la herramienta sha256sum, generada como último paso de cada versión. Es lo que permite a Vigilante, y a ti, detectar un archivo modificado incluso cuando no se puede contactar con WordPress.org. readme.txt y changelog.txt no figuran en ella, porque WordPress.org permite actualizarlos sin una nueva versión.

Vigilante dice que sus tareas programadas han desaparecido. ¿Qué debería hacer?

Normalmente nada. Vigilante ya las ha programado de nuevo, y el aviso no se refiere a archivos modificados.

  • El mismo WordPress elimina una tarea programada cuando no puede guardar su próxima ejecución, por ejemplo, si la base de datos no responde en ese momento.
  • Un plugin de limpieza o de optimización puede eliminar eventos programados: excluye aquellos cuyo nombre empiece por «vigilante_».
  • El aviso desaparece por sí solo al cabo de una semana si no falta ninguna tarea.
  • Cambia a crítico si la misma tarea ha desaparecido tres veces en una semana o cuatro veces en un mes: algo la está eliminando. Busca el plugin o el proceso del alojamiento que lo esté haciendo y, si no lo encuentras, revisa los plugins instalados recientemente y las cuentas de administrador.

¿Detecta la autoprotección vulnerabilidades en Vigilante?

No. Detecta que los archivos de Vigilante han sido modificados, borrados o añadidos, no fallos en su código. Las vulnerabilidades se corrigen en nuevas versiones, así que mantén Vigilante actualizado e informa de cualquiera que encuentres como explica SECURITY.md.

¿Cuál es la diferencia entre los preajustes estándar y máximo?

El nivel estándar aplica ajustes equilibrados adecuados para la mayoría de los sitios. El nivel máximo aplica reglas más estrictas: límites de tráfico más bajos, políticas de CSP más estrictas, avisos de administración obligatorios, límites de sesión y un refuerzo más agresivo. El nivel máximo puede requerir adaptaciones para sitios con funcionalidades complejas.

¿Dónde se almacenan las copias de seguridad?

En ningún lugar del servidor. La copia de seguridad de la configuración (wp-config.php, .htaccess y robots.txt) es un ZIP creado al vuelo y enviado a tu navegador, y Vigilante no guarda ninguna copia de esos archivos, porque contienen la contraseña de tu base de datos y otros secretos. Una copia de seguridad de la base de datos que descargas se genera como un ZIP temporal con un nombre imposible de adivinar y se elimina justo después de la descarga.

¿Qué es el modo Bajo ataque?

El modo «Bajo ataque» es una característica de emergencia que puedes activar cuando tu sitio web está sufriendo un ataque activo. Añade un desafío JavaScript que los navegadores auténticos resuelven automáticamente en unos segundos, mientras que los bots y los scripts automatizados quedan bloqueados por completo. También aplica una limitación de velocidad agresiva, bloquea los métodos HTTP restringidos y restringe el acceso a la API.

¿El modo «Bajo ataque» afectará a los usuarios que hayan iniciado sesión?

No. Los usuarios que han iniciado sesión, las páginas de administración, las tareas cron, las solicitudes AJAX y la página de inicio de sesión están excluidos del desafío JavaScript. Solo los visitantes no identificados que visiten la web ven la página de verificación.

¿Qué pasa si se me olvida desactivar el modo «Bajo ataque»?

Se desactiva automáticamente después de 4 horas. También recibirás un aviso por correo electrónico cuando se active y se desactive.

¿El modo «Bajo ataque» cambia mis ajustes de seguridad habituales?

No. Funciona independientemente de tus preajustes (estándar o máximo). Tus ajustes habituales no se ven afectados y siguen funcionando con normalidad una vez que se desactiva el modo «Bajo ataque».

¿Cómo funciona la copia de seguridad de la base de datos?

Ve a «Vigilante > Herramientas > Copia de seguridad de la base de datos». Selecciona las tablas que quieras incluir (o deja todas seleccionadas) y, a continuación, haz clic en «Descargar». La copia de seguridad se genera como un archivo ZIP temporal con un nombre imposible de adivinar, se envía a tu navegador y se elimina del servidor inmediatamente después de la descarga.

¿Qué ocurre al cambiar el prefijo de la base de datos?

WordPress utiliza wp_ como prefijo por defecto para las tablas. Cambiarlo por un prefijo aleatorio añade una capa de protección contra los ataques de inyección SQL que tienen como objetivo los nombres de tabla por defecto. Ve a «Vigilante > Refuerzo de WP > Refuerzo de la base de datos». Crea siempre una copia de seguridad antes de cambiar el prefijo.

¿Cómo excluyo del cortafuegos servicios de gestión como ModularDS o ManageWP?

Ve a «Vigilante > Cortafuegos > Listas de User-Agent» y añade el nombre del servicio (por ejemplo, ModularDS, ManageWP UptimeRobot) a la lista blanca de User-Agent. Utiliza la coincidencia parcial, por lo que al introducir « ModularConnector» se aplicará a cualquier cadena de User-Agent que contenga esa palabra clave.

Si también utilizas una URL de acceso personalizada, añade también la dirección IP del escritorio de administración a la lista blanca de IPs del cortafuegos. Algunas operaciones (por ejemplo, la instalación de una actualización de un plugin desde MainWP) acceden a wp-admin sin una sesión de WordPress y con un agente de usuario genérico de WordPress en lugar del nombre del servicio, por lo que la regla de User-Agent por sí sola no las detectaría. Una IP incluida en la lista blanca puede superar la protección del login/wp-admin oculto (y aún así debe verificarse).

¿Puedo enviar avisos de seguridad a alguien que no sea el administrador del sitio?

Sí. Ve a «Vigilante > Ajustes y herramientas > Ajustes de avisos». Puedes añadir destinatarios de correo electrónico adicionales (uno por línea) y, si lo deseas, desmarcar el correo electrónico de administración de WordPress. Esto resulta útil para profesionales de mantenimiento que gestionan varios sitios web y necesitan recibir todas las alertas de seguridad.

¿Puedo personalizar los destinatarios de los avisos como quiera?

Sí. Utiliza el filtro vigilante_notification_recipients. Este filtro recibe y devuelve una lista de direcciones de correo electrónico que se utilizan para todos los avisos administrativos:

add_filter( 'vigilante_notification_recipients', function( $recipients ) {
    $recipients[] = 'security-team@example.com';
    return $recipients;
} );

Reseñas

9 de octubre de 2026 1 respuesta
Un gran plugin de seguridad, con bastantes más opciones que otros de pago. Además no ocupa mucho y no se nota en lo que a rendimiento del sitio se refiere. Para colmo, responde en el foro de soporte antes de que puedas cerrar sesión y hacer otras cosas. ¡No se puede pedir más! Gracias, Fernando.
22 de septiembre de 2026 1 respuesta
Hola que tal me interesa mucho probar el plugin pero cuando elijo un presets que se supone que al usarlo deberia no aparecer mas errores despues de volver a escanear, me siguen saliendo errores que aun no se han solucionado, algo estoy haciendo mal?
11 de septiembre de 2026 1 respuesta
Posiblemente el mejor plugin de seguridad que existe actualmente. Simple, liviano, efectivo… Y gratis. Más no se puede pedir. Un trabajo excelente por parte de Fernando, como siempre. Muchísimas gracias por el trabajo.
15 de agosto de 2026 1 respuesta
I'm impressed by the scope and ease of use of this plugin. It has pointed out quite a few weak points in my website security which I have subsequently fixed. For a free plugin, Vigilant is surprisingly comprehensive and excellent!
13 de julio de 2026 1 respuesta
Fernando está haciendo un gran trabajo con este plugin. Contiene casi todas las funcionalidades de todos los plugins que existen para WordPress relacionados con seguridad, y sin coste para la comunidad. Os animo a probar todos los plugins que Fernando desarrolla y podéis encontrar en el repositorio de WordPress, merecen mucho la pena. ¡Gracias Fernando por ser una joya para la comunidad WordPress!
Leer todas las 21 reseñas

Colaboradores y desarrolladores

«Vigilante – Suite de seguridad 100% gratis: Cortafuegos, 2FA, login, cabeceras, escáner…» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

«Vigilante – Suite de seguridad 100% gratis: Cortafuegos, 2FA, login, cabeceras, escáner…» está traducido en 3 idiomas. Gracias a los traductores por sus contribuciones.

Traduce «Vigilante – Suite de seguridad 100% gratis: Cortafuegos, 2FA, login, cabeceras, escáner…» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

3.0.7

Las tareas programadas se ejecutan de nuevo cuando una tarea cron llama a wp-cron.php mediante su dirección. Al guardar en «Refuerzo de WP», ya no se daña el archivo wp-config.php que contiene una definición que ocupa varias líneas, y ya no se puede acceder al código PHP de las subidas de archivos mediante las tres formas que se saltaban la regla.

  • Mejorado: La fila de la comprobación de seguridad relativa a wp-cron.php es meramente informativa y ya no suma puntos. Una solicitud a ese archivo solo ejecuta las tareas programadas que ya han caducado, por lo que es normal que wp-cron.php sea accesible. Cuando el servidor la rechaza, la fila indica que una tarea cron que llame a su dirección obtiene la misma respuesta. Un informe guardado antes de la actualización muestra esa fila sin puntos hasta el siguiente análisis. Con esta mejora, el total de la comprobación de seguridad es un punto menor.
  • Corrección: «Proteger wp-cron.php» denegaba todas las solicitudes dirigidas a wp-cron.php, incluidas las tareas cron de un servidor que accedía a su dirección mediante wget, curl o el cron de un panel de alojamiento, y las tareas programadas dejaban de ejecutarse. La opción ha sido retirada y Vigilante retira su regla del archivo .htaccess cuando reescribe sus reglas tras la actualización. Si el archivo no se puede reescribir, la fila de «Comprobación de seguridad» relativa a wp-cron.php indica que el servidor lo rechaza. Las tareas cron que ejecutan wp-cron.php con PHP nunca se vieron afectadas y, en esos sitios, se puede volver a acceder a wp-cron.php, lo que solo permite a cualquiera ejecutar las tareas que ya están programadas.
  • Corrección: La función «Bloquear bots sospechosos» bloqueaba una tarea programada que llamaba a wp-cron.php mediante wget (en el archivo .htaccess) o mediante curl, por lo que, en un servidor configurado de esa manera, las tareas programadas no se ejecutaban. Ahora, esa lista permite el paso de las solicitudes dirigidas a wp-cron.php. El resto de reglas del cortafuegos siguen aplicándose a dichas solicitudes.
  • Corrección: Con el módulo «Cortafuegos» desactivado, el bloque de Vigilante del archivo .htaccess mantenía vigentes las reglas del cortafuegos: bots peligrosos, cadenas de consulta sospechosas, métodos HTTP, wp-config.php, archivos sensibles, listado de directorios y código PHP en las carpetas «uploads», «wp-includes», «plugins» y «themes». Ahora solo aplica las reglas de «Identidad del servidor» de la pestaña «Cabeceras de seguridad» mientras estas estén activadas, y desaparece cuando ambas están desactivadas. En los sitios en los que el módulo está desactivado, el bloque se reescribe al actualizar.
  • Corrección: Al importar ajustes con el módulo «Cortafuegos» desactivado, se eliminaba ese bloque de .htaccess incluso cuando las opciones «Firma del servidor» o «Quitar cabeceras de huellas digitales» lo requerían, y al desactivar y volver a activar Vigilante, tampoco se incluía en ese mismo caso. Ahora, la actualización tras una actualización también elimina un bloque que nadie solicita, al igual que ocurre al guardar.
  • Corrección: En las instalaciones de WordPress en una subcarpeta o en una red mediante subdirectorios, una Content Security Policy restrictiva también afectaba al panel de administración, ya que la excepción correspondiente solo se aplicaba a /wp-admin en la raíz del dominio. Ahora se aplica a /wp-admin como carpeta en cualquier parte de la dirección, y ya no afecta a las direcciones de raíz que simplemente empiezan por /wp-admin, como /wp-admin-tips/.
  • Corrección: En PHP 8, con la característica «Bajo ataque» activada, un visitante podía provocar un error fatal en la página de desafío enviando su campo de redirección en forma de lista, y lo mismo ocurría con redirect_to cuando se iniciaba un inicio de sesión con identificación en dos pasos Ahora ambos son de solo lectura como texto.
  • Corrección: Cuando el bloque de WordPress del archivo .htaccess había perdido la línea END, el aviso y la entrada del registro indicaban que un bloque de Vigilante no funcionaba correctamente. Ahora mencionan el bloque de WordPress.
  • Corrección: Al guardar la pestaña «Refuerzo WP» con un define() de wp-config.php escrito en varias líneas, como WP_DEBUG, solo se comentaba la primera línea y se dejaba el archivo con un error de sintaxis que provocaba la caída del sitio. Ahora se comentan todas las líneas. Se deja tal cual cualquier define() que comparta línea con otro código, y Vigilante nunca escribe en wp-config.php a menos que el resultado sea código PHP válido.
  • Corrección: Al guardar en «Refuerzo de WP» se comentaban las constantes del propietario que gestiona Vigilante, como DISALLOW_FILE_MODS, DISABLE_WP_CRON, FORCE_SSL_ADMIN o WP_DEBUG_LOG, incluso cuando su ajuste estaba desactivado, por lo que dejaban de aplicarse sin que hubiera nada en su lugar. Ahora solo se comentan las constantes que define el bloque de Vigilante. En los casos en los que esto ya había ocurrido, vuelven a aparecer la próxima vez que se guarde esa pestaña.
  • Corrección: Vigilante escribía en wp-config.php hasta cuatro veces seguidas para aplicar esos ajustes, por lo que, si se producía un error a mitad del proceso, el archivo quedaba modificado. Ahora prepara todo el cambio, escribe el archivo una sola vez con un bloqueo y lo vuelve a leer; si la operación de escritura se interrumpe, restaura el contenido anterior.
  • Corrección: La regla que bloquea PHP en las subidas podía eludirse de tres formas: una ruta tras el nombre del archivo (file.php/loquesea) ejecutaba el archivo; otra variante de mayúsculas y minúsculas (file.PHP) mostraba su código fuente o lo ejecutaba, dependiendo del servidor; y un archivo .htaccess con sus propias reglas de rewrite en una carpeta de subidas (que escriben los plugins de imágenes) desactivaba la regla por debajo de él. En Apache 2.4, ahora funciona correctamente en los tres casos, y también cubre las extensiones .php7, .php8 y .phps. El aviso de integridad de archivos sobre ese archivo .htaccess indica ahora que solo desactiva la regla fuera de Apache 2.4.
  • Corrección: Cada vez que Vigilante generaba sus reglas .htaccess, eliminaba los bloques denominados # BEGIN SECURITY HEADERS, # BEGIN 8G FIREWALL y # BEGIN ADDITIONAL PROTECTIONS, al considerarlos restos de una versión anterior. Ninguna versión de Vigilante los generaba: suelen ser reglas copiadas de una guía o creadas por otro plugin, y ahora se mantienen.
  • Corrección: Al activar o desactivar la opción «Bajo ataqie», en «Integridad de archivos» se mostraba un cambio en el archivo .htaccess, y no se comprobaba si faltaba un marcador en dicho bloque antes de que Vigilante escribiera ese archivo.

3.0.6

Ahora Vigilante te avisa cuando no puede escribir en wp-config.php o en .htaccess. Hasta ahora, al guardar se indicaba que los ajustes se habían guardado, aunque las constantes o las reglas del servidor nunca llegaran al archivo.

  • Mejorado: La sección «wp-config.php» de la pestaña de refuerzo de WordPress indica cuándo ese archivo no tiene permisos de escritura o se encuentra en una carpeta situada un nivel por encima de WordPress, donde Vigilante no tiene permisos para escribirlo, mientras esa situación se mantenga. Aparece en color ámbar cuando todos los ajustes solicitados ya están activos, y en rojo, indicando las constantes que faltan o sobran, cuando no es así. El aviso se actualiza tras cada guardado, sin necesidad de recargar la página.
  • Mejorado: La sección de protección del servidor de la pestaña «Cortafuegos» y la pestaña «Cabeceras de seguridad» indican cuándo el archivo .htaccess no tiene permisos de escritura en un servidor que utilice el archivo.
  • Mejorado: Aunque wp-config.php no se puede modificar y, por ello, algunos de los ajustes de refuerzo de WordPress no estén activos, el escritorio recomienda revisarlo e indica las constantes que no se aplican.
  • Mejorado: El aviso sobre los usuarios pendientes de aprobación ya no muestra a todos y cada uno de ellos en cada pantalla de administración solo para contarlos.
  • Mejorado: Un sitio web que mantenga a propósito los archivos wp-config.php o .htaccess como de solo lectura también mostrará estos avisos, en esas secciones y tras guardar esas pestañas. Allí también resultan válidos: ningún cambio realizado en esas pestañas se aplica al archivo hasta que se pueda escribir en él.
  • Corrección: cuando no se podía escribir en el archivo wp-config.php, al guardar la pestaña de refuerzo de WordPress, o al cambiar los ajustes de un módulo, se indicaba que estos se habían guardado, pero las constantes nunca llegaban al archivo y no se mostraba ningún aviso al respecto. Al activar el plugin con el archivo sin permisos de escritura, la situación seguía igual. Ahora, al guardar, aparece un segundo aviso junto al habitual, que permanece en pantalla e indica las constantes que no se han aplicado. Al guardar esa pestaña sin que quede nada por escribir, sigue indicando que el archivo no tiene permisos de escritura. Y cuando al cambiar los ajustes de un módulo queda algo sin escribir, la página ya no se recarga, por lo que se puede leer el aviso.
  • Corrección: ocurría lo mismo con el archivo .htaccess. Al guardar la pestaña de cortafuegos o de cabeceras de seguridad, o al activar o desactivar uno de esos dos módulos, si el archivo .htaccess no tiene permisos de escritura, ahora aparece un mensaje indicando que las reglas del servidor no se han actualizado. También aparece ese mensaje, junto con el motivo, cuando Vigilante deja el archivo tal y como está por otra causa, como por ejemplo que uno de sus bloques haya perdido un marcador.
  • Corrección: La descripción del preajuste «Máximo» indicaba que su Content Security Policy estaba configurada en modo de solo informar. El preajuste la aplica, y ahora la descripción lo indica así.
  • Corrección: El botón «Probar cabeceras» no mostraba ningún mensaje cuando la solicitud fallaba por completo. Ahora muestra un error.

3.0.5

El escritorio muestra solo una calificación, la de «Comprobación de seguridad» en una escala más estricta. Solo tiene en cuenta una configuración mientras su módulo está activo y omite lo que no ha podido medir, por lo que algunas puntuaciones bajan. El aviso sobre las tareas programadas ya no indica que se hayan modificado archivos.

  • Mejorado: El escritorio muestra una sola calificación. La «Comprobación de seguridad», que evalúa el sitio, mantiene su letra y ahora aparece primera. Lo que antes era la puntuación de configuración ahora es la «Configuración de Vigilante»: una barra con un porcentaje y sin letra, junto a las recomendaciones y los módulos que tiene en cuenta. Dos letras una al lado de la otra se interpretaban como dos calificaciones del mismo sitio que no coincidían.
  • Mejorado: La comprobación de seguridad y cada una de sus categorías utilizan ahora una escala de letras más estricta: la A corresponde a una puntuación perfecta, la B empieza en 85, la C en 70, la D en 50 y la E corresponde a cualquier puntuación inferior. Hasta ahora, la B iba de 70 a 99, por lo que un sitio con muchas comprobaciones fallidas se quedaba a solo una letra de la puntuación perfecta. Las puntuaciones numéricas no cambian con este cambio, pero muchos sitios obtendrán una letra más baja.
  • Mejorado: La comprobación de seguridad deja fuera de la puntuación las comprobaciones que no se han podido ejecutar e indica cuántas no se han evaluado. Hasta ahora, estas comprobaciones se contabilizaban como un cero, por lo que una solicitud a tu propio sitio que agotaba el tiempo de espera reducía la puntuación como si la comprobación hubiera fallado, y el resultado variaba de un análisis a otro. Una comprobación que es meramente informativa, como una cabecera desactivada a propósito, ya no impide que la puntuación alcance los 100 puntos.
  • Mejorado: El porcentaje de la configuración de Vigilante se calcula sobre el mismo total en cada sitio, y un módulo que se desactiva pierde sus puntos y los puntos de sus ajustes. Hasta ahora, esos ajustes también se restaban del total, por lo que un sitio con la mayoría de los módulos desactivados mantenía una cifra media, y al desactivar la auditoría de seguridad sin ninguna alerta configurada, esta cifra aumentaba. Los sitios con módulos desactivados mostrarán un porcentaje más bajo.
  • Mejorado: La fila del tema activo de la comprobación de seguridad es meramente informativa y ya no da 5 puntos. El hecho de que el tema tenga una actualización pendiente ya se tiene en cuenta en otra comprobación. Esto puede hacer que la puntuación varíe en uno o dos puntos.
  • Mejorado: La comprobación de seguridad indica cuándo llega al navegador una cabecera de seguridad procedente de un bloque de Vigilante en el archivo .htaccess de una carpeta situada por encima del sitio, que es lo que ocurre con un WordPress instalado en una subcarpeta de otro. Hasta ahora, solo lo indicaba la comprobación de Content-Security-Policy.
  • Mejorado: Cuando Vigilante detecta que ha desaparecido una de sus tareas programadas y la vuelve a programar, la segunda vez en 30 días ahora se considera una advertencia, sin envío de correo electrónico ni repercusión en las puntuaciones, y desaparece por sí sola tras una semana sin que falte ninguna tarea. Solo se convierte en crítica, con un correo electrónico a la semana como máximo, a partir de la tercera vez en una semana o la cuarta en 30 días. Hasta ahora, la segunda vez ya era crítica: ambas puntuaciones bajaban a E y el aviso permanecía durante 30 días independientemente de lo que se hiciera. El propio WordPress descarta una tarea programada cuando no puede guardar su próxima ejecución, por lo que dos en un mes no significa que algo las esté eliminando.
  • Mejorado: La tarea horaria de Vigilante ya no se supervisa. No hace nada y, al ser cada hora, era la que se perdía con más frecuencia.
  • Mejorado: Vigilante ya no espera a que un administrador abra el escritorio para volver a programar una tarea que ha desaparecido: también comprueba las tareas programadas del propio WordPress, que se ejecutan dos veces al día. Hasta ahora, cuando se eliminaba la tarea de mantenimiento diario, esta seguía sin aparecer y nada supervisaba las demás hasta que un administrador se ocupaba de ello.
  • Mejorado: Los pasos que se indican en el aviso sobre las tareas programadas explican primero que Vigilante ha vuelto a programar las tareas, a continuación indican qué hay que comprobar y, por último, señalan una posible causa en caso de que el problema se repita.
  • Corrección: La comprobación de seguridad superaba las verificaciones de un ajuste que se había guardado mientras el módulo que lo aplica estaba desactivado, por lo que la protección no estaba en funcionamiento: la URL de acceso personalizada, el límite de intentos de acceso, la identificación en dos pasos, XML-RPC, RSD, Windows Live Writer y las etiquetas de enlaces cortos, así como las comprobaciones que leían «Auditoría de seguridad» e «Integridad de archivos». Con el módulo «Cabeceras de seguridad» desactivado las comprobaciones de Content-Security-Policy y HSTS indicaban que algo estaba eliminando la cabecera y daban la mitad de los puntos. Ahora fallan e indican el módulo que está desactivado. Los sitios con módulos desactivados obtendrán una puntuación más baja, y el análisis semanal (en el que el envío de correos electrónicos está activado) informará de las comprobaciones que empiezan a fallar.
  • Corrección: El botón «Probar cabeceras» calificaba los ajustes de su pestaña sin solicitar nada al sitio, por lo que podía mostrar una «B» aunque ninguna cabecera llegara al navegador. Ahora mide lo que llega, con las comprobaciones y la escala de la comprobación de seguridad. Además, la comprobación de seguridad indica cuándo una cabecera está activada en Vigilante pero no llega, junto con la causa probable, y no le da ningún punto.
  • Corrección: Tres textos de la comprobación de seguridad que podían malinterpretarse. La comprobación de /wp-admin/ indicaba que se redirigía a los visitantes a la página de acceso independientemente del tipo de redirección. Las dos comprobaciones de usuarios a través de la API REST tenían nombres casi idénticos: una corresponde a la lista de usuarios, mientras que la otra solo indica al visitante quiénes son. WordPress responde a esta última con un código 401 en cualquier sitio, por lo que ahora es meramente informativa y ya no otorga 2 puntos. Además, un único usuario se contabilizaba como 1 registro de usuario.
  • Corrección: La comprobación de seguridad consideraba que un administrador estaba protegido por la identificación en dos pasos cuando dicho perfil no estaba entre los obligatorios o la cuenta estaba entre los usuarios excluidos.
  • Corrección: La comprobación de seguridad daba por buenas las comprobaciones relativas a los archivos expuestos (.env, .git/config, debug.log, copias de wp-config.php, scripts de desarrollo y wp-cron.php) cuando la solicitud que enviaba al sitio no obtenía respuesta. Ahora se muestran como no medidas.
  • Corrección: La comprobación de permisos de archivos de la comprobación de seguridad lee el archivo wp-config.php cuando está en una carpeta por encima de WordPress, y te lo dice cuando no la encuentra, en vez de darlo por válido.
  • Corrección: En el escritorio, al cambiar un módulo se guardaba el cambio dos veces y mostraba momentáneamente una puntuación diferente a la que aparece en la página una vez recargada.
  • Corrección: En la comprobación de seguridad la barra de cada categoría mantiene su color después de la exploración hasta que se recargue la página.
  • Corrección: Cuando el aviso crítico se refería a las tareas programadas, el correo electrónico, la caja de «Integridad de los archivos», el aviso de administración, la recomendación del escritorio y la nota sobre las puntuaciones indicaban que los archivos de Vigilante habían sido modificados, aunque todos los archivos estaban intactos. Ahora indican que las tareas programadas siguen siendo eliminadas, cuentan las tareas en lugar de los archivos y ya no solicitan una reparación ni una nueva exploración, que no aclaraba nada.
  • Corrección: Cuando se eliminaban los ganchos de la autoprotección de Vigilante, el correo electrónico, la caja de «Integridad de archivos», el aviso de administración, la recomendación del escritorio y la nota sobre las puntuaciones indicaban que los archivos de Vigilante habían sido modificados; y, al desactivarse la autoprotección mediante código, lo mismo ocurría con el correo electrónico y la nota sobre las puntuaciones. Ahora indican lo que se ha detectado. Con la autoprotección desactivada por código, el escritorio también pedía que se activara, algo que ningún ajuste permite: ahora indica que algo en el sitio la ha desactivado y dónde buscar.
  • Corrección: Cuando WordPress actualizaba Vigilante en segundo plano y el mantenimiento diario de Vigilante vencía en esa misma ejecución, Vigilante interpretaba la actualización como un cambio de versión realizado fuera del programa de actualizaciones, lo registraba como tal y podía enviar un correo electrónico de aviso. Ahora espera a la comprobación que se realiza al final de cada actualización, al igual que el resto de comprobaciones, mientras WordPress ejecuta sus actualizaciones en segundo plano en otro proceso. Las actualizaciones se gestionan según la versión que se va a sustituir, por lo que este cambio entrará en vigor a partir de la actualización siguiente a esta.
  • Corrección: La herramienta de integridad de archivos señalaba como sospechosa una llamada a la antigua función de PHP que crea una función a partir de una cadena, cuando dicha llamada solo aparecía dentro de un comentario, donde los plugins la dejan junto al código que la sustituyó. Ya no se busca esa llamada en los comentarios, y se informa de las llamadas activas como antes.

3.0.4

Corrige el aviso de contraseña caducada, que no aparecía cuando la contraseña caducaba durante una sesión abierta. Ahora lleva al usuario a la parte superior del perfil, donde se está el aviso. También arregla un bucle de redirección para los clientes en WooCommerce, y limita el acceso de una cuenta con contraseña caducada a su propio formulario de perfil.

  • Mejorado: Cuando una contraseña ha caducado se redirige al usuario a la parte superior de su perfil, donde aparece un aviso explicando el motivo, en lugar de llevarlo directamente al campo de la contraseña, con el aviso oculto justo encima. El aviso incluye ahora un enlace al campo.
  • Corrección: Faltaba el aviso de que una contraseña había caducado cuando vencía mientras el usuario seguía conectado. Se redirigía al usuario a su perfil sin ninguna explicación, y el aviso solo aparecía tras volver a iniciar sesión.
  • Corrección: El último día antes de que caducara una contraseña no se mostraba el aviso, por lo que el cambio obligatorio se producía sin previo aviso el día anterior.
  • Corrección: En una tienda con WooCommerce, una cuenta sin acceso al área de administración (por ejemplo, la de un cliente) cuyo perfil está en la lista de «Perfiles afectados» quedaba atrapada en un bucle de redirección cuando caducaba su contraseña. WooCommerce le redirigía desde el perfil a «Mi cuenta» y Vigilante le devolvía, por lo que no podía ni utilizar la tienda ni cambiar la contraseña. Ahora, a esa cuenta se le permite acceder a la pantalla de su perfil en el área de administración mientras el cambio está pendiente, y solo a esa pantalla. La contraseña se cambia allí, no en «Mi cuenta», y, una vez guardada, WooCommerce devuelve la cuenta a «Mi cuenta» como de costumbre.
  • Corrección: Cuando había un cambio de contraseña pendiente se permitía el acceso a todas las solicitudes dirigidas a la pantalla de perfil, y desde esa pantalla se puede acceder a otros elementos: una página de plugins, un importador, una acción pasada en la dirección o el perfil de otro usuario en el caso de una cuenta con permiso para editar usuarios. Una cuenta con una contraseña caducada podía seguir utilizando esas funciones. Ahora solo se permite el acceso a su propio formulario de perfil, ya sea para visualizarlo o para guardarlo. En una red, las pantallas de perfil del administrador de la red y del escritorio del usuario conducen al perfil del sitio, donde se encuentra el aviso.
  • Corrección: En un sitio cuya dirección de WordPress y dirección del sitio estén en servidores diferentes (por ejemplo, un sitio «headless») o cuya dirección contenga letras acentuadas o no latinas tal y como están escritas, un usuario con una contraseña caducada quedaba atrapado en un bucle de redirección. La redirección al perfil se trataba como una redirección al escritorio, lo que enviaba al usuario de nuevo al perfil. Ahora se accede correctamente al perfil.

3.0.3

Integridad de archivos ahora compara los temas con su paquete de WordPress.org, busca en todo el código que no tiene copia oficial y examina los plugins must-use, los drop-ins, wp-admin, wp-includes y el resto de wp-content. Los correos electrónicos del análisis se envían una vez por cada hallazgo nuevo.

  • Mejorado: Integridad de archivos compara los temas de WordPress.org con el paquete que WordPress.org publica para la versión instalada. WordPress.org no tiene sumas de comprobación para los temas, así que hasta ahora ningún archivo de tema se comparaba con nada. El paquete se descarga una vez por versión.
  • Mejorado: la integridad de archivos busca código oculto en todos los archivos PHP de un plugin o tema sin copia oficial, no solo en los primeros 50, y lee archivos de hasta 8 MB. Un archivo de más de 512.000 bytes no se abría, así que pasaba como limpio. Uno de más de 8 MB se lista como no analizado.
  • Mejorado: la integridad de archivos examina los archivos añadidos a wp-admin y wp-includes, los plugins imprescindibles y los drop-ins, los archivos PHP sueltos en wp-content, y las carpetas con PHP entre los plugins o los temas que WordPress no lista como tal.
  • Mejorado: la integridad de archivos busca código oculto en los archivos PHP de las demás carpetas de wp-content (languages, upgrade y similares). Un archivo de traducción que contenga algo distinto de texto se reporta, porque WordPress carga los archivos de traducción en cada solicitud.
  • Mejorado: una instalación nueva ya no empieza con wp-content/cache entre las rutas excluidas, así que esa carpeta también se analiza. Un sitio que ya la tenga ahí la conserva.
  • Mejorado: la integridad de archivos informa de un .htaccess, .user.ini o php.ini fuera de uploads que hace que el servidor ejecute código o cargue un archivo.
  • Mejorado: la integridad de archivos encuentra, en código sin copia oficial, datos de la solicitud ejecutados como código o como comando, una función elegida por la solicitud y un archivo incluido desde otro servidor. No se informa del mismo texto en un comentario.
  • Mejora: un archivo en el que la búsqueda de código oculto no puede terminar se lista como no analizado en lugar de pasar como limpio.
  • Mejorado: la itegridad de archivos ahora compara wp-includes/version.php, y compara los sitios que no están en inglés con las sumas de comprobación en inglés mientras WordPress.org no tiene ninguna para su idioma, en lugar de dejar el núcleo sin comprobar.
  • Mejorado: la integridad de archivos informa de los archivos borrados de un plugin o un tema, e informa de una solicitud fallida a WordPress.org como un error en lugar de tratar el plugin como uno sin copia oficial.
  • Mejorado: la integridad de archivos informa de más tipos de archivo en la carpeta de subidas (.pht, .php8, nombres como shell.php.suspected, .user.ini, php.ini, scripts de shell y CGI), un .user.ini o php.ini en la raíz del sitio que carga un archivo en cada solicitud, además de copias de seguridad dejadas en la raíz del sitio.
  • Mejora: la pestaña Integridad de archivos indica qué suele ser cada tipo de hallazgo y qué hacer al respecto, nombra los plugins y temas que no se han podido comparar, y dice cuándo un análisis fue parcial en lugar de decir que todos los archivos pasaron.
  • Mejora: cuando un análisis agota el tiempo, Integridad de archivos y el correo electrónico del análisis nombran los plugins, los temas y las áreas a las que no llegó, e Integridad de archivos lista las carpetas que excluir para que un análisis manual llegue al resto. Un análisis se ejecuta durante 60 segundos como máximo y empieza desde el principio cada vez, así que en un sitio muy grande la misma parte se queda sin comprobar en cada análisis.
  • Mejorado: la integridad de archivos y la comprobación de seguridad indican cuándo las rutas excluidas contienen la carpeta entera de un plugin o de un tema, o la carpeta de subidas. Ninguna exploración mira dentro de ellas, y la comprobación de seguridad ya no cuenta un análisis así como limpio.
  • Mejorado: La integridad de archivos y la comprobación de seguridad indican cuándo ningún análisis programado ha terminado durante más tiempo del que permite la programación. Una epxloración que el servidor detiene a medias no guarda ningún resultado, y tampoco uno que WordPress nunca inicia, así que el último que sí terminó seguía mostrándose como el actual.
  • Mejora: el correo electrónico del análisis se envía cuando un análisis encuentra algo nuevo, no después de cada análisis, y su asunto nombra wp-config.php o .htaccess cuando eso es todo lo que ha cambiado.
  • Mejora: los eventos de dos factores se pueden filtrar en la auditoría de seguridad, y PHP 8.5 está en la tabla de fin de vida útil de la comprobación de seguridad.
  • Corrección: un .htaccess en uploads que solo deniega el acceso ya no se reporta, y tampoco la regla que prohíbe PHP ni una línea comentada. Options +ExecCGI y los manejadores CGI o SSI, que se listaban como reglas personalizadas, ahora son sospechosos.
  • Corrección: el archivo index.php de dos líneas que incluye WordPress ya no se reporta como PHP en uploads ni como archivo adicional.
  • Corrección: los temas incluidos y Akismet ya no aparecen como archivos del núcleo modificados o faltantes cuando se actualizan o se eliminan.
  • Corrección: una cadena hexadecimal de unos 12.000 caracteres o más no era encontrada por la búsqueda de código oculto. Cuanto más largo era el contenido, menos se encontraba.
  • Corrección: un nombre de función dividido en trozos no se encontraba cuando una cadena larga de cadenas unidas venía antes en el archivo.
  • Corrección: un archivo creado a propósito podía mantener ocupada la búsqueda de código oculto el tiempo suficiente para acortar el análisis.
  • Corrección: el análisis de la carpeta de subidas se detenía después de 10.000 archivos sin avisar.
  • Corrección: una carpeta que el análisis no podía leer detenía el análisis de uploads, de un plugin o de un tema sin decirlo, y no se comprobaba nada después. Ahora el análisis continúa e informa de la carpeta.
  • Corrección: la exploración manual solo guardaba la segunda mitad del análisis en el historial de puntuaciones de la comprobación de seguridad.
  • Corrección: la comprobación de seguridad daba por válido un análisis de integridad de archivos que no lo había comprobado todo, siempre que no hubiera encontrado nada en lo que sí comprobó.
  • Corrección: la etiqueta Limitar métodos HTTP, y el comentario escrito en .htaccess, describían una regla que no es la que se aplica.
  • Corrección: el ajuste de alertas de la auditoría de seguridad decía que un administrador nuevo se registra como crítico. Se registra como advertencia, y tiene su propio correo electrónico en «Usuarios».
  • Corrección: el readme describía copias de seguridad automáticas de .htaccess y wp-config.php que ya no existen.
  • Corrección: se han eliminado 11 cadenas y un método que nada usaba.

3.0.2

Corrige las direcciones con acentos o letras no latinas en la redirección HTTPS, la comprobación del modo bajo ataque y una dirección de acceso personalizada; evita que el alias www lleve al escritorio, guarda las rutas de integridad de archivos tal y como se han escrito, y evita que la CSP por defecto altere los estilos de los sitios servidos a través de HTTP.

  • Corrección: La redirección de HTTP a HTTPS conserva los caracteres codificados en porcentaje de la dirección. Una visita a /categor%C3%ADa/ se redirigió a /categora/, lo que provocaba un error 404, una ruta en cirílico se redirigía a //, y todos los parámetros perdían sus caracteres codificados.
  • Corrección: La misma redirección toma el host declarado por el sitio, no de la cabecera «Host». Al visitar el alias «www» del sitio, o el servidor mediante su dirección IP, se enviaba una redirección permanente al escritorio en lugar de a la misma página. Un sitio que servía otros nombres de host propios a través de allowed_redirect_hosts ahora obtiene el host declarado para todos ellos, mientras que el área de administración de un sitio cuyo WordPress se aloja en un host propio permanece en ese host.
  • Corrección: Una dirección de acceso oculta escrita en un alfabeto no latino no encontraba nada, así que la página de acceso permanecía oculta y su propia dirección devolvía un error 404. Ahora se compara en mayúsculas y minúsculas, en formato hexadecimal y como UTF-8 sin codificar. Una dirección que solo coincidía tras eliminar sus caracteres codificados, como /my-log%41in/ para /my-login/, ya no abre la página de acceso.
  • Corrección: Tras resolver el reto en el modo «Bajo ataque», el visitante accede a la página que ha solicitado, con los acentos y los parámetros intactos.
  • Corrección: El registro de actividad conserva la dirección de una solicitud bloqueada tal y como se envió, en lugar de borrar los caracteres codificados.
  • Corrección: Ahora funciona la opción de ignorar en «Integridad de archivos» un archivo cuyo nombre contenga caracteres codificados (por ejemplo, un %20 literal) o espacios repetidos. La ruta se guardaba sin esos caracteres, por lo que nunca coincidía con el archivo y la advertencia volvía a aparecer; además, la entrada guardada podía coincidir con otro archivo cuyo nombre estuviera alterado.
  • Corrección: Una ruta excluida en «Integridad de archivos» cuyo nombre contenga caracteres codificados (por ejemplo, un %20 literal) o espacios repetidos ahora se guarda tal y como se ha escrito, incluso al exportar e importar los ajustes. Antes se guardaba tras eliminar dichos caracteres, por lo que nunca coincidía. Además, cuando los caracteres codificados formaban parte del final del nombre, se guardaba como la carpeta superior, lo que impedía que se analizara todo el contenido de dicha carpeta. Ahora se omite cualquier línea que contenga etiquetas HTML. Las entradas ya guardadas no se modifican, por lo que aquellas que se guardaron recortadas deben volver a escribirse.
  • Corrección: El área de administración y sus URLs abiertas se reconocen a partir de la ruta tal y como se envía. Ya no se interpreta /wp-admin/admin-ajax.php%20 como admin-ajax.php, ni /wp-%41admin/page como una página del área de administración.
  • Corrección: En un sitio cuya dirección es http://, la directiva Content-Security-Policy por defecto ya no incluye upgrade-insecure-requests. Con Apache y el módulo de cabeceras activos, esa directiva hacía que los navegadores solicitaran todas las hojas de estilo, scripts e imágenes a través de HTTPS, a lo que el sitio no respondía, por lo que el sitio perdía sus estilos. Ahora la directiva solo se aplica cuando la dirección del sitio es https://, por lo que un sitio servido a través de HTTPS mediante un proxy o una CDN que termine el TLS debería tener su dirección configurada como https://. Las reglas se reescriben al actualizar, por lo que un sitio que ya se viera afectado se recupera al actualizar, y la pestaña «Cabeceras de seguridad» lo indica junto a la política.
  • Corrección: El escritorio lee el ajuste de XML-RPC en su ubicación actual. La puntuación de configuración nunca daba los tres puntos por bloquear XML-RPC, y la recomendación de desactivarlo siempre aparecía, ya que ambas se basaban en una casilla de selección que dejó de guardarse a partir de la versión 2.9.7. Un sitio que bloquee XML-RPC, tal y como lo hacen los ajustes predeterminados, verá cómo su puntuación aumenta en dos o tres puntos sin cambiar nada, y la recomendación, cuando sea aplicable, ahora redirige a refuerzo de WP.
  • Corrección: La tarjeta «Comprobación de seguridad» del escritorio indicaba que se habían realizado 13 comprobaciones internas, cuando en realidad son 16, y ya no muestra ninguna cifra.

Para entradas anteriores del registro de cambios revisa el archivo changelog.txt.