Skip to main contentSkip to footer

¿Buscas una visión general? Visita la página principal del complemento para conocer las funciones, los precios y los pasos de instalación. Esta página es la referencia técnica.

Plugin de WordPress — ReportedIP Hive (Full Edition)

Existen dos ediciones: asegúrate de que estás leyendo la correcta. Esta página describe ReportedIP Hive (Full Edition) , distribuida a través de GitHub Releases, que incluye autenticación de dos factores (2FA), dieciséis Attack Sensors, compatibilidad con Multisite, integración con WooCommerce y Mail Relay gestionado para correo electrónico y SMS. ¿Buscas la edición ligera de WordPress.org sin 2FA ni niveles de servicio? Lee los Docs de Hive Light . Ambos plugins comparten el mismo dominio de texto; instala solo uno de ellos por sitio.

ReportedIP Hive es un plugin de seguridad para WordPress impulsado por la comunidad. Convierte cada sitio protegido en un sensor: cuando un sitio es atacado, la red aprende y todos los demás sitios pueden rechazar al atacante antes de que llegue la primera solicitud. Threat Intelligence en tiempo real, dieciséis Attack Sensors —incluido un Web Application Firewall—, 2FA con cuatro métodos, Progressive Block Escalation y conjuntos de reglas de cortafuegos firmados y entregados por el servidor. Código abierto, publicado bajo licencia GPLv2+ en GitHub.

Versión actual: 2.1.36 (notas de la versión ). Requisitos: WordPress 5.9+ (probado hasta la versión 7.0), PHP 8.1+. Red: sí — se instala en toda la red en WordPress Multisite. Funciona de forma independiente (Local Shield) o conectado a la ReportedIP API (Community Network).
Código fuente y distribución: github.com/reportedip/ReportedIP Hive — las incidencias, las solicitudes de incorporación de cambios y el Changelog son públicos. La Full Edition no se distribuye en WordPress.org debido al servicio gestionado de reenvío de correo electrónico y SMS Relay (cuotas de pago) y al sistema de niveles de WordPress Multisite, ya que ambos entran en conflicto con las directrices de wp.org de «sin ventas adicionales ni vinculación de servicios». Las actualizaciones se distribuyen a través de GitHub Releases (detectadas automáticamente por el verificador de actualizaciones de plugins integrado cada 12 horas). Formato de etiqueta fijada vX.Y.Z.

Instalación

1

Descarga el plugin

Consigue la última versión reportedip-hive.zip de la página de GitHub Releases o descárgalo desde tu Dashboard.

2

Instalar y activar

Ve a Plugins → Añadir nuevo → Subir plugin en tu panel de administración de WordPress, selecciona el archivo ZIP, haz clic en «Instalar ahora» y, a continuación, en «Activar».

3

Ejecuta el Setup Wizard

Tras la activación, se iniciará automáticamente el Setup Wizard de diez pasos. Este te guiará a través del modo de funcionamiento, la API Key, los umbrales de ataques de Brute Force, el cortafuegos (WAF, acción de bots verificados, modo de correo electrónico desechable, Comment Honeypot), la lista de 2FA, las reglas de retención, el slug de Hide Login y el pie de página automático opcional.

4

Mantente al día

El verificador de actualizaciones integrado (Plugin Update Checker v5.6+) consulta GitHub Releases cada 12 horas. Las nuevas versiones aparecen en la pantalla de plugins de WordPress como cualquier otra actualización de plugin; no es necesario reinstalarlo manualmente. Formato de etiqueta fijada: vX.Y.Z.

Setup Wizard (10 pasos)

El asistente se ejecuta al activarlo por primera vez y se puede volver a iniciar en cualquier momento desde la configuración del plugin. Cada paso se guarda inmediatamente en el servidor en cada navegación (incluido el botón «Atrás»), por lo que puedes detenerlo y reanudarlo sin perder ninguna configuración.

PasoQué configura
1. BienvenidaIntroducción, enlace a Docs e importación opcional con un solo clic de un archivo JSON de configuración ya existente.
2. ConectarModo de funcionamiento (Local Shield / Community Network), API Key con validación en tiempo real frente a reportedip.com. El proceso para crear una API Key se explica en los Docs sobre autenticación.
3. ProtecciónUmbrales y intervalos de tiempo para Login, spam en comentarios, XMLRPC, escaneo de errores 404 y ráfagas REST; opción de «solo informe»; estrategia de duración del bloqueo (duración fija frente a escalonamiento progresivo).
4. CortafuegosWeb Application Firewall (activar / solo informe), acción ante bots verificados (marcar o bloquear a los suplantadores), modo de correo electrónico desechable (desactivado / supervisar / bloquear) y el Comment Honeypot — todo ello con valores predeterminados seguros.
5. Autenticación de dos factores (2FA)Activar / desactivar cada uno de los cuatro métodos (TOTP, correo electrónico, SMS, WebAuthn), aplicar roles, días de gracia, caducidad de Trusted Devices.
6. PrivacidadRetención de datos, anonimización automática, nivel de registro y activación/desactivación del registro detallado.
7. NotificacionesDestinatarios (separados por comas, validados mediante is_email()), nombre del remitente / correo electrónico del remitente para el correo transaccional, sincronización opcional de la lista de contactos con la cuenta de reportedIP.com.
8. LoginOcultar el slug de la URL de Login (3-50 caracteres; se rechazan los slugs de la Blacklist), modo de respuesta para la antigua /wp-login.php (página de bloqueo o 404).
9. PromociónBanner opcional en el pie de página automático, variante (insignia / escudo / banner / estadística) y alineación.
10. HechoResumen de finalización, enlace al Dashboard.

Modos de funcionamiento

Dos modos: cambia entre ellos en cualquier momento sin perder los datos locales.

Característica Local Shield Community Network
Los dieciséis Attack Sensors
Autenticación de dos factores (2FA) con 4 métodos + Trusted Devices + Recovery Codes
Progressive Block Escalation
Ocultar la URL de Login
Consultas de reputación de IP en la base de datos «Hive»NoSí (a través de la API)
Reports de ataques anonimizados que se envían a la comunidadNoSí (automático)
Se requiere API KeyNoSí (Free tier disponible)
Los datos salen de tu servidorNuncaSolo la IP del atacante + Threat Category + marca de tiempo
Recomendación: utiliza el modo «Community Network» para obtener la mejor protección. Tu sitio se beneficia de la información sobre amenazas aportada por miles de otros sitios y, a cambio, tú ayudas a proteger a la comunidad. Estos mismos datos de la comunidad también alimentan las fuentes de Blacklist descargables y la DNS / RBL Zone para infraestructuras que no sean de WordPress.

Qué incluye cada nivel

El plugin Hive en sí mismo es totalmente funcional en el Free tier: protección local, los dieciséis sensores y los cuatro métodos de autenticación de dos factores (2FA). Los niveles de pago incluyen una infraestructura de entrega gestionada (correo electrónico y SMS) y cuotas más elevadas de la Community Network. Consulta la página de precios para ver la comparación completa y realizar la actualización.

  Free Contributor Professional Business Enterprise
Precio al mes (IVA incluido)0 €0 €14,90 €39,00 €A partir de 663 €
Precio/año (≈ 17 % de descuento)0 €0 €149 €389 €Personalizado
Plazo mínimoMensualMensual12 meses
Consultas a la API al día1 0005.00025 000100 000Unlimited
Detección y notificación de rutas de señuelo (archivo .htaccess gestionado automáticamente, a partir de la versión 2.0.11)
Hardening Mode contra ataques coordinados (desde la versión 2.0.8)
Web Application Firewall: motor + conjunto de reglas básicas (desde la versión 2.1.2)
Priority Sync: conjuntos de reglas WAF avanzados (Paranoia Level 2/3) + fuentes en tiempo real de direcciones IP de bots y direcciones desechablesSemanalDiarioDiarioDiario
Verified Bot Detection (rangos de IP oficiales + FCrDNS)
Disposable-Email Blocking y Comment Honeypot
Security Headers: el trío básico (X-Content-Type-Options, X-Frame-Options, Referrer-Policy)
Security Headers avanzados (HSTS, Permissions-Policy, generador de CSP, aislamiento entre orígenes)
Protection & Hardening Score (indicadores del Dashboard, calificación de A+ a F)
Códigos de referencia de las páginas de bloques (X-RIP-Ref)
MainWP Integration (gestión remota)
Audit Event Trail (registro del ciclo de vida del usuario + exportación a CSV/JSON, desde la versión 2.1.2)
Reports al día502001 0005.000Unlimited
Threat Feed de la comunidad (Blacklist diaria)
Dominios por licencia11315Unlimited
Correos de 2FA al mes (SMTP gestionado)5002 500Unlimited (uso razonable)
SMS de 2FA al mes (retransmisión gestionada a nivel mundial)2575Personalizado
SMS Bundles de prepago (50 / 200 / 500 SMS a 14,90 / 49,90 / 99,90 €, IVA incluido)
Mail Bundles (1 000 / 5 000 / 25 000 correos a 4,90 / 14,90 / 49,90 €, IVA incluido)
Plantillas de correo con marca personalizada
Informes y análisis sobre el uso de la autenticación de dos factores (2FA)
Políticas de 2FA configurables según el rol de cada usuario
Restricción de los horarios de Login de los usuarios (por rol / por usuario)
Operaciones masivas y análisis
Multi-site Dashboard en reportedip.com
Claves de seguridad avanzadas (varias claves WebAuthn, detección de modelos, alertas de claves)
White-label (Setup Wizard, páginas de 2FA, plantillas de correo)
WooCommerce Frontend 2FA (desafío integrado en la tienda con diseño personalizado)
Integración completa con WooCommerce (plantillas White-label, auditoría de suscripciones y afiliaciones)
Scripts completos de WP-CLI
GDPR Export Tool
Weekly PDF Security Report (por correo electrónico)Sí (semanal)Sí (diario, opcional)
Cloud Backup de la configuración de Hive30 días90 días1 año
Retención de registros30 días30 días90 días1 añoConfigurable
Support SLAComunidadComunidadCorreo electrónico: 48 hPrioridad: 12 hTeléfono: 4 h
AVV / DPA personalizados

La versión Business admite reservas múltiples. Todas las cifras de la versión Business indicadas anteriormente corresponden a una sola licencia. Reserva la versión Business x2, x5, x10 o x20 al finalizar la compra (o cámbiala más tarde en el Portal de clientes de Stripe) y las comprobaciones/Reports diarios, la asignación mensual de correos electrónicos y SMS de 2FA y el número de dominios se adaptarán al número de licencias que tengas; por ejemplo, x5 = 75 dominios y 500 000 comprobaciones al día. Se aplica automáticamente un descuento por volumen a partir de x2. La versión PRO sigue siendo de una sola licencia; las cifras de la versión Enterprise son Unlimited (uso razonable) y nunca se multiplican.

Orden de consumo del paquete (PRO y Business): primero se agota el límite mensual incluido (25 SMS / 500 correos en PRO, 75 / 2.500 en Business) y, a continuación, el saldo prepagado del paquete. Una vez agotados ambos, la API devuelve un código de estado HTTP 429 y Hive recurre a la autenticación local wp_mail() para el correo electrónico (o los límites máximos fijos de SMS); el resto de métodos de 2FA siguen operativos. Los créditos de los paquetes nunca caducan. Stripe utiliza tax_behavior = inclusive para los paquetes con precio bruto (conforme a la PAngV); Stripe Tax gestiona automáticamente la facturación inversa y el OSS.

Gestión multisitio. En los planes Professional y superiores, el complemento de Hive puede registrar hasta 3 (PRO) o 15 (Business) dominios protegidos con una sola licencia; además, al contratar Business x2–x20, esta cifra aumenta a 30–300 dominios. Dashboard común a todos los sitios, Whitelist centralizada, facturación única: gestiona todo desde tu Dashboard de reportedIP.com .
Novedades de la serie 2.1: el lanzamiento del cortafuegos y su refuerzo para entornos de producción. Se ha incorporado una capa completa de cortafuegos sobre el sensor existente y el núcleo de 2FA:
  • 2.1.0: MainWP Integration y códigos de referencia para la página de bloqueo. Ahora Hive se puede gestionar de forma remota desde un Dashboard de MainWP (sincronización de métricas de seguridad agregadas y provisión de API Keys) sin necesidad de un plugin secundario adicional, autenticándose a través del canal secundario de MainWP: ninguna IP, nombre de usuario, clave secreta ni API Key sale del sitio. Cada respuesta bloqueada incluye ahora un código de referencia correlacionable (p. ej. WAF_SQLI-3F9A2B71), que se muestra en la página y se incluye como el X-RIP-Ref encabezado; el token del incidente es un hash unidireccional de la IP, el motivo y la hora, por lo que no se exponen datos personales. La página bloqueada se ha rediseñado en el sistema de diseño y se ha traducido íntegramente.
  • 2.1.2 — Marco de entrega de reglas + Web Application Firewall (motor gratuito, profundidad PRO). Conjuntos de reglas entregados por el servidor, versionados, firmados con Ed25519 y escalonados por niveles (waf, bot_signatures, disposable_domains, scan_paths) verificados frente a una clave pública incluida en el paquete antes de su aplicación: un feed manipulado o inaccesible nunca puede corromper las reglas, y una línea de base incluida funciona totalmente sin conexión. El WAF con inspección de solicitudes y su línea de base OWASP Top 10 de Paranoia Level 1 son gratuitos en todos los planes; el plan Professional desbloquea el conjunto de reglas de Nivel 2/3, más detallado y actualizado con frecuencia, a través de Priority Sync. Resistente a ataques ReDoS y con modo «fail-open», incluye una integración opcional previa a WordPress (configuración automática de Apache/PHP-FPM, fragmento de código para nginx) que bloquea antes de que se cargue WordPress.
  • 2.1.2 — Más sensores Free. Verified Bot Detection (rangos de IP oficiales + Reverse DNS confirmado por reenvío —los rastreadores legítimos nunca se bloquean—), Disposable-Email Blocking en el registro (los relés de privacidad pasan sin problemas), un Comment Honeypot invisible, Security Headers básicos, una Protection & Hardening Score (calificación de A+ a F): todo ello Free. La versión Professional añade encabezados de seguridad avanzados (HSTS, Permissions-Policy, CSP, aislamiento de origen cruzado); la versión Business añade el Audit Event Trail (el esquema v9 añade la audit_log tabla).
  • 2.1.3 — Corrección de IPv6 para bots verificados. La confirmación directa ahora también resuelve registros AAAA, por lo que los rastreadores legítimos que se conectan a través de IPv6 ya no se marcan como falsos; facebookexternalhit se verifica con los rangos de IP publicados por Meta en lugar de mediante Reverse DNS.
  • 2.1.4 — Revisión de la experiencia de usuario (UX) de administración del cortafuegos. La pestaña «Visión general» es ahora un Dashboard (estado por módulo, contadores de actividad de los últimos 7 días, flujo de eventos recientes del cortafuegos); cada pestaña se abre con una introducción en lenguaje sencillo, y una nueva pestaña «Configuración del servidor» reúne todos los fragmentos de código del servidor web en un solo lugar. La configuración de la Extended Protection ahora es verificable: el estado indica si la protección se ha ejecutado realmente para la solicitud actual. Nuevos códigos de motivo específicos del WAF para SSRF, Log4Shell, inyección de objetos PHP, NoSQL, XXE, webshell, CRLF e inyección de plantillas.
  • 2.1.5 – 2.1.8 — Fortalecimiento contra False Positives y a prueba de fallos. Los rastreadores de búsqueda verificados quedan exentos de la escalera de pruebas de User Enumeration (una corrección de regresión de SEO), la clasificación de bots pasa a tener tres estados («desconocido» nunca se marca), el comparador CIDR rechaza de forma clara las familias de direcciones que no coinciden, las direcciones de bucle invertido o privadas nunca se señalan como atacantes, y al eliminar el complemento de «Extended Protection», el filtro se neutraliza y se convierte en un marcador de posición inerte en lugar de eliminarse: una directiva auto_prepend_file ya no puede provocar un error 500 en el sitio.
  • 2.1.9 – 2.1.11 — WAF Exceptions gestionadas por el backend. Los False Positives pueden resolverse desde el panel de administración sin tocar el código: una Allowlist de «WAF Exceptions» (limitada a una regla, un grupo de reglas o el motor en una ruta, opcionalmente restringida a una IP/CIDR) más una acción de «Permitir» con un solo clic en cada fila del registro de WAF. Las excepciones también se integran en el complemento pre-WordPress, y cada decisión de bloqueo registra ahora el valor coincidente, el destino, el método, el URI y el agente de usuario, lo que permite el diagnóstico sin necesidad de reproducir la solicitud. Véase «WAF Exceptions» más abajo.
  • 2.1.12 – 2.1.13 — Dashboard de aprovisionamiento y análisis de MainWP. MainWP puede cambiar un sitio gestionado al modo «Community Network» junto con el aprovisionamiento clave, y el Dashboard de seguridad se ha rediseñado para ofrecer una vista analítica completa (barra de titulares, siete familias de amenazas, gráfico de grupos de reglas del WAF, desglose por gravedad, principales atacantes).
  • 2.1.14 – 2.1.18 — Correctitud en entornos de alojamiento reales. Todas las fechas y horas almacenadas son coherentes con el UTC (el bloqueo automático fallaba de forma silenciosa en servidores cuya zona horaria de la base de datos no era UTC), las marcas de tiempo de administración se muestran en la zona horaria del sitio, las consultas de niveles se sirven exclusivamente desde la caché (ya no se realizan sondeos de cuota de rutas frecuentes) y el estado de la API se mide en una ventana móvil, de modo que una interrupción puntual ya no se notifica como «degradada» de forma permanente.
  • 2.1.17 – 2.1.20 — Extended Protection en nginx. Las pilas de PHP-FPM se configuran automáticamente a través de un directorio raíz de documentos .user.ini , independientemente de los bloques de nginx location , el filtro omite la inspección del cuerpo de las solicitudes autenticadas (los editores que guardan entradas ya no pueden activarlo), la desactivación del WAF también desactiva el filtro, y la pestaña «Configuración del servidor» muestra los fragmentos manuales de php.ini / fastcgi_param fragmentos de php.ini siempre que la directiva generada automáticamente aún no se esté ejecutando.
  • 2.1.22 – 2.1.24 — Aplicación de la 2FA sin bloqueos. Un usuario que agote el periodo de gracia y el límite de intentos ahora inicia sesión y se le redirige directamente a la inscripción obligatoria en la 2FA, en lugar de quedar bloqueado (el antiguo comportamiento de bloqueo definitivo sigue estando disponible como opción de política); los administradores y superadministradores nunca pueden quedar bloqueados de forma definitiva. El envío duplicado del desafío de 2FA ya no deja a los usuarios bloqueados en una página de «sesión caducada». Además, nuevas firmas WAF: la prueba de eval-stdin.php (CVE-2017-9841) queda bloqueada en todos los planes.
  • 2.1.25 — Clase de ataque REST por lotes bloqueada; se ha corregido la vulnerabilidad de elusión mediante Payload codificado. Dos nuevas reglas básicas gratuitas bloquean estructuralmente la primitiva de confusión de rutas REST del núcleo de WordPress (no mediante tokens, por lo que las variantes no las eluden); el cortafuegos ahora inspecciona una copia descodificada del cuerpo de la solicitud (se detectan las cargas útiles codificadas en porcentaje ocultas dentro de JSON), y los bloqueos de «Paranoia Level-2/3» muestran su categoría de referencia específica en lugar de un BLOCKED .
  • 2.1.26 – 2.1.28 — Identificaciones de rastreadores verificadas, bloqueos por reputación en todas partes. Un agente de usuario que afirme ser un rastreador se cotecha con el Reverse DNS confirmado y los rangos de IP oficiales antes de que ningún sensor lo exima; un control central evita que cualquier ruta de bloqueo automático excluya a un Googlebot verificado, mientras que los eventos que implican el uso de credenciales (intentos fallidos de Login, ataques de «password spraying») eluden por completo la Allowlist de bots —los rastreadores auténticos nunca envían credenciales—. Una caída en la reputación de la comunidad ahora genera un bloqueo temporal que abarca todas las áreas, no solo el formulario de Login. Se ha elevado la versión mínima de WordPress a 5.9.
  • 2.1.29 – 2.1.31 — Autoprotección y escalado más inteligente. El servidor ya no puede bloquear automáticamente su propia IP por rastreros de precarga de caché, bucles de WP-Cron o autorrequerimientos REST (una migración de actualización elimina los autobloqueos existentes), la escala de escalación pondera el volumen de ataques (una ráfaga de 60 infracciones salta peldaños en lugar de empezar por el mínimo), las infracciones repetidas contra una misma regla se agrupan en una única entrada del registro sin perder crédito en la escala, y las páginas de archivo de autores pueden mantenerse públicas independientemente del ?author=N bloqueo de enumeración.
  • 2.1.32 — La versión de rendimiento. De 36 a 11 consultas de plugins por solicitud anónima en la interfaz de usuario; la Blocklist previa a WordPress responde a partir de un encabezado de 8 KB en lugar de leer hasta 1 MB por solicitud; los cuerpos de las solicitudes solo se leen cuando una regla los inspecciona realmente; el TTFB del Dashboard se ha reducido de 920 ms a 278 ms en una tabla de registros de 500 000 filas, y la limpieza de la retención se ejecuta en bloques delimitados (el esquema v13 reequilibra el conjunto de índices). La capa de WordPress vuelve a aplicar los bloqueos de rangos CIDR.
  • 2.1.33 – 2.1.36 — Compatibilidad oficial con YubiKey y Hardware Security Key. Las tres superficies de desafío completan un proceso completo de WebAuthn; un gestor de claves de seguridad en el perfil gestiona múltiples claves con nombre; el registro detecta el modelo de clave mediante certificación (AAGUID); un contador de firmas que no avanza (clave clonada) es rechazado y se notifica por correo electrónico, y la sección de 2FA del perfil se ha rediseñado en torno a fichas de métodos redactadas en lenguaje sencillo, con un método predeterminado seleccionable por el usuario. Se ofrece una clave gratuita por cuenta en todos los planes; las claves de seguridad avanzadas (varias claves, detección de modelos, alertas de ciclo de vida) corresponden al plan Business. Véase «Hardware Security Key».

Defensa en 6 capas

Hive aplica sus comprobaciones en orden: cada capa puede interrumpir la solicitud antes de que llegue a la siguiente. Se aplica init con prioridad 1 para que otros complementos no se ejecuten en caso de una IP bloqueada.

  1. Whitelist: las direcciones IP y los rangos CIDR de confianza siempre tienen acceso permitido (tu oficina, servicios de monitorización, etc.).
  2. Lista de bloqueo local: direcciones IP que has bloqueado manualmente o que han superado los umbrales locales. Almacenadas en wp_reportedip_hive_blocked.
  3. The Web Application Firewall (WAF): the active ruleset of the WAF is compared with the URI, query, body, and user agent; if there is a match, it is blocked through the shared, reference-coded 403 path. It takes into account Whitelists and content authors to avoid False Positives. Un complemento opcional previo a WordPress puede ejecutar esta capa incluso antes de que se cargue WordPress.
  4. Contadores de intentos: los contadores de Login, comentarios, XMLRPC, ráfagas REST y escaneos 404 activan un bloqueo automático una vez alcanzado el umbral.
  5. Reputación de la comunidad: en el modo «Community Network», las direcciones IP con un nivel de confianza ≥ al umbral se bloquean en el perímetro.
  6. Desafío de 2FA: las cuentas protegidas deben completar un segundo factor para iniciar sesión.

The Sixteen Attack Sensors

Cada sensor se puede activar o desactivar y ajustar de forma independiente en Ajustes → Protección. Las dos últimas filas —Block Escalation y el puente de Login de WooCommerce— son mecanismos complementarios que siguen el mismo flujo en lugar de ser sensores independientes: Block Escalation es la escala de respuesta a la que contribuyen todos los sensores, y el puente de WooCommerce contabiliza los fallos de Login en la tienda online para el sensor de Brute-Force existente.

SensorQué supervisaUmbral predeterminado
Login por Brute ForceLogins fallidos por IP a través de wp_login_failed.5 en 15 minutos
Ataque de «spray» de contraseñasNombres de usuario distintos intentados desde la misma IP (ataques de credenciales «low-and-slow»).5 en 10 minutos
Spam en comentariosPublicaciones de comentarios por IP a través de comment_post.5 en 60 minutos
Uso indebido de XMLRPCLlamadas XMLRPC por IP a través de xmlrpc_call.10 en 60 minutos
Picos de REST APISolicitudes REST anónimas por IP. Los Endpoints del banner de cookies se omiten por defecto (real-cookie-banner, complianz, borlabs-cookie, cookie-law-info).240 en 5 minutos
Detector de errores 404 y escaneosAltas tasas de errores 404 más activación instantánea en rutas de Honeypots (.env, .git/config, wp-config.php.bak, …).12 en 2 minutos
Detección y notificación de rutas señueloRutas de cebo (.env.backup, wp-config.old.php, db-dump-master.sql.php, admin-shell-console.php, …). Un solo acceso devuelve un 403 y pone en cola un informe comunitario de alta gravedad, pero no activa un bloqueo local de IP de 24 horas, por lo que un complemento de respaldo que escriba wp-config.old.php o un administrador que pruebe la URL de cebo no puede bloquear el acceso del propio sitio a su propio tráfico. Apache .htaccess se gestiona automáticamente (el bloque marcador # BEGIN ReportedIP Hive Decoy situado encima # BEGIN WordPress a través de insert_with_markers()) de modo que los archivos de cebo reales del disco se redirigen a través de WordPress en lugar de ser servidos directamente por Apache. Los administradores de Nginx disponen de un fragmento de código para copiar y pegar rewrite ^ /index.php last; en «Configuración». El filtro reportedip_hive_decoy_paths amplía la lista de señuelos.1 visita = 403 + informe de la comunidad
Web Application FirewallInspecciona la URI, la cadena de consulta, el cuerpo de la solicitud y el agente de usuario comparándolos con el waf (SQLi, XSS, recorrido de rutas, inyección de comandos, envoltorios LFI, SSRF, Log4Shell/JNDI, inyección de objetos PHP, NoSQL, XXE, subidas de webshells, CRLF, inyección de plantillas). Motor + OWASP Top 10, Paranoia Level 1, base de referencia gratuita en todos los planes; la versión Professional desbloquea los conjuntos de reglas firmados de nivel 2/3 a través de Priority Sync. Resistente a ReDoS, modo «fail-open», con Whitelist y reconocimiento del autor del contenido. Bloqueos opcionales «drop-in» previos a la carga de WordPress.Paranoia Level seleccionable
Verified Bot DetectionConfirma que una solicitud que afirma ser de Googlebot, Bingbot u otro rastreador procede realmente de ellos: primero se realiza una comprobación sin DNS con los rangos de IP oficiales del rastreador y, a continuación, se recurre a un Reverse DNS con confirmación directa. Los suplantadores se marcan (por defecto) o se bloquean; los rastreadores auténticos nunca se bloquean.Marcar o bloquear a los suplantadores
Disposable-Email BlockingComprueba la dirección en el momento del registro (WordPress + WooCommerce) cotejándola con la disposable_domains lista. Los relés de privacidad (Apple «Ocultar mi correo electrónico», Firefox Relay, …) constituyen una categoría distinta que se deja pasar por defecto.Desactivar / supervisar / bloquear
Comment HoneypotUn campo señuelo invisible en el formulario de comentarios, excluido por los lectores de pantalla; los bots de spam que rellenan todos los campos son rechazados sin la molestia del CAPTCHA para los visitantes reales.Siempre activado (cuando está habilitado)
User EnumerationBloquea ?author=N, /wp-json/wp/v2/users, búsquedas de usuarios oEmbed; iguala las respuestas de error de «usuario no válido» frente a «contraseña incorrecta». Las páginas de archivo de autor (/author/<slug>/) comparten el bloqueo por defecto y pueden mantenerse públicas mediante un interruptor independiente.5 en 5 min
Monitor de contraseñas de aplicacionesLimita application_password_failed_authentication; evita que se eluda la autenticación de dos factores (2FA) mediante la autenticación básica.5 en 15 min
Geo / ASN AnomalyCompara el país y el ASN en los Logins correctos con un historial móvil de 90 días; opcionalmente, revoca los tokens de Trusted Devices en caso de anomalía.Se requiere ≥ 1 Login previo
Solidez de la contraseñaExige una longitud mínima y una combinación de clases de caracteres en los roles restringidos; comprobación opcional «Have-I-Been-Pwned» k-anon (solo prefijo SHA-1).8 caracteres + clases
Ocultar la URL de LoginSlug personalizado (por defecto wp-login.php); la URL original devuelve una página de bloqueo o un error 404.Slug de 3 a 50 caracteres
Block EscalationEscalada progresiva: los infractores reincidentes pagan más en cada ciclo.5 m → 15 m → 30 m → 24 h → 48 h → 7 d
Login en WooCommerceLos errores en el formulario de cuenta de WooCommerce se suman al contador de ataques Brute-Force.Heredan el límite de ataques Brute-Force

Progressive Block Escalation

Los reincidentes pagan más. La escala predeterminada es 5 min → 15 min → 30 min → 24 h → 48 h → 7 d. Tras 30 días sin incidentes, el contador se reinicia en el paso 1. Los visitantes legítimos que activan el bloqueo por primera vez (CGNAT, administradores que se equivocan al teclear, salida de redes móviles) se recuperan en cuestión de minutos; los atacantes persistentes alcanzan el nivel de 7 días.

La escala, la ventana de reinicio y el interruptor principal se encuentran en Ajustes → Bloqueo → Progressive Block Escalation. El paso «Protección» del asistente muestra el interruptor principal, de modo que las instalaciones nuevas tienen en cuenta la escalada desde el primer guardado. La configuración fija block_duration se sigue aplicando cuando la escala está desactivada. La granularidad inferior a una hora la proporciona ReportedIP_Hive_Database::block_ip_for_minutes().

Web Application Firewall y la entrega de reglas

Desde la versión 2.1.2, Hive incluye un Web Application Firewall que inspecciona las solicitudes. Si init si coincide el waf con el URI, la cadena de consulta, el cuerpo de la solicitud y el agente de usuario, y bloquea las coincidencias a través de la ruta 403 compartida, segura para la caché y codificada por referencia. Está protegido contra ataques ReDoS (retroceso PCRE limitado, comportamiento «fail-open» ante una regla mal formada), tiene en cuenta las Whitelists y el autor del contenido para evitar False Positives, y añade aproximadamente 4 µs de CPU por solicitud sin consultas adicionales a la base de datos cuando existe una caché de objetos persistente.

Las reglas no están codificadas de forma fija en el complemento. Se suministran desde la Rule API de reportedIP.com: entregadas por el servidor, versionadas, firmadas con Ed25519 y distribuidas por niveles en cuatro conjuntos de reglas (waf, bot_signatures, disposable_domains, scan_paths). El complemento verifica cada conjunto de reglas con una clave pública incluida antes de aplicarlo y siempre recurre a un conjunto de reglas de referencia incluido, por lo que una fuente manipulada, de tamaño excesivo o inaccesible nunca podrá corromper tus reglas. Las nuevas firmas de ataque llegan a todas las instalaciones en cuestión de horas, sin necesidad de lanzar una nueva versión del complemento.

  • Gratis en todos los planes: el motor WAF y el conjunto de reglas de referencia «OWASP Top 10 - Paranoia Level 1», totalmente utilizables sin conexión en el modo «Local Shield» a partir de la línea de base incluida.
  • Priority Sync (plan Professional y superiores): los conjuntos de reglas más completos, actualizados con frecuencia y firmados de «Paranoia Level 2/3» (cobertura de ofuscación y elusión), además de los feeds en tiempo real de rangos de IP de bots y dominios desechables. El plan Free sincroniza la línea de base incluida; el plan Contributor, semanalmente; y los planes Professional y superiores, diariamente.
  • Extended Protection «drop-in» (opcional): un guardián previo a WordPress auto_prepend_file que ejecuta el WAF antes de que se cargue WordPress. Las pilas de Apache (.htaccess) y las pilas PHP-FPM —incluido nginx + PHP-FPM— se configuran automáticamente a través de un directorio raíz de documentos .user.ini, que abarca todos los Endpoints de PHP independientemente de los bloques de nginx location (desde la versión 2.1.17); las pilas sin una SAPI de PHP FastCGI se configuran mediante una línea de php.ini o del panel de alojamiento auto_prepend_file o un fragmento de código de nginx fastcgi_param de la pestaña «Configuración del servidor». El guard omite por defecto la inspección del cuerpo de la solicitud para las solicitudes autenticadas, por lo que los editores que hayan iniciado sesión y guarden contenido nunca lo activarán; las reglas de URL y de agente de usuario siguen ejecutándose, y el motor interno de WordPress sigue siendo el mecanismo de seguridad que tiene en cuenta las capacidades. Desactivado por defecto; al eliminarlo, Hive controla y neutraliza el guard, convirtiéndolo en un marcador de posición inerte en lugar de borrarlo (desde la versión 2.1.8), de modo que una directiva que quede en un archivo php.ini o en una configuración de nginx editada manualmente nunca podrá apuntar a un archivo que no exista y provocar un error 500 en el sitio. Desactivar el motor WAF o cambiar al modo de solo informe también neutraliza el filtro automáticamente.
  • Códigos de referencia: cada bloque (WAF o sensor) lleva un código correlacionable como WAF_SQLI-3F9A2B71, que se muestra en la página de bloqueo y se emite como el X-RIP-Ref encabezado. Un visitante bloqueado por error proporciona una cadena corta que el administrador puede cotejar en los registros; el token es un hash unidireccional de la IP, el motivo y la hora, por lo que no se exponen datos personales.

La configuración y el estado en tiempo real se encuentran en el menú dedicado al cortafuegos: un Dashboard de «Visión general» (estado por módulo, contadores de 7 días, eventos recientes del cortafuegos), una pestaña «WAF» (motor / modo / selector de «Paranoia Level»), una pestaña de «Verificación de bots», una pestaña de «Defensa contra el spam» (correo electrónico desechable + honeypot), una vista del estado de «Rule Sync» y una pestaña de «Configuración del servidor» que reúne todos los fragmentos de código del servidor web en un solo lugar.

WAF Exceptions: gestión de False Positives

Desde la versión 2.1.9, el administrador puede resolver un False Positive sin modificar el código, del mismo modo que funcionan las exclusiones de ModSecurity y la Allowlist de Wordfence. Un endpoint propio que recibe legítimamente cargas útiles similares a ataques (un formulario que acepta HTML, una API de seguridad que recopila datos de ataques notificados, un generador de páginas que envía código sin procesar) activa ocasionalmente una firma de inyección; una excepción permite que ese caso concreto pase, mientras que el motor sigue protegiendo todo lo demás.

  • Dónde. Cortafuegos → WAF → WAF Exceptions, además de una acción de «Permitir» con un solo clic en cada fila del registro del WAF que rellena automáticamente una excepción específica para esa regla concreta en esa ruta —sin necesidad de saberse de memoria el ID de la regla—.
  • Ámbitos de aplicación. Una excepción se aplica a una sola regla (por ID de regla, extraído del registro de bloqueos del WAF), a un grupo de reglas (seleccionado de entre las categorías conocidas del motor) o —en el caso de un Endpoint propio— a todo el motor en una ruta, opcionalmente restringida a un rango de IP o CIDR. Una excepción para todo el motor debe incluir siempre una restricción de ruta o de IP, de modo que el cortafuegos nunca pueda desactivarse globalmente por accidente.
  • Limítala lo máximo posible. Es preferible una sola regla en una ruta antes que un grupo de reglas, y un grupo de reglas antes que una excepción para todo el motor. El registro de bloqueos recoge el valor coincidente, el destino inspeccionado, el método de solicitud, el URI y el agente de usuario (desde la versión 2.1.11), de modo que puedes ver exactamente qué regla se activó y por qué antes de permitirla.
  • La Extended Protection respeta la misma lista. Las excepciones activas se integran en el filtro de seguridad previo a WordPress y se vuelven a integrar cada vez que cambia la Allowlist; la capa previa a WordPress y el motor integrado en WordPress nunca discrepan.
  • Multisite y planes. Las excepciones son datos válidos para toda la red, disponibles en todos los planes; el motor de protección en sí mismo sigue siendo gratuito.
  • Vía de escape para desarrolladores. apply_filters('reportedip_hive_waf_bypass_routes', []) Excluye rutas REST a nivel de código. La coincidencia se comprueba mediante un prefijo anclado frente a la ruta REST de WP resuelta —nunca mediante una subcadena no anclada de la URI sin procesar—, por lo que un token de elusión introducido de forma encubierta en un parámetro de consulta no relacionado no puede desactivar el WAF.

Verified Bot Detection, Disposable-Email Blocking y Comment Honeypot

  • Verified Bot Detection (Free). Confirma que una solicitud que afirma ser de Googlebot, Bingbot u otro rastreador procede realmente de ellos: primero se realiza una comparación sin DNS con los rangos de IP oficiales del rastreador (Priority Sync) y, a continuación, se recurre a un Reverse DNS confirmado hacia adelante que resuelve tanto los registros A como los AAAA. Los suplantadores se marcan (por defecto) o se bloquean; un rastreador auténtico nunca se bloquea. facebookexternalhit Se verifica con los rangos de IP publicados por Meta.
  • Disposable-Email Blocking (Free). Comprueba la dirección en el momento del registro (WordPress y WooCommerce) cotejándola con la lista de correos desechables. Tres modos: desactivado / monitorizar / bloquear. Los relés de privacidad (Apple «Ocultar mi correo electrónico», Firefox Relay, …) constituyen una categoría distinta que se deja pasar por defecto. La lista en tiempo real se basa en Priority Sync.
  • «Comment Honeypot» (Free). Un campo señuelo invisible, excluido de los lectores de pantalla, en el formulario de comentarios; los bots de spam que rellenan todos los campos son rechazados sin la molestia del CAPTCHA para los visitantes reales.

Security Headers

Fortalecimiento de los encabezados de respuesta en cada solicitud del front-end. Los encabezados ya enviados por tu servidor u otro plugin se detectan y no se modifican.

  • Trío básico (Free)X-Content-Type-Options, X-Frame-Options, Referrer-Policy.
  • Avanzado (Professional) — HSTS, Permissions-Policy, una Política de Seguridad de Contenido (solo de informe por defecto, con un generador) y el trío de aislamiento entre orígenes (COOP / CORP / COEP).

La pestaña «Configuración del servidor» permite, además, exportar los encabezados configurados como configuración de nginx add_header / Apache Header a nivel de servidor.

Protection & Hardening Score

Dos indicadores del Dashboard (de 0 a 100, más una calificación de A+ a F, al estilo del Mozilla Observatory) evalúan tu cobertura de detección y tu nivel de refuerzo de la seguridad, con enlaces directos a cada elemento para activar un sensor. Las funciones bloqueadas (de pago) cuentan a favor del potencial visible, no en contra de tu puntuación, por lo que el Free tier también puede alcanzar la máxima calificación.

Dashboard de seguridad y análisis

El Dashboard principal se abre con una barra de titulares: ataques bloqueados en los últimos 30 días, ataques bloqueados hoy, direcciones IP bloqueadas actualmente y cuántas de tus capas de protección están activadas (por ejemplo 17 / 20). Debajo, los análisis recogen datos de todos los sensores, no solo los clásicos contadores de Login y spam.

  • Cronología de eventos de seguridad. Un gráfico de áreas apiladas que agrupa toda la actividad en siete categorías —Login y credenciales, Cortafuegos (WAF), Escáneres y sondas, Bots falsos, Reconocimiento y enumeración, Spam y inundaciones, y Anomalías— en un periodo seleccionable de 7, 30 o 90 días.
  • Distribución de amenazas. Un desglose de qué familia de ataques predominó durante el periodo, para que puedas ver de un vistazo si te enfrentas a ataques de Brute-Force, intentos de explotación a nivel de cortafuegos, escáneres o spam.
  • Cortafuegos: principales tipos de ataque. Los bloqueos del WAF clasificados por grupo de reglas (SQL Injection, cross-site scripting, recorrido de rutas, Log4Shell, agentes de usuario de escáneres, etc.).
  • Desglose por gravedad. Recuentos de «Crítico», «Alto», «Medio» y «Bajo», para que el volumen de incidentes graves nunca quede oculto tras un único total.
  • Principales atacantes (30 días). Las direcciones IP de origen más activas con su recuento de impactos, cuándo se detectaron por última vez y si actualmente están bloqueadas o solo bajo vigilancia.
  • Actividad reciente. El flujo de eventos en tiempo real, con cada entrada etiquetada con su gravedad y familia de amenazas, además de los detalles relevantes (regla del WAF que se ha aplicado, ruta explorada, nombre del bot suplantado).

Todos los recuentos son reales en todos los planes: el Dashboard refleja lo que su sitio web ha bloqueado realmente. Los planes Professional y Business plan añaden análisis más detallados (historial y retención de registros más amplios, ubicación geográfica de los atacantes y el registro de auditoría conforme a las normas de cumplimiento que se describe a continuación).

Audit Event Trail (Business)

Un registro del ciclo de vida del usuario de solo adición —Logins, intentos fallidos de Login, restablecimientos de contraseña, actualizaciones de perfil, cambios de rol (incluido el usuario en funciones), registros y detección de nuevas direcciones IP— con filtros, exportación a CSV / JSON, integración con WordPress para la exportación y supresión de datos conforme al RGPD, y limpieza de la retención (1 año en el plan «Business», configurable en el plan «Enterprise»). Almacenado en la audit_log (esquema v9). Los registros de seguridad estándar de 30 días siguen estando disponibles en todos los planes; el registro de auditoría es el registro de cumplimiento normativo adicional.

MainWP Integration

Hive se puede gestionar de forma remota desde un Dashboard de MainWP sin necesidad de ningún plugin secundario adicional ni de adquirir ninguna extensión de MainWP. Se integra con el filtro «MainWP Child» mainwp_child_extra_execution , de modo que cada tarea se autentica a través del canal existente de MainWP Child: sin credenciales adicionales ni nuevas vulnerabilidades. La configuración es sencilla: instala MainWP Child y Hive en el sitio gestionado, conecta el sitio a tu Dashboard de MainWP como de costumbre, y listo.

Se gestionan dos tipos de tareas:

  • Sincronización de métricas de seguridad: solo recuentos agregados: bloqueos activos, tamaño de la Whitelist, intentos de Login fallidos, spam en comentarios, bloqueos por reputación, tamaño de la cola, eventos críticos recientes, usuarios con 2FA habilitado. Desde la versión 2.1.6, la sincronización también informa del estado del cortafuegos (waf_enabled, waf_report_only, waf_dropin_enabled, waf_dropin_running, waf_server y un indicador derivado waf_needs_setup indicador derivado), de modo que un Dashboard puede señalar los sitios cuya «Extended Protection» está activada pero aún no está en funcionamiento —por lo general, un host nginx que todavía está esperando su fragmento de código del servidor—.
  • Aprovisionamiento (reportedip_hive_provision): envía una API Key a un sitio gestionado desde el Dashboard de confianza y, desde la versión 2.1.12, opcionalmente cambia a modo «Community Network» en la misma tarea (community indicador). La tarea de sincronización informa del estado actual de cada sitio secundario operation_mode.

Ninguna dirección IP, nombre de usuario, clave secreta ni API Key sale jamás del sitio gestionado: la Payload de la sincronización se compone únicamente de recuentos e indicadores de estado.

Redes Multisite

La Full Edition es exclusiva para redes (Network: true, desde la versión 2.0.0): WordPress oculta la activación por sitio para que la configuración de seguridad se mantenga uniforme en toda la red. Las nueve tablas se encuentran en $wpdb->base_prefix, lo que hace que todas las decisiones relacionadas con amenazas se tomen a nivel de red: los intentos de Brute Force entre sitios se agrupan en un contador central, y un único bloqueo excluye la IP de todos los subsitios a la vez.

  • Los administradores de red disponen de la interfaz de configuración completa y de una vista de registros de todos los sitios.
  • Los administradores de un subsitio disponen de una interfaz de usuario de «Estado/Registros» de solo lectura, además de exactamente dos opciones de personalización editables por sitio: el slug de «Frontend 2FA» y los roles adicionales para la aplicación de la autenticación de dos factores (un subsitio puede exigir la autenticación de dos factores para más roles, nunca para menos).
  • Cron solo se ejecuta en el sitio principal: no hay sincronizaciones duplicadas ni operaciones de limpieza por subsitio.
  • WAF Exceptions son datos de toda la red, gestionados por el administrador de red.

Autenticación de dos factores (2FA)

Se admiten cuatro métodos, que se pueden combinar por usuario. Los Recovery Codes se generan durante la primera configuración. Las claves se cifran en reposo (libsodium con OpenSSL como alternativa).

  • TOTP — RFC 6238 (6 dígitos, ventana de 30 segundos). Funciona con Google Authenticator, Authy, 1Password, Bitwarden, …
  • Correo electrónico: OTP de seis dígitos a través del proveedor de correo configurado; con Rate Limit (3 códigos cada 15 minutos, 5 intentos de verificación por código, tiempo de espera de 60 segundos para reenviar).
  • SMS: OTP de seis dígitos a través del SMS Relay gestionado de reportedIP (plan Professional y superiores; ver más abajo). El número de teléfono está cifrado en reposo.
  • WebAuthn: Passkeys, llaves de seguridad (YubiKey), autenticadores de plataforma (Touch ID, Face ID, Windows Hello). Analizador CBOR propio, sin dependencias externas.
  • Trusted Devices: tokens de «recordar este dispositivo» opcionales con caducidad configurable (por defecto, 30 días). Almacenados wp_reportedip_hive_trusted_devices como hash SHA-256.
  • Recovery Codes: 10 códigos de un solo uso xxxx-xxxx ; aviso de nivel bajo de códigos cuando quedan ≤ 3.

Hardware Security Key (YubiKey)

Desde la serie 2.1.33–2.1.36, las claves de hardware FIDO2 tienen el mismo nivel de prioridad que el resto: la serie YubiKey 5 (USB-A, USB-C, Lightning y los modelos NFC que se acercan al teléfono), la línea Security Key de Yubico y cualquier otro autenticador CTAP2 funcionan en las tres superficies de desafío: la página intersticial de wp-login, el desafío de la tienda de WooCommerce y la pantalla de restablecimiento de contraseña. Las claves más antiguas que solo admiten U2F (CTAP1) no son compatibles oficialmente.

  • Configuración: abre tu página de perfil (Usuarios → Perfil → Autenticación de dos factores), selecciona «Añadir clave de seguridad» → «Clave de seguridad (USB / NFC)», asigna un nombre a la clave, insértala y toca el contacto dorado cuando el navegador te lo solicite. En un teléfono, mantén la llave en posición horizontal contra la parte trasera, cerca de la parte superior (NFC). No se requiere ningún PIN FIDO2 para el registro.
  • Una clave por cuenta es gratuita. El Business plan incluye claves de seguridad avanzadas: varias claves por cuenta —registra una segunda YubiKey y guárdala en un lugar seguro como copia de seguridad—, además de detección automática del modelo («YubiKey Serie 5 con NFC» que aparece junto a la clave) y alertas por correo electrónico cada vez que se añade o se elimina una clave.
  • ¿Has perdido tu llave? Inicia sesión con uno de tus Recovery Codes (o con tu llave de respaldo en el plan Business) y, a continuación, elimina la llave perdida en tu página de perfil. Al eliminar la última llave, el método queda desactivado por completo.
  • Detección de clones: cada inicio de sesión incrementa el contador de firmas de la llave. Una autenticación cuyo contador no aumente se rechaza, se registra y se notifica al titular de la cuenta por correo electrónico en todos los planes.
  • Algoritmos: ES256 en todas las claves; Ed25519 se negocia automáticamente en el firmware 5.2.3+ de YubiKey cuando el servidor dispone de libsodium.

Protección contra ataques de Brute Force en la 2FA

La escala del verificador de 2FA es 3 → 30 s, 5 → 5 min, 10 → 30 min, 15 → 1 h. Cuando el recuento alcanza el último escalón, la IP pasa a la ruta central auto_block_ip() (evento 2fa_brute_force) que activa la escalada progresiva y la notificación en modo «Community», al igual que cualquier otro sensor.

Headless 2FA REST

Para integraciones con aplicaciones, el complemento expone tres rutas bajo el espacio de nombres reportedip-hive/v1:

  • POST /2fa/challenge — nombre de usuario + contraseña → token de desafío + métodos habilitados (20 solicitudes / 5 min por IP).
  • POST /2fa/verify — token + método + código → establece la cookie de autenticación (30 solicitudes / 5 minutos por IP).
  • GET /2fa/methods — muestra los métodos activos para el usuario actual.

Login en la interfaz de WooCommerce

El Frontend 2FA de Hive en la interfaz de usuario se integra en el tema activo de tu tienda: los clientes que inician sesión a través de [woocommerce_my_account], el proceso de pago clásico o los bloques «Carrito» y «Pago» de WooCommerce completan su segundo factor de autenticación en una página con el diseño del tema. El estado del carrito y del proceso de pago se mantiene tras la redirección, y la cookie de Trusted Device se comparte con el flujo de Login de WordPress.

  • Ruta de configuración: 2FA → Login en la interfaz de usuario para WooCommerce.
  • Slugs configurables: slug de desafío (por defecto reportedip-hive-2fa) y el slug de configuración (por defecto reportedip-hive-2fa-setup); ambos son editables, se comprueba que no haya conflictos y las reglas de reescritura se actualizan automáticamente al modificarlos.
  • Rebaja de plan: desactivación suave en los planes Free y Contributor; se conservan los ajustes, las opciones de slug y el estado de incorporación; no hay pérdida de datos al volver a subir de plan.
  • Detección de conflictos: Hive muestra un aviso de administración cuando Solid Security, el plugin WP Two-Factor o Wordfence 2FA controlan el formulario de Login, y desactiva el desafío en la interfaz pública para evitar solicitudes duplicadas.
  • Disponibilidad del plan: «Professional» y superiores. Los sensores gratuitos de fallos de Login de WooCommerce (woocommerce_login_failed, woocommerce_checkout_login_form_failed_login) se mantienen en todos los planes y siguen alimentando el contador de ataques Brute Force.

Envío de correo electrónico y SMS

La capa de correo funciona a través de un contrato con un proveedor conectable (ReportedIP_Hive_Mailer). El proveedor predeterminado es el de WordPress wp_mail(); los integradores pueden sustituirlo por el suyo propio sin modificar el resto del plugin. En los planes Professional y superiores, el correo transaccional (códigos de 2FA, notificaciones de seguridad) puede utilizar en su lugar el Mail Relay gestionado de reportedIP.com —una infraestructura de remitentes compatible con SPF, DKIM y DMARC—, de modo que los correos con OTP no acaben en la carpeta de spam, como suele ocurrir wp_mail() de un alojamiento compartido.

  • La autenticación de dos factores (2FA) por SMS es una función del plan Professional que se ofrece exclusivamente a través del relé gestionado de reportedIP.com; no se requiere una cuenta de SMS propia, credenciales de Twilio ni contrato con un operador. Se configura automáticamente con un plan de pago; actívala en Ajustes → 2FA → SMS. El intervalo de reenvío por destinatario aumenta gradualmente (0 s → 30 s → 1 m → 2 m → 5 m → 15 m), de modo que un SMS lento o no recibido puede volver a solicitarse sin penalización, mientras que una ráfaga real sigue estando limitada.
  • Cuotas mensuales y paquetes de prepago. La versión PRO incluye 25 SMS y 500 correos electrónicos al mes; la versión Business, 75 y 2.500 (por licencia). Los paquetes de prepago amplían estas cuotas: consulta la tabla de niveles anterior para ver los precios y el apartado sobre el orden de consumo de los paquetes para saber exactamente qué ocurre cuando se agota una cuota (spoiler: el correo vuelve a utilizar el servidor local wp_mail(), y ningún método de 2FA deja de funcionar en ningún momento).
  • Plantillas de correo con marca personalizada (Business y superiores). El plan Business permite el correo transaccional White-label: tu logotipo, colores e identidad del remitente en los correos de 2FA y de notificación, en lugar de la marca de ReportedIP, a juego con el Setup Wizard y las páginas de 2FA también de White-label.
  • Resumen de la configuración

    Todos los ajustes se encuentran en ReportedIP Hive → Ajustes. Los valores predeterminados más importantes:

    AjusteValor por defectoDescripción
    operation_modeLocal ShieldLocal Shield o Community Network.
    block_threshold75 %Confidence Score mínimo para bloquear una IP (modo «Comunidad»).
    login_threshold / _timeframe5 / 15 minIntentos fallidos de Login por dirección IP antes del bloqueo automático.
    comment_spam_threshold / _timeframe5 / 60 minPublicaciones de comentarios por dirección IP antes del bloqueo automático.
    scan_404_threshold / _timeframe12 / 2 minErrores 404 por IP antes del bloqueo del escáner.
    xmlrpc_threshold / _timeframe10 / 60 minSolicitudes XMLRPC por IP antes del bloqueo automático.
    rest_burst_threshold / _timeframe240 / 5 minSolicitudes REST anónimas por IP. Rutas del banner de consentimiento eludidas.
    block_duration_hours24 hBloqueo de duración fija (se utiliza cuando la escalera está desactivada).
    block_escalation_enabled + block_ladder_minutesActivado — 5, 15, 30, 1440, 2880, 10080Escalera progresiva (minutos por paso).
    report_modeActivoactive (bloque) o report_only (registro sin bloqueo).
    data_retention_days30 díasTiempo durante el que se conservan los registros de seguridad antes de su eliminación automática.
    auto_anonymize_days7 díasAnonimizar la IP y el agente de usuario en las entradas del registro con más de N días de antigüedad.
    cache_duration / negative_cache_duration24 h / 2 hTTL de la caché ETag para consultas de reputación positiva/negativa.
    max_api_calls_per_hour100Límite flexible para distribuir el uso de la API a lo largo del día.
    2fa_enforce_roles(vacío)Roles separados por comas con 2FA obligatorio.
    2fa_grace_days7Días antes de que la aplicación de la norma bloquee efectivamente el acceso a los usuarios no registrados.
    2fa_trusted_device_days30Caducidad del token del Trusted Device.
    hide_login_enabled / _slug / _response_modeDesactivado — — página de bloqueoSlug personalizado de wp-Login; la URL antigua redirige a la página de bloqueo o a un error 404.

    Tablas de la base de datos

    Nueve tablas, creadas al activarse el plugin y con el prefijo wp_reportedip_hive_. Versión del esquema 13, con migración idempotente paso a paso en cada actualización del plugin; eliminación opcional al desinstalar. En Multisite, todas las tablas residen en $wpdb->base_prefix , por lo que las decisiones sobre amenazas se aplican a toda la red.

    • logs — Eventos de seguridad, detalles en JSON, gravedad, indicador de notificación; fuente de los análisis del Dashboard (tendencias de 7, 30 y 90 días, desgloses por familia y gravedad, principales atacantes).
    • whitelist — IP y rangos CIDR de confianza; caducidad opcional.
    • blocked — bloqueos activos (manuales / automáticos / por reputación), con blocked_until.
    • attempts — contadores por IP y por tipo de intento, con marcas de tiempo de primer y último intento.
    • api_queue — Informes pendientes y fallidos a la API de la comunidad; lógica de reintentos.
    • stats — Agregados diarios (Logins fallidos, bloqueos, spam, XML-RPC, reputación) para resúmenes de tendencias e informes.
    • trusted_devices — Tokens de dispositivos 2FA (hash SHA-256), IP y nombre del dispositivo, caducidad.
    • audit_log — Registro de auditoría del ciclo de vida del usuario de solo adición (Business); añadido en el esquema v9.
    • waf_exceptions — Lista de permitidos del WAF gestionada por el backend (ámbito de regla/grupo/ruta, IP/CIDR opcional); añadida en el esquema v10, para toda la red.

    Códigos cortos de la interfaz y pie de página automático

    Incrusta una pequeña insignia «protegido por Hive» en cualquier lugar del sitio. Todos los códigos cortos generan un único <rip-hive-banner> componente web y obtienen cifras en tiempo real de una caché transitoria de 6 horas (sin llamada a la API por cada visita a la página).

    • [reportedip_badge] — insignia pequeña (tono de protección predeterminado).
    • [reportedip_stat] — una única estadística (tono de confianza por defecto).
    • [reportedip_banner] — banner ancho (tono «comunidad» por defecto).
    • [reportedip_shield] — Icono de escudo (tono predeterminado de Contributor).

    Atributos comunes: stat (p. ej. attacks_30d, reports_total), tone (protect / trust / community / contributor), color, background, label, intro. El pie de página automático del asistente utiliza el mismo componente con una variante y una alineación configurables.

    Referencia de WP-CLI

    Las herramientas de 2FA son totalmente programables. Disponibles en wp reportedip 2fa …:

    wp reportedip 2fa status [--user=<id>]
    wp reportedip 2fa enable <user_id> --method=<totp|email|sms|webauthn> [--secret=<base32>]
    wp reportedip 2fa disable <user_id> [--method=<m>]
    wp reportedip 2fa reset <user_id>
    wp reportedip 2fa enforce --role=<role> [--remove]
    wp reportedip 2fa audit [--user=<id>] [--since=<date>]
    wp reportedip 2fa cleanup

    Compatibilidad con el plugin de caché

    Desde la versión 1.5.2, la respuesta de la página bloqueada define DONOTCACHEPAGE, DONOTCACHEDB y DONOTCACHEOBJECT (respetado por WP Rocket, W3 Total Cache, WP Super Cache y LiteSpeed Cache) y emite Cache-Control: no-store, no-cache, must-revalidate, max-age=0, Pragma: no-cache además del conjunto del núcleo de WordPress nocache_headers() . Un único atacante bloqueado ya no puede contaminar la caché de la página con un 403 que, de otro modo, recibirían los visitantes legítimos hasta que caduque la caché.

    Filtros y ganchos de acción

    • apply_filters('reportedip_hive_external_url', $url, $context) — sustituye cualquiera de las URL externas (política de privacidad, registro, FAQ, etc.).
    • apply_filters('reportedip_hive_rest_bypass_routes', $routes) — Amplía la lista de prefijos de rutas REST que eluden el monitor de ráfagas (integraciones de banners de cookies).
    • apply_filters('reportedip_hive_scan_paths', $paths) — Amplía la lista de rutas de Honeypot para el detector de escaneos.
    • apply_filters('reportedip_hive_decoy_paths', $paths) — Amplía la lista de rutas señuelo.
    • apply_filters('reportedip_hive_waf_bypass_routes', $routes) — Excluye rutas REST del WAF a nivel de código (coincidencia de prefijo anclado con la ruta resuelta; vacía por defecto). Da prioridad a las excepciones del WAF gestionadas por el backend para False Positives puntuales.
    • apply_filters('reportedip_hive_mail_provider', $provider) — Cambia a tu propio proveedor de correo electrónico (implementa interface-mail-provider.php).
    • do_action('reportedip_hive_ip_blocked', $ip, $reason) — se activa cuando se bloquea una IP.
    • do_action('reportedip_hive_report_queued', $ip, $category) — Se activa cuando se pone en cola un informe para la API.

    Preguntas frecuentes

    Las preguntas que nos hacen con más frecuencia. Cada respuesta incluye un enlace a la sección correspondiente más arriba, cuando procede.

    General

    ¿Qué es Hive y qué relación tiene con ReportedIP?

    ReportedIP Hive es el plugin de WordPress que se instala en tu sitio web. ReportedIP (reportedip.com) es el servicio central que recopila Threat Intelligence. Hive puede funcionar de forma totalmente autónoma (Local Shield) o comunicarse con el servicio (Community Network); ambos son modos de funcionamiento de primera clase.

    ¿Necesito una cuenta para utilizar el plugin?

    No: Local Shield funciona sin necesidad de cuenta ni API Key. Solo necesitas una cuenta gratuita de ReportedIP si quieres habilitar Community Network, que añade consultas de reputación en Hive y comparte informes de ataques anonimizados.

    ¿Cuánto cuesta?

    El plugin en sí es gratuito bajo la licencia GPLv2+. Local Shield nunca requiere un plan de pago. Community Network incluye un Free tier; los niveles superiores aumentan las cuotas diarias de comprobaciones y informes. Consulta el Dashboard para ver las cuotas actuales.

    ¿Está disponible el plugin en WordPress.org?

    Hay dos ediciones. Hive Light está publicada en WordPress.org con el slug reportedip-hive: protección contra ataques de Brute-Force en el Login más búsqueda opcional en la comunidad, sin 2FA ni ventas adicionales. La Full Edition, descrita en esta página, se distribuye a través de GitHub Releases con actualizaciones con un solo clic gestionadas por el Plugin-Update-Checker integrado. El motivo de que haya dos ediciones es que las directrices de wp.org no permiten ventas adicionales, relés gestionados de pago ni sistemas de niveles Multisite, todas ellas características en las que se basa la Full Edition. Consulta los Docs de Hive Light para el plugin distribuido por wp.org. Importante: no instales ambos plugins en el mismo sitio, ya que comparten el mismo dominio de texto y prefijo de clase.

    ¿Dónde está el código fuente? ¿Puedo revisarlo?

    Sí; el código fuente completo se encuentra en GitHub.com/reportedIP/ReportedIP Hive. Las incidencias, las solicitudes de incorporación de cambios, el Changelog y las ejecuciones de CI son públicas.

    Instalación y configuración

    ¿Cómo instalo el plugin?

    Descarga reportedip-hive.zip la última versión de GitHub Releases y, a continuación, en WordPress: Complementos → Añadir nuevo → Subir complemento, selecciona el archivo ZIP, Instalar ahora y Activar. El Setup Wizard de 10 pasos se iniciará automáticamente.

    Me he saltado el Setup Wizard, ¿cómo lo vuelvo a ejecutar?

    En Ajustes → ReportedIP Hive, en la parte superior de la página hay un enlace que dice «Volver a ejecutar el Setup Wizard». El Setup Wizard no es destructivo: muestra los valores actuales como predeterminados para que puedas seguir los pasos y cambiar solo lo que necesites.

    ¿Cómo cambio entre «Local Shield» y «Community Network»?

    Configuración → Conexión → Modo de funcionamiento. No se pierden datos al cambiar. Para cambiar a «Community Network» se necesita una API Key válida.

    ¿Puedo importar la configuración desde otro sitio?

    Sí: Ajustes → Importar/Exportar. La exportación se realiza en formato JSON, con un límite de 512 KB de subida. Por motivos de seguridad, no se incluyen las API Keys ni los secretos de 2FA; todo lo demás (umbrales, escalas, Whitelist, slug de Hide Login) es transferible.

    ¿Cómo funcionan las actualizaciones?

    El Plugin Update Checker v5.6+ consulta GitHub Releases cada 12 horas. Las nuevas versiones aparecen en «Plugins» como cualquier otra actualización: instalación con un solo clic. El formato de la etiqueta debe ser vX.Y.Z; el flujo de trabajo de release.yml valida el encabezado + la constante + la etiqueta «stable» del archivo README.

    Modos y sensores

    ¿Qué se comparte exactamente con la comunidad cuando estoy en modo «Community Network»?

    Tres datos por ataque: la IP del atacante, la Threat Category (p. ej., Brute-Force, spam en comentarios, XML-RPC, escáner) y una marca de tiempo. Además, la API Key de tu sitio web para que el informe sea atribuible a quien lo envía. Nada más: ni nombres de usuario, ni contraseñas, ni contenido de comentarios, ni datos de usuarios finales, ni URL de sitios web en la Payload.

    ¿Cuáles son los dieciséis sensores? ¿Puedo desactivar algunos de ellos individualmente?

    Consulta «Los dieciséis Attack Sensors» más arriba para ver la lista completa y los valores predeterminados. Sí: cada sensor tiene un interruptor principal y controles de umbral y periodo de tiempo en Ajustes → Protección. También puedes desactivar un sensor completo sin desactivar el resto.

    ¿Qué es el «Report-Only Mode»?

    El complemento registra todo pero no bloquea nada. Resulta útil cuando ajustas los umbrales en un sitio web con mucho tráfico y quieres ver qué se habría bloqueado antes de activar el interruptor. Ajustes → Protección → Report-Only Mode.

    ¿Cómo funciona la Progressive Block Escalation?

    Escalera predeterminada: 5 min → 15 min → 30 min → 24 h → 48 h → 7 d. Cada bloqueo repetido dentro de la ventana de reinicio (por defecto, 30 días) avanza un paso. Tras 30 días sin incidentes, la IP vuelve a empezar en el paso 1. Los casos de CGNAT y los administradores que cometen errores se recuperan en cuestión de minutos; los atacantes persistentes alcanzan los 7 días. Se puede activar o desactivar; cuando está desactivado, se recurre a la configuración fija block_duration cuando está desactivada.

    ¿En qué consiste la función «Hide Login»?

    Sustituye /wp-login.php por un slug personalizado (de 3 a 50 caracteres; se rechazan los slugs de la Blacklist). La URL antigua devuelve o bien una página de bloqueo de Hive o un error 404 estándar —tú eliges—. Los flujos REST, AJAX, WP-CLI y de restablecimiento de contraseña se omiten automáticamente para que sigan funcionando. Reduce drásticamente la superficie de ataque frente a los ataques de fuerza bruta automatizados.

    Cuando «Hide Login» está activo, los accesos directos repetidos a la antigua /wp-login.php desde una misma IP se consideran un escaneo y se bloquean siguiendo la escala de escalación estándar. Una sola visita accidental no supone ningún riesgo: solo un patrón específico activa el bloqueo. Ajusta el umbral o desactiva el bloqueo en Ajustes → Hide Login.

    Desde la versión 2.1.19, la página de Login personalizada es compatible con el almacenamiento en caché de páginas: se excluye de todas las cachés de páginas conocidas (WP Rocket, W3 Total Cache, WP Super Cache, WP Fastest Cache, Comet Cache, Cache Enabler, Hummingbird, LiteSpeed Cache) y sigue la convención de enlaces permanentes con barra final del sitio, por lo que el inicio de sesión funciona de forma fiable detrás de las cachés y en sitios con nginx que exigen el uso de barras finales.

    2FA

    ¿Qué métodos de 2FA admite Hive?

    Cuatro: TOTP (RFC 6238 — Google Authenticator, Authy, 1Password, Bitwarden, …), OTP por correo electrónico, OTP por SMS (a través del relé gestionado, plan Professional), WebAuthn (Passkeys, YubiKey, Touch ID, Face ID, Windows Hello). Además de Recovery Codes de un solo uso y tokens de Trusted Devices.

    ¿Puedo exigir la 2FA solo a algunos usuarios?

    Sí: selecciona los roles en Configuración → 2FA → Roles con autenticación obligatoria. Los usuarios a los que se les aplica esta medida siguen un asistente de configuración de 5 pasos al realizar el Login por primera vez, con un periodo de gracia configurable (por defecto, 7 días). Desde la versión 2.1.22, el comportamiento predeterminado una vez agotados el periodo de gracia y el límite de intentos fallidos es la inscripción obligatoria, no el bloqueo: el usuario inicia sesión y se le redirige directamente al Setup Wizard sin opción de saltárselo. El comportamiento anterior de bloqueo total está disponible como la política «Bloquear inicio de sesión», pero los administradores y superadministradores siempre siguen la ruta de la inscripción obligatoria, por lo que un sitio nunca puede perder a su último administrador con capacidad para iniciar sesión.

    He perdido mi teléfono o mi autenticador, ¿cómo puedo volver a acceder?

    Utiliza uno de los diez Recovery Codes que guardaste durante la configuración de la 2FA. Si también los has perdido, un administrador puede restablecer la 2FA para cualquier usuario en Usuarios → 2FA. Como último recurso: wp reportedip 2fa reset <user_id> a través de WP-CLI / SSH.

    ¿Durante cuánto tiempo un «Trusted Device» sigue siendo de confianza?

    Configurable; por defecto, 30 días. El token es un hash SHA-256 almacenado en wp_reportedip_hive_trusted_devices junto con la IP y el nombre del dispositivo. El sensor de anomalías geográficas puede revocar automáticamente los tokens de Trusted Devices ante un cambio de país o de ASN.

    ¿Funciona WebAuthn en todos los navegadores?

    Las versiones modernas de Chrome, Edge, Safari y Firefox en macOS, Windows, iOS y Android: sí. WebAuthn requiere HTTPS (o localhost para desarrollo). Los navegadores más antiguos o reforzados que no admiten WebAuthn recurren automáticamente a TOTP, correo electrónico o SMS.

    ¿Puedo integrar la autenticación de dos factores (2FA) en una aplicación sin interfaz gráfica o móvil?

    Sí: el espacio de nombres REST reportedip-hive/v1 pone a disposición POST /2fa/challenge, POST /2fa/verify y GET /2fa/methods. Limitado por IP (20 / 30 / Unlimited por cada intervalo de 5 minutos).

    Rendimiento y compatibilidad

    ¿Funciona Hive con WP Rocket / W3 Total Cache / WP Super Cache / LiteSpeed?

    Sí; desde la versión 1.5.2, la respuesta de la página bloqueada establece DONOTCACHEPAGE, DONOTCACHEDB y DONOTCACHEOBJECT además de los explícitos Cache-Control: no-store, no-cache, must-revalidate, max-age=0, Pragma: no-cache y el conjunto del núcleo de WordPress nocache_headers() . Un atacante bloqueado ya no puede contaminar la caché de la página.

    ¿Funciona detrás de Cloudflare?

    Sí. El plugin lee CF-Connecting-IP primero y, a continuación, recurre a X-Forwarded-For y REMOTE_ADDR. Whitelist las direcciones IP de monitorización de tu origen si utilizas Cloudflare como proxy para una página de estado.

    ¿Qué ocurre con el editor de bloques de WordPress (Gutenberg) que realiza más de 50 llamadas REST?

    Desde la versión 1.2.2, los usuarios que han iniciado sesión se saltan el monitor global de ráfagas REST; solo se contabilizan las ráfagas anónimas. La coincidencia de ruta del escáner sigue siendo válida (por lo que Gutenberg no puede sondear accidentalmente .env). Asegúrate de que utilizas la versión 1.2.2 o posterior.

    ¿Cómo mantengo bajo el uso de la API?

    La caché ETag conserva las consultas positivas durante 24 h y las negativas durante 2 h de forma predeterminada. Aumenta ambos valores si tu sitio web tiene poco tráfico. El Dashboard muestra la cuota en tiempo real y la cola para que puedas ver si estás alcanzando el límite. Los informes por lotes generados por cron (cada 15 min) agrupan los eventos individuales.

    ¿Hive ralentizará mi sitio web?

    La comprobación de bloques es una única consulta indexada por wp_reportedip_hive_blocked cada solicitud, con init prioridad 1. La Whitelist se almacena en caché en memoria por cada solicitud. Las consultas de reputación son asíncronas: primero se genera la página pública, el informe se pone en cola y se envía en la siguiente ejecución de cron.

    Privacidad y RGPD

    ¿Es el plugin GDPR Compliant?

    Sí: Local Shield nunca envía datos a ningún sitio, Community Network solo envía los tres campos mencionados anteriormente, los user-agents se truncan a 50 caracteres y las direcciones IP pueden anonimizarse automáticamente tras un número de días configurable. El desglose completo del tratamiento de datos se encuentra en nuestra política de privacidad.

    ¿Tengo que mencionar Hive en mi propia política de privacidad?

    Sí, si utilizas el modo Community Network: debes indicar el uso de Hive y la transmisión de la IP del atacante, la categoría y la marca de tiempo a reportedip.com. Si solo utilizas Local Shield, no se produce ninguna transmisión, pero sigues tratando direcciones IP por motivos de seguridad (art. 6, apartado 1, letra f) del RGPD), lo cual merece una mención en tu política.

    ¿Qué ocurre con mis datos si desinstalo la aplicación?

    La desinstalación elimina todas las wp_reportedip_hive_* tablas y elimina todas las reportedip_hive_* opciones. Los Reports que ya se encuentren en la base de datos de la comunidad se conservan; no permiten identificar personalmente a tu sitio web (solo el hash de la API Key los vincula).

    Personalización y ampliación

    Los visitantes del banner de cookies o del Endpoint de consentimiento quedan bloqueados: ¿cómo amplío la lista de excepciones?

    Desde la versión 1.5.0, los cuatro espacios de nombres comunes (real-cookie-banner, complianz, borlabs-cookie, cookie-law-info) quedan excluidos de forma predeterminada. Para una pila personalizada, aplica el filtro:

    add_filter('reportedip_hive_rest_bypass_routes', function ($routes) {
        $routes[] = '/my-consent-plugin/v1';
        return $routes;
    });
    El cortafuegos sigue bloqueando una solicitud legítima en mi sitio web: ¿cómo puedo solucionarlo sin desactivar el WAF?

    Crea una excepción del WAF: Cortafuegos → WAF → WAF Exceptions, o haz clic en «Permitir» directamente en la fila del registro problemática. Limítala a una sola regla en una ruta siempre que sea posible; una excepción para todo el motor debe incluir siempre una restricción de ruta o IP para que el cortafuegos nunca pueda desactivarse globalmente por accidente. Las excepciones también se aplican al filtro de Extended Protection previo a WordPress. Para las rutas REST también hay un filtro a nivel de código, reportedip_hive_waf_bypass_routes. Consulta «WAF Exceptions» más arriba.

    ¿Cómo añado mis propias rutas de Honeypot al detector de análisis?

    Hook reportedip_hive_scan_paths:

    add_filter('reportedip_hive_scan_paths', function ($paths) {
        $paths[] = '/.aws/credentials';
        return $paths;
    });
    ¿Puedo crear mi propio proveedor de correo electrónico?

    Sí: implementa interface-mail-provider.php para el correo y regístralo a través del filtro de correo (reportedip_hive_mail_provider). Los SMS, por el contrario, se envían exclusivamente a través del relé gestionado de reportedIP.com (plan Professional y superiores); no hay ningún proveedor de SMS autohospedado que configurar.

    ¿De dónde proceden los datos de los códigos cortos del front-end?

    De una caché transitoria de 6 horas. Claves: attacks_30d, attacks_total, blocked_active, whitelist_active, logins_30d, spam_30d, api_reports_30d, reports_total. Los códigos cortos nunca llaman a la API por cada visita a la página.

    Cuotas, planes y cuenta

    ¿Qué incluye cada rol?

    Consulta la documentación de autenticación para ver la tabla completa. Versión resumida: Free (1.000 comprobaciones / 50 Reports al día), Contributor (5.000 / 200), Professional (25.000 / 1.000), Business (100 000 / 5 000), Enterprise (Unlimited), Honeypot (Unlimited).

    El Dashboard muestra un retraso en la cola: ¿qué debo hacer?

    Ve a Ajustes → Cola de la API. El botón «Reintentar» (corrección 1.2.4) ahora realmente lanza la llamada a la API, no solo restablece el estado. Si los reintentos fallan debido a un límite de cuota, aumenta la duración de la caché o mejora tu plan.

    ¿Puedo ejecutar Hive en una instalación Multisite o en red?

    Sí, totalmente, desde la versión 2.0.0. La Full Edition es solo para red (Network: true): WordPress oculta la activación por sitio para que la configuración de seguridad se mantenga uniforme. Todas las tablas se encuentran en $wpdb->base_prefix, por lo que una única decisión ante una amenaza se aplica a toda la red: los intentos de Brute-Force entre sitios se agrupan en un contador central y un bloqueo excluye la IP de todos los subsitios. Los administradores de red disponen de todos los ajustes y de una vista de registros de todos los sitios; los administradores de un subsitio tienen una interfaz de usuario de estado y registros de solo lectura, además de dos opciones de personalización editables por sitio (el slug de 2FA en la interfaz de usuario y roles adicionales para la aplicación de la 2FA). Cron solo se ejecuta en el sitio principal.

    Resolución de problemas

    El complemento no bloquea ninguna dirección IP

    Comprueba si está activado el «Report-Only Mode»: registra las amenazas sin bloquearlas. Comprueba también que el umbral de bloqueo no esté fijado demasiado alto (por defecto, el 75 %) y que el «Bloqueo automático» esté activado (la estrategia de duración se desactiva cuando el bloqueo automático está desactivado).

    Errores de conexión a la API en el modo «Community Network»

    Asegúrate de que tu servidor pueda realizar solicitudes HTTPS salientes a reportedip.com. Algunos servidores bloquean las conexiones salientes de forma predeterminada. Comprueba la API Key en el Dashboard.

    Se bloquea a los visitantes del banner de cookies

    Desde la versión 1.5.0, los cuatro espacios de nombres de consentimiento habituales (real-cookie-banner, complianz, borlabs-cookie, cookie-law-info) se omiten de forma predeterminada. Si tu pila utiliza un espacio de nombres diferente, amplía la lista de omisiones a través del reportedip_hive_rest_bypass_routes filtro.

    Se bloquea a usuarios legítimos

    Añade sus direcciones IP o rangos CIDR a la Whitelist local. Las IP incluidas en la Whitelist nunca se bloquean, independientemente de su reputación.

    El cortafuegos bloquea una solicitud legítima (False Positive del WAF)

    Abre Cortafuegos → WAF, busca el bloqueo en el registro (el X-RIP-Ref de la página de bloqueos coincide con una entrada del registro) y haz clic en Permitir: se creará una excepción específica para esa regla concreta en esa ruta. Consulta WAF Exceptions para obtener orientación sobre el alcance. Las excepciones también se aplican al filtro de Extended Protection previo a WordPress.

    Extended Protection está activada, pero aparece como «no en ejecución»

    Es habitual en servidores con nginx en los que no se detecta la directiva .user.ini no se tiene en cuenta (p. ej., user_ini.filename está desactivada, o la raíz de documentos no es la ruta de análisis). La pestaña «Firewall → Configuración del servidor» muestra las opciones manuales: la línea del grupo de PHP-FPM / php.ini auto_prepend_file o el fragmento de código de nginx fastcgi_param . El estado se puede verificar: indica si la protección se ha ejecutado realmente para la solicitud actual. El motor integrado en WordPress protege el sitio en cualquier caso; el complemento solo adelanta las mismas comprobaciones.

    Alto uso de la API / agotamiento de comprobaciones

    Las respuestas se almacenan en caché localmente (con ETag) durante 24 horas de forma predeterminada. Si sigues agotando las comprobaciones, aumenta cache_duration o amplía tu plan. Supervisa la cola y la cuota en el Dashboard.

    Bloqueo por 2FA

    Utiliza uno de los Recovery Codes guardados durante la configuración de 2FA. Si los has perdido, un administrador puede restablecer 2FA para cualquier usuario en Usuarios → 2FA. Como último recurso: wp reportedip 2fa reset <user_id>.

    Desde la versión 2.1.22, un usuario al que se le ha impuesto la 2FA y que nunca la ha configurado ya no queda bloqueado de forma predeterminada: una vez agotados el periodo de gracia y los intentos de omisión, se le permite iniciar sesión y se le envía directamente a la inscripción obligatoria (sin opción de omisión). Los administradores y los superadministradores de Multisite nunca pueden quedar bloqueados de forma definitiva, incluso si se vuelve a activar la política «Bloquear el inicio de sesión».

    El editor de bloques (Gutenberg) sigue sufriendo limitaciones de rendimiento

    El editor de bloques realiza más de 50 llamadas REST en pocos segundos. Desde la versión 1.2.2, los usuarios que han iniciado sesión no se ven afectados por el controlador global de picos de tráfico REST; solo se contabilizan los picos de tráfico de usuarios anónimos. Asegúrate de que utilizas la versión 1.2.2 o una posterior.

    RGPD y privacidad

    El plugin está diseñado teniendo en cuenta la privacidad y es GDPR Compliant.

    • Modo «Local Shield»: ningún dato sale de tu servidor. Toda la detección y el bloqueo se realizan localmente.
    • Modo «Community Network»: solo se comparten la IP del atacante, la Threat Category y la marca de tiempo. No se comparten nombres de usuario, contraseñas, contenido de comentarios ni datos de los usuarios finales.
    • Los agentes de usuario se truncan a 50 caracteres antes de su almacenamiento.
    • Limpieza automática: los registros de seguridad se eliminan tras el periodo de retención configurado (por defecto, 30 días). La anonimización automática se activa antes (por defecto, 7 días).
    • Cifrado en reposo: las claves TOTP, las credenciales WebAuthn y los números de teléfono de SMS se cifran con libsodium (con OpenSSL como alternativa).
    • Sin seguimiento: sin cookies, sin píxeles de seguimiento, sin telemetría.
    • Integración con las herramientas de privacidad de WordPress: Hive registra un exportador y un borrador de datos personales en el núcleo de WordPress, por lo que las solicitudes de Herramientas → Exportar/Borrar datos personales incluyen automáticamente los registros de Hive correspondientes al sujeto solicitado (filas de registro, Trusted Devices, entradas del registro de auditoría). También aporta un párrafo sugerido a la guía de la política de privacidad de WordPress (Ajustes → Privacidad → Guía de la política) que puedes copiar en tu propia política.
    • Código abierto: El código fuente completo está publicado en GitHub; cada línea es auditable.

    Aspectos destacados del Changelog

    • 2.1.33 – 2.1.36 — Compatibilidad oficial con YubiKey y Hardware Security Key: procedimientos completos de WebAuthn en las tres superficies de desafío, un gestor de claves múltiples con detección de modelos basada en certificaciones (Business), detección de claves clonadas mediante regresión del contador de firmas con alertas por correo en todos los planes, Ed25519 cuando libsodium está disponible, y una sección de 2FA en lenguaje sencillo rediseñada con un método predeterminado seleccionable por el usuario.
    • 2.1.26 – 2.1.32 — Verificación cruzada de rastreadores verificados (un agente de usuario de Googlebot falsificado no compra nada), un mecanismo central de protección que nunca bloquea a un bot verificado, bloqueos basados en la reputación de la comunidad que cubren todas las superficies, prevención del autobloqueo para las propias direcciones del servidor, Block Escalation ponderada por volumen y la mejora de rendimiento: de 36 a 11 consultas por solicitud, lectura de un encabezado de Blocklist de 8 KB y TTFB del Dashboard de 920 a 278 ms (esquema v13).
    • 2.1.25 — El WAF bloquea la clase de ataques de confusión de rutas REST del núcleo de WordPress en todos los planes (reglas estructurales, no coincidencia de tokens), inspecciona una copia descodificada del cuerpo de la solicitud (cerrando una vía de elusión del Payload codificado) y los bloqueos de Paranoia Level 2/3 muestran su categoría de referencia específica.
    • 2.1.22 – 2.1.24 — La autenticación de dos factores (2FA) obligatoria pasa a ser de inscripción forzada en lugar de bloqueo (los administradores y superadministradores nunca pueden quedar bloqueados de forma definitiva); el envío duplicado del desafío de 2FA ya no deja a los usuarios en el estado «sesión caducada»; la prueba de eval-stdin.php (CVE-2017-9841) queda bloqueada en todos los planes.
    • 2.1.14 – 2.1.20 — Corrección del alojamiento en producción: fechas y horas coherentes con UTC (el bloqueo automático fallaba de forma silenciosa en servidores de bases de datos que no utilizaban UTC), Hide Login funciona detrás de las cachés de página y en sitios con barra final o que utilizan Nginx, Extended Protection se configura automáticamente en nginx + PHP-FPM y omite la inspección del cuerpo de la solicitud para los editores que han iniciado sesión, el estado de la API utiliza una ventana móvil y se ha eliminado el sondeo de cuotas de retransmisión de rutas frecuentes.
    • 2.1.9 – 2.1.13 — WAF Exceptions gestionadas por el backend con una acción de «Permitir» con un solo clic (esquema v10), registro de bloqueos autoexplicativo (valor coincidente, destino, método, URI, agente de usuario), el aprovisionamiento de MainWP puede cambiar los sitios al modo «Comunidad», y el Dashboard de seguridad se ha convertido en una vista analítica completa (siete familias de amenazas, gráfico de grupos de reglas del WAF, principales atacantes).
    • 2.1.0 – 2.1.8 — El lanzamiento del cortafuegos: un «Rule Delivery Framework» (marco de entrega de reglas) proporcionado por el servidor y firmado con Ed25519 que alimenta un Web Application Firewall (WAF) que inspecciona las solicitudes (motor gratuito + configuración básica «Paranoia Level-1», nivel PRO 2/3 mediante Priority Sync), Verified Bot Detection, Disposable-Email Blocking, Comment Honeypot, Security Headers (básicos gratuitos, avanzados PRO), Protection & Hardening Score en el Dashboard, códigos de referencia de la página de bloqueo (X-RIP-Ref), el Audit Event Trail empresarial (esquema v9), MainWP Integration y un área de administración del cortafuegos — seguido de correcciones de False Positives para rastreadores legítimos y la eliminación a prueba de fallos mediante «drop-in».
    • 2.0.x — Activación Multisite en toda la red (Network: true), gestión de niveles por blog, banners de actualización de nivel, monitores de contraseñas de aplicaciones y anomalías geográficas reforzados, Frontend 2FA en la interfaz de usuario de WooCommerce disponible para PRO+, Hardening Mode para ataques coordinados y detección e informe de rutas señuelo.
    • 1.5.2 — Compatibilidad con plugins de caché en la página 403; la limitación de la autenticación de dos factores (2FA) pasa a ser un bloqueo de escalación real; init prioridad 1.
    • 1.5.1 — Mayor claridad en la pestaña de bloqueo (Solo informar > Bloqueo automático > estrategia de duración); intercambio en línea de los editores de longitud fija y de escalera.
    • 1.5.0 — Progressive Block Escalation (escalera de 5 m → 7 d); los Endpoints del banner de cookies se omiten por defecto; se han relajado los valores por defecto para los errores 404 y el spam en los comentarios.
    • 1.2.4 — El botón «Reintentar» de la cola de la API ahora realmente activa la llamada a la API.
    • 1.2.0 — Siete nuevos sensores: monitor de contraseñas de aplicaciones, monitor de ráfagas REST, bloqueo de User Enumeration, detector de errores 404/escaneos, anomalías geográficas, solidez de contraseñas y URL de Hide Login.
    • 1.1.0 — Sistema de envío de correos centralizado con plantilla de marca.
    • 1.0.0 — Lanzamiento público inicial: bloqueo de IP, 2FA con cuatro métodos, Setup Wizard, tablas de listas.

    Historial completo: Changelog.md en GitHub.

    ¿Buscas la edición más ligera?

    ReportedIP Hive Light es la edición ligera distribuida por WordPress.org: protección contra el inicio de sesión por fuerza bruta más consultas opcionales de reputación de IP de la comunidad. Sin 2FA, sin niveles de servicio ni retransmisión gestionada. La elección adecuada para sitios web pequeños y aficionados. Lee la documentación de Hive Light o instálalo directamente desde WordPress.org .

    Última actualización: · Gestionado por el equipo de reportedIP

    Security Focused
    GDPR Compliant
    Made in Germany
    Volver a Docs