• Resolved Gabriel

    (@bielmp)


    Desde ayer estoy observando que no reconoce la clave de acceso (al menos en el caso de usuario Administrador). Aunque el usuario y clave sea correcta no avanza hacia el 2FA, la da como errónea. He desactivado el plugin y sí que entra sin problemas. Gracias.

Viewing 10 replies - 1 through 10 (of 10 total)
  • Plugin Author Fernando Tellado

    (@fernandot)

    Hola Gabriel, y gracias por avisar

    ¿Qué versión tienes activa y qué tipo de 2FA usas? Me ayudaría mucho si pudieses pegar aquí en un bloque de código el json exportado desde las herramientas del plugin.

    Fernando

    Thread Starter Gabriel

    (@bielmp)

    Hola de nuevo,

    • Versión activa: 3.0.1
    • Uso Google Authenticator en el móvil

    Respecto del json ¿te refieres a Herramientas-Exportación de ajustes? Te lo adjunto

    {
    "modules": {
    "firewall": true,
    "security_headers": true,
    "login_security": true,
    "rest_api_security": true,
    "user_security": true,
    "wp_hardening": true,
    "file_integrity": true,
    "activity_log": true
    },
    "firewall": {
    "block_bad_query_strings": true,
    "block_sql_injection": true,
    "block_xss_attacks": true,
    "block_file_inclusion": true,
    "block_directory_traversal": true,
    "block_bad_bots": true,
    "block_empty_user_agent": false,
    "rate_limiting": {
    "enabled": true,
    "requests_per_minute": 120,
    "block_duration": 300,
    "progressive": false,
    "max_block_duration": 86400
    },
    "ip_whitelist": [],
    "ip_blacklist": [],
    "trusted_proxy_header": "cf-connecting-ip",
    "trusted_proxies": [],
    "ua_whitelist": [],
    "ua_blacklist": [],
    "disable_directory_browsing": true,
    "protect_wp_config": true,
    "protect_wp_includes": true,
    "protect_uploads_php": true,
    "protect_sensitive_files": true,
    "protect_wp_cron": false,
    "block_php_in_plugins": false,
    "block_php_in_themes": false,
    "limit_http_methods": true,
    "allowed_http_methods": [
    "GET",
    "POST",
    "HEAD",
    "OPTIONS",
    "PUT",
    "PATCH",
    "DELETE"
    ],
    "block_http_1_0": "",
    "protect_htaccess": ""
    },
    "security_headers": {
    "enabled": true,
    "x_frame_options": "SAMEORIGIN",
    "x_content_type_options": true,
    "referrer_policy": "strict-origin-when-cross-origin",
    "hsts": {
    "enabled": false,
    "max_age": 31536000,
    "include_subdomains": false,
    "preload": false
    },
    "permissions_policy": {
    "enabled": true,
    "geolocation": "()",
    "microphone": "()",
    "camera": "()",
    "payment": "(self)",
    "usb": "()"
    },
    "csp": {
    "enabled": true,
    "report_only": false,
    "report_uri": "",
    "directives": {
    "default-src": "'self'",
    "script-src": "'self' 'unsafe-inline' 'unsafe-eval' https:",
    "style-src": "'self' 'unsafe-inline' https:",
    "img-src": "'self' data: https: blob:",
    "font-src": "'self' data: https:",
    "connect-src": "'self' https: wss: blob:",
    "media-src": "'self' https: blob:",
    "frame-src": "'self' https: blob:",
    "frame-ancestors": "'self'",
    "base-uri": "'self'",
    "form-action": "'self' https:",
    "object-src": "'none'",
    "worker-src": "'self' blob:",
    "upgrade-insecure-requests": true
    }
    },
    "cross_origin_policies": {
    "embedder_policy": "unsafe-none",
    "opener_policy": "same-origin-allow-popups",
    "resource_policy": "cross-origin"
    },
    "force_https": false,
    "redirect_http_to_https": false,
    "fix_mixed_content": true,
    "upgrade_insecure_requests": true,
    "hide_server_signature": true,
    "remove_fingerprinting_headers": true
    },
    "login_security": {
    "enabled": true,
    "max_attempts": 5,
    "lockout_duration": 1800,
    "lockout_increment": true,
    "max_lockout_duration": 86400,
    "hide_login_errors": true,
    "disable_application_passwords": false,
    "notify_on_lockout": false,
    "notify_on_admin_login": false,
    "ip_whitelist": [],
    "custom_login_url": "**********",
    "notify_on_login_url_change": false,
    "two_factor": {
    "enabled": true,
    "method": "totp",
    "enforced_roles": [
    "administrator",
    "editor"
    ],
    "excluded_users": [],
    "remember_device_days": 30,
    "allow_remember_device": false,
    "code_expiry_minutes": 10,
    "max_attempts": 3,
    "email_from_name": "",
    "notify_on_enable": false,
    "grace_period_days": 0
    },
    "disable_xmlrpc": "1",
    "disable_xmlrpc_pingback": ""
    },
    "rest_api_security": {
    "enabled": true,
    "mode": "selective",
    "block_user_enumeration": true,
    "disable_jsonp": true,
    "protected_endpoints": [],
    "allowed_public_endpoints": [
    "\/wp\/v2\/posts",
    "\/wp\/v2\/pages",
    "\/wp\/v2\/categories",
    "\/wp\/v2\/tags",
    "\/oembed\/"
    ],
    "plugin_compatibility": {
    "woocommerce": true,
    "contact_form_7": true,
    "elementor": true
    }
    },
    "user_security": {
    "enabled": true,
    "block_insecure_usernames": true,
    "insecure_usernames": [
    "admin",
    "administrator",
    "user",
    "test",
    "guest",
    "info",
    "root",
    "adm",
    "sysadmin",
    "support",
    "webmaster",
    "master",
    "owner",
    "manager",
    "demo"
    ],
    "block_author_scanning": true,
    "force_strong_passwords": true,
    "min_password_length": 12,
    "password_policy": {
    "require_uppercase": true,
    "require_lowercase": true,
    "require_number": true,
    "require_special": true,
    "block_common": true,
    "block_username": false,
    "affected_roles": []
    },
    "prevent_display_name_login_match": true,
    "admin_monitoring": {
    "alert_new_admin": false,
    "alert_admin_email_change": false,
    "alert_permission_elevation": false,
    "alert_admin_password_change": false
    },
    "registration_approval": {
    "enabled": false,
    "notify_admin": false,
    "auto_reject_days": 0,
    "affected_roles": [
    "subscriber"
    ]
    },
    "session_management": {
    "enabled": true,
    "show_in_profile": true
    },
    "session_limits": {
    "enabled": false,
    "max_sessions": 3,
    "behavior": "close_oldest",
    "exclude_admins": false
    },
    "password_expiration": {
    "enabled": true,
    "expire_days": 90,
    "warning_days": 14,
    "affected_roles": [
    "administrator",
    "editor"
    ],
    "excluded_users": [],
    "password_history": 3,
    "send_reminder": false
    },
    "email_verification": {
    "enabled": false,
    "token_expiry_hours": 24,
    "allow_resend": true,
    "auto_delete_days": 7
    },
    "warn_existing_insecure": "1"
    },
    "wp_hardening": {
    "enabled": true,
    "disallow_file_edit": true,
    "disallow_file_mods": false,
    "force_ssl_admin": true,
    "wp_debug": true,
    "disable_wp_cron": false,
    "disable_pingbacks": true,
    "disable_trackbacks": true,
    "require_comment_moderation": true,
    "close_old_comments": false,
    "close_comments_after_days": 30,
    "honeypot_comments": true,
    "remove_wp_generator": true,
    "remove_wp_version_assets": false,
    "remove_rsd_link": true,
    "remove_wlw_manifest": true,
    "remove_shortlink": true,
    "remove_rest_api_link": false,
    "disable_feeds": false,
    "disable_if_no_content": true,
    "remove_feed_version": true
    },
    "file_integrity": {
    "enabled": true,
    "scan_core": true,
    "scan_plugins": true,
    "scan_themes": true,
    "scan_uploads": true,
    "scan_critical_config": true,
    "check_closed_plugins": true,
    "auto_scan": true,
    "scan_frequency": "daily",
    "notify_level": "suspicious_only",
    "instant_alert": false,
    "excluded_paths": [
    "wp-content\/cache"
    ],
    "excluded_extensions": [
    ".po",
    ".mo",
    ".pot",
    ".jpg",
    ".jpeg",
    ".png",
    ".gif",
    ".ico",
    ".webp",
    ".avif",
    ".css"
    ]
    },
    "activity_log": {
    "retention_days": 30,
    "max_entries": 10000,
    "log_logins": true,
    "log_failed_logins": true,
    "log_user_changes": true,
    "log_post_changes": true,
    "log_plugin_changes": true,
    "log_theme_changes": true,
    "log_option_changes": false,
    "log_file_changes": true,
    "log_comments": true,
    "log_media": true,
    "excluded_users": [],
    "excluded_ips": [],
    "tracked_options": []
    },
    "backup": {
    "keep_backups": 5
    },
    "email": {
    "send_to_admin_email": true,
    "additional_recipients": [],
    "send_deactivation_email": true
    },
    "advanced": {
    "remove_readme": true,
    "remove_license": true
    },
    "security_analyzer": {
    "weekly_scan_enabled": true,
    "email_on_regression": false
    },
    "audit_alerts": {
    "cooldown_minutes": 60,
    "immediate": {
    "enabled": false,
    "min_severity": "critical"
    },
    "threshold": {
    "enabled": false,
    "window": "1h",
    "categories": {
    "firewall": 50,
    "login": 20,
    "user": 5,
    "plugin": 0,
    "file": 0,
    "security": 0,
    "system": 0,
    "settings": 0,
    "theme": 0,
    "content": 0,
    "comment": 0,
    "media": 0
    }
    }
    }
    }
    • This reply was modified 1 week, 4 days ago by Gabriel.
    Plugin Author Fernando Tellado

    (@fernandot)

    Hola Gabriel, gracias por el json, me ha venido de lujo 🙂

    He montado tus ajustes tal cual en un sitio de pruebas con la 3.0.1 y un administrador con Google Authenticator, y ahí el formulario del código aparece bien, tanto en la URL de acceso personalizada como con una contraseña caducada. Así que tiene que haber algo de tu instalación que no tengo, y para dar con ello me vendría muy bien esto:

    1. Ahora mismo tienes activado “Ocultar errores de acceso”, que muestra siempre “usuario o contraseña incorrectos” sea cual sea el motivo real. Desactívalo un momento (seguridad de acceso), prueba a entrar y dime el mensaje exacto que sale. Luego lo vuelves a activar.
    2. En la auditoría de seguridad, el registro de actividad, las entradas de acceso de cuando lo intentas: si aparece “Verificación TOTP solicitada”, un fallo de acceso o un bloqueo. Y luego…
      • ¿Entras por tu URL de acceso personalizada o por otro formulario (Mi cuenta de WooCommerce, una página de login del tema o de un maquetador)?
      • ¿El sitio va detrás de Cloudflare? ¿Tienes algún otro plugin de seguridad, de caché o que toque el login?
      • ¿Le pasa también a otro administrador o editor, o solo a tu usuario?
    3. ¿Qué versión de Vigilante tenías antes de la 3.0.1?

    Con eso debería poder decirte qué está pasando.

    Fernando

    Thread Starter Gabriel

    (@bielmp)

    Hola Fernando,

    He realizado las comprobaciones:

    1. Mensaje de error: Al desactivar «Ocultar errores de inicio de sesión», al intentar acceder no muestra ningún mensaje de error en pantalla. Simplemente se recarga el formulario en blanco.
    2. Registro de actividad: En la auditoría de seguridad sí queda registrada la solicitud con los siguientes datos:
      • Tipo: 2fa
      • Acción: totp_verification_requested
      • Mensaje: Verificación TOTP solicitada en el inicio de sesión (Es decir, valida las credenciales y pide el 2FA, pero la interfaz no llega a mostrar el campo del código).

    3. Ahora veo que cuando entro desde la url personalizada de acceso al panel de administración valida correctamente usuario y clave y también el 2FA, el problema me está apareciendo cuando entro desde Mi-Cuenta

    4. Caché / Seguridad: Sí, uso Cloudflare y WP Rocket.

    5. Solo tengo un usuario administrador y otro Editor. He probado con el Editor y valida correctamnete accediendo desde la url personalizada y desde Mi-Cuenta, el probvlema es que ahí no tengo configurada aún el 2FA

    6. No recuerdo la versión anterior de Vigilante pero supongo que justo la anterior. La actualizo a mano pero entro con frecuencia

    De todas formas, por mi parte, no hay gran problema ya que ahora veo que puedo acceder con la url personalizada correctamente (creo que antes no podía)

    Muchas gracias como siempre

    A mí me pasa lo mismo, aunque reconoce clave de acceso y sí me deja llegar al 2FA. Es ahí cuando impide el paso con un mensaje de “Código de verificación no válido. Quedan 5 intentos antes del bloqueo”. Intento entrar como usuario administrador y uso URL personalizada, Cloudflare y Proton Authenticator. Desactivo Vigilante desde cPanel y sí me deja entrar. Tengo Vigilante 3.0.1 y antes tenía la 3.0.0

    Plugin Author Fernando Tellado

    (@fernandot)

    Hola @bielmp, con tus pruebas ya lo tengo localizado y reproducido, gracias.

    Pasa cuando una cuenta con la verificación en dos pasos configurada entra desde Mi cuenta de WooCommerce: la contraseña se valida y la verificación se solicita (es lo que viste en la auditoría), pero ese formulario no sabe mostrar el campo del código y la página se recarga en blanco. Desde tu URL de acceso personalizada funciona bien. A tu editor le va en los dos sitios porque aún no tiene el 2FA configurado; cuando se lo configures, que entre también por la URL personalizada.

    Mientras tanto:

    • Entra por la URL de acceso personalizada.
    • Si alguna vez entras desde Mi cuenta y se recarga en blanco, abre la URL personalizada justo después: te saldrá directamente el campo del código, sin volver a poner la contraseña.
    • Ya puedes volver a activar «Ocultar errores de inicio de sesión».

    En la próxima actualización Mi cuenta dejará de recargarse en blanco y te dirá claramente que entres desde la página de acceso. Y tengo en la lista, con prioridad, que el código se pueda poner en la propia Mi cuenta, también para que las tiendas puedan ofrecérselo a sus clientes.

    Gracias de nuevo por la paciencia y por lo bien que has hecho las pruebas.

    Fernando

    Plugin Author Fernando Tellado

    (@fernandot)

    Hola @willtm, gracias por avisar también, aunque lo tuyo parece distinto de lo de Gabriel, a ti sí te llega al campo del código, y lo que falla es que no se acepta. Para seguirlo bien y no mezclar los dos casos, ¿puedes abrir un hilo nuevo con esto?:

    1. El json exportado desde las herramientas del plugin, en un bloque de código.
    2. En la auditoría de seguridad, las entradas de cuando lo intentas: si aparece un código TOTP no válido o un aviso de que el reloj del servidor y la app no coinciden.
    3. ¿Has reconfigurado la verificación en dos pasos, cambiado de móvil o migrado o restaurado el sitio hace poco? ¿Tienes más de una entrada para este sitio en Proton Authenticator?
    4. Si guardaste los códigos de respaldo, prueba uno. Si entra, sabremos que el problema está en el código de la app y no en el acceso.

    No insistas con más códigos, que al llegar al límite de intentos se bloquea tu IP un rato.

    Si necesitas entrar antes de que lo veamos: desactiva el plugin como hiciste, entra, vuelve a activarlo ya dentro y, desde tu perfil, en «Volver a configurar», configura de nuevo la app escaneando el QR nuevo (borra antes la entrada vieja de Proton). Eso sí, si puedes, mándame antes lo de arriba, porque al reconfigurar se pierde la pista.

    Fernando

    OK, Fernando. Abro hilo aparte.

    Thread Starter Gabriel

    (@bielmp)

    ¡Perfecto! Por favor Fernando, gracias a tí siempre, faltaría más. GRACIAS

    Plugin Author Fernando Tellado

    (@fernandot)

    Mil gracias @willtm lo espero ansiosamente y si hay algo que arreglar lo meto en la misma actualización que la idea que me ha dado @bielmp 🙂

    Fernando

Viewing 10 replies - 1 through 10 (of 10 total)

You must be logged in to reply to this topic.