advanced
Seguridad
Protección multicapa para tu servidor de Discord. Detección VPN, detección alt basada en huellas dactilares del navegador, cortafuegos de 7 tipos, restricciones de país, antinuke, antiraid, requisitos de edad de la cuenta y perfiles de inteligencia.
Visión general
Restore Hub proporciona un sistema de seguridad de defensa en profundidad con múltiples capas independientes. Cada capa se puede activar o desactivar de forma independiente, y trabajan juntas para proporcionar una protección completa contra bots, alts, incursiones, armas nucleares y otras amenazas.
Las funciones de seguridad dependen del plan: Free incluye restricciones de país, captcha, edad de la cuenta y lista negra. Premium añade detección VPN, detección alt y cortafuegos. Business añade anti-nuke, anti-raid y gestión de equipos. Enterprise añade análisis entre servidores y soporte dedicado.
Detección de VPN y proxy
La detección VPN/proxy de Restore Hub es totalmente interna. No hay llamadas a API externas durante la verificación: toda la información sobre IP se carga previamente en una base de datos PostgreSQL y una caché Redis locales. Esto significa un impacto de latencia cero en el flujo de verificación.
La base de datos de inteligencia IP se actualiza diariamente a partir de múltiples fuentes abiertas y mantenidas por la comunidad:
- Nodos de salida de Tor - Lista completa de ~7.000 IPs de nodos de salida de Tor, actualizada diariamente a partir de la lista de salida oficial del Proyecto Tor (https://check.torproject.org/exit-addresses).
- IPs VPN - Listas mantenidas por la comunidad (X4BNet/lists, firehol/blocklist-ipsets) que cubren los principales proveedores de VPN: NordVPN, ExpressVPN, Surfshark, ProtonVPN, PIA, Mullvad, y cientos más.
- Centro de datos/Hosting IPs - Más de 354 millones de IPs de más de 50 proveedores de alojamiento ASN (AWS, Google Cloud, Azure, DigitalOcean, OVH, Hetzner, Linode, Vultr, etc.). Cubre todos los rangos de IP de ASN.
- Sierras de Bogon - IP privadas RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), loopback (127.0.0.0/8), CGNAT (100.64.0.0/10) y otros rangos reservados.
- IPs proxy - Servidores proxy abiertos conocidos a partir de listas de la comunidad, actualizadas diariamente.
Consejo: Como toda la detección es local, las verificaciones se completan en milisegundos sin dependencias externas. No hay costes por búsqueda ni API de terceros que puedan fallar.
Configuración de la detección de VPN
La detección de VPN tiene cuatro conmutadores independientes en la configuración del servidor:
| Configuración | Lo que bloquea |
|---|---|
| Bloqueo de VPN (vpnBlockEnabled) IPs de proveedores VPN conocidos de las listas de la comunidad
| Bloqueo de Tor (blockTor) Todas las IPs de nodos de salida Tor del Proyecto Tor
| Bloqueo de Centros de Datos (blockDatacenters) 354M+ IPs pertenecientes a proveedores de alojamiento en la nube
| Bloqueo de Proxy: Servidores proxy abiertos conocidosAtención: El bloqueo del centro de datos es agresivo: bloquea cualquier IP que pertenezca a un proveedor de alojamiento ASN. Esto bloqueará a los usuarios de algunos operadores de telefonía móvil que enrutan a través de proveedores de nube, a los usuarios detrás de proxies corporativos alojados en AWS y a los usuarios de algunas VPN menos conocidas que alquilan IPs de centros de datos. Utilízalo con precaución y controla tu tasa de bloqueo.
Caché de inteligencia IP
Los resultados de la búsqueda de IP se almacenan en caché en Redis con un TTL de 24 horas (IP_CACHE_TTL_SECONDS = 86.400). Cada resultado de búsqueda incluye: código de país, ASN, nombre de ISP, bandera VPN, bandera proxy, bandera Tor, bandera de centro de datos, bandera celular y puntuación de fraude.
El modelo IpIntelligence de la base de datos almacena datos agregados por hash de IP: intentos de verificación totales, recuentos de éxitos/bloqueos, usuarios únicos de Discord, huellas digitales únicas y una puntuación de riesgo calculada. De este modo se crea inteligencia a largo plazo sobre las IP sospechosas.
Detección de cuentas Alt
La detección de alts identifica cuando la misma persona se verifica con varias cuentas de Discord utilizando la huella digital del navegador. Esta es una de las funciones de seguridad más potentes de Restore Hub: detecta a los alts aunque utilicen IP, VPN o navegadores diferentes.
La huella dactilar es un hash compuesto derivado de múltiples señales independientes:
- Huella dactilar en lienzo - Renderiza un elemento invisible del lienzo y realiza un hash de los datos de píxel. Diferentes GPUs, renderizadores de fuentes y antialiasing producen resultados únicos.
- Huella digital WebGL - Utiliza WebGL para consultar el proveedor de la GPU (UNMASKED_VENDOR_WEBGL) y el renderizador (UNMASKED_RENDERER_WEBGL) y, a continuación, renderiza una escena 3D y aplica un hash al resultado.
- Huella sonora - Crea un AudioContext, genera una señal de oscilador, y hash de la salida. Diferentes hardware y controladores de audio producen formas de onda únicas.
- Señales de hardware - Recuento de núcleos de CPU, memoria del dispositivo, profundidad de color, resolución de pantalla, soporte táctil, recuento de fuentes, recuento de plugins.
- Señales del navegador - Agente de usuario, idioma, zona horaria, tipo de conexión, bandera Do Not Track, cookies activadas.
Alt Detection - Cómo funciona la comparación entre servidores
Cuando un miembro se verifica, su huella digital compuesta se almacena en la tabla MemberMeta y se indexa en la tabla FingerprintIntelligence. Restore Hub consulta la tabla FingerprintIntelligence para encontrar todos los ID de usuario de Discord asociados a esa huella en TODOS los servidores.
Si la misma huella dactilar aparece bajo un ID de usuario de Discord diferente, se marca como una posible cuenta alternativa. El registro FingerprintIntelligence rastrea: usuarios únicos de Discord, servidores únicos, IP únicas, países, zonas horarias, variaciones de SO, variaciones de dispositivo y si el dispositivo/OS son coherentes.
Puedes configurar lo que ocurre cuando se detecta un alt:
| Acción | Comportamiento |
|---|---|
| Bloquear | Rechazar la verificación inmediatamente. El miembro ve el mensaje bloqueado y no puede obtener el rol verificado. |
| Permitir y marcar: Permite que el usuario verifique y obtenga el rol, pero lo marca como usuario marcado en el panel de control para su revisión manual. |
| Sólo notificar: Permite que el usuario verifique normalmente. Envíe una notificación al canal de registro y/o correo electrónico, pero no realice ninguna acción. |Consejo: La detección Alt funciona en TODOS tus servidores, no sólo en el que se está verificando. Si un miembro se verifica en el Servidor A con la huella X, y una cuenta de Discord diferente se verifica en el Servidor B con la misma huella X, se marcará.
Reglas del cortafuegos
El cortafuegos (Premium+) te permite crear reglas de bloqueo granulares basadas en 7 atributos diferentes. Las reglas del cortafuegos se comprueban antes que OAuth2: los visitantes bloqueados nunca ven la página de autorización de Discord.
| Tipo de regla Formato de valor Ejemplo Qué bloquea
|---|---|---|---|
| Una dirección IP específica o una subred completa
| COUNTRY | Código de país ISO 3166-1 alpha-2 | CN, RU, IR | Todo el tráfico del país especificado | ASN
| ASN | Número de AS con prefijo AS | AS14061 | Todas las IPs pertenecientes a ese ASN (por ejemplo, AS14061 = DigitalOcean) | FINGERPRINT
| FINGERPRINT | Hash de la huella digital del navegador | abc123def456... | Una huella digital específica del navegador (útil para bloquear el dispositivo de un mal actor conocido)
| USER_ID | ID de usuario de Discord (copo de nieve) | 123456789012345678 | Un usuario específico de Discord por su ID | SERVER_ID | Un hash de la huella dactilar del navegador (útil para bloquear el dispositivo de un actor malicioso conocido)
| SERVER_ID ID de gremio de Discord (copo de nieve) 987654321098765432 Cualquier usuario que sea miembro del servidor de Discord especificado
| Todo el tráfico de la región geográfica especificadaCortafuegos vs. Lista negra vs. Restricciones por país
Estas tres características se solapan, pero tienen objetivos diferentes:
- Reglas del cortafuegos - Amplio bloqueo pre-OAuth basado en 7 atributos. Bloquea incluso antes de que el miembro vea la autorización de Discord. Por servidor, gestionado por el propietario del servidor.
- Lista negra - Bloqueo post-OAuth de IDs de usuario Discord específicos. Comprobado después de OAuth2 (porque el ID de usuario no se conoce hasta después de OAuth). Por usuario (se aplica a todos tus servidores).
- Restricciones nacionales - Pre-OAuth, más sencillo que un cortafuegos. Dos modos: permitir (sólo los países de la lista pueden verificar) o bloquear (los países de la lista son denegados). Bueno para servidores que sólo sirven a regiones específicas.
Reglas de lista blanca
Las reglas de lista blanca (Premium+) permiten a determinados visitantes saltarse TODOS los controles de seguridad. Un visitante de la lista blanca se salta el cortafuegos, la detección VPN, las restricciones de país, la detección alt y el captcha. Siguen pasando por OAuth2 (ya que es fundamental para la verificación), pero se omiten todas las comprobaciones restrictivas.
| Tipo de regla | Ejemplo de caso de uso |
|---|---|
| Poner en lista blanca la IP de tu oficina para que el personal siempre pase la verificación
| Poner en la lista blanca un ID de usuario de Discord específico para un VIP
| FINGERPRINT Lista blanca de huellas dactilares de dispositivos conocidos
| COUNTRY Lista blanca de un país que podría estar bloqueado
| ASN Lista blanca de un ISP o proveedor de red específicoConsejo: Las reglas de la lista blanca se comprueban PRIMERO en el flujo de verificación, antes que cualquier otra comprobación de seguridad. Si un visitante coincide con alguna regla de la lista blanca, pasa directamente a OAuth2.
Anti-Nuke
Anti-nuke (Business+) detecta acciones destructivas masivas en su servidor Discord en tiempo real. Utiliza contadores de ventana deslizante Redis para realizar un seguimiento de la tasa de eventos destructivos. Cuando se supera un umbral, Restore Hub activa acciones de alerta.
Anti-nuke monitoriza cuatro tipos de eventos con los siguientes umbrales (de constants.ts):
| Tipo de Evento | Umbral | Ventana de Tiempo | Lo que Detecta |
|---|---|---|---|
| Borrado de canales 3 borrados 60 segundos Alguien borrando canales en masa
| Borrado de roles 3 borrados 60 segundos Alguien borrando roles en masa
| Prohibiciones 5 prohibiciones 60 segundos Alguien prohíbe miembros en masa
| Expulsiones 5 expulsiones 60 segundos Alguien expulsando miembros en masaAnti-Nuke - Cómo funcionan los contadores de ventanas deslizantes
Para cada tipo de evento, Restore Hub mantiene un conjunto ordenado Redis con clave por ID de servidor. Cada evento se añade con una puntuación de marca de tiempo. Cuando llega un nuevo evento, Restore Hub cuenta cuántos eventos se han producido en los últimos N segundos (la ventana). Si el recuento supera el umbral, se activa la alerta.
Este enfoque es más preciso que los contadores de ventana fija porque no tiene efectos de límite. Una ráfaga de 4 eliminaciones de canales en 2 segundos activará la alerta independientemente de si abarca un límite de minutos.
Anti-Nuke - Acciones de respuesta
Cuando se activa un umbral antinuclear, Restore Hub puede realizar varias acciones configurables:
- Alerta por correo electrónico - Envía un correo electrónico a la dirección de alerta configurada con los detalles de la acción destructiva, incluyendo quién la ha realizado y qué se ha visto afectado.
- Alerta de webhook de discordia - Envíe una incrustación detallada a una URL webhook de Discord con información en tiempo real.
- Auto-pull - Comience a extraer automáticamente sus miembros verificados a un servidor de copia de seguridad preconfigurado (Business+ con hasAutoPull).
- Registro - Todos los eventos anti-nuke se registran en el AuditLog y se pueden ver en el panel de control.
Antirrobo
Anti-raid (Business+) detecta las uniones masivas que indican una incursión: una avalancha coordinada de bots o usuarios que se unen a tu servidor simultáneamente. Supervisa dos patrones:
| Patrón | Umbral | Ventana de tiempo | Detalles |
|---|---|---|---|
| Unirse en masa | 10 uniones | 30 segundos | Más de 10 usuarios se unen en una ventana de 30 segundos, independientemente de la edad de la cuenta
| Aluvión de cuentas nuevas: 5 uniones en 60 segundos: Más de 5 cuentas con menos de 7 días de antigüedad se unen en un intervalo de 60 segundosConsejo: Anti-raid y anti-nuke utilizan la misma configuración de alerta. Puede configurar alertas para ambos simultáneamente con una única dirección de correo electrónico y URL de webhook.
Requisitos de antigüedad de la cuenta
Puedes exigir que las cuentas de Discord tengan una antigüedad mínima (en días) antes de que puedan verificarse. Esta es una defensa simple pero efectiva contra cuentas bot/alt recién creadas.
La fecha de creación de la cuenta se deriva del copo de nieve del ID de usuario de Discord: los primeros 42 bits de un copo de nieve de Discord codifican la marca de tiempo. Restore Hub lo analiza para obtener la fecha exacta de creación de la cuenta sin una llamada adicional a la API.
Establezca minAccountAgeDays en la configuración del servidor. Un valor de 0 desactiva la comprobación. Valores comunes:
- 0 días - Sin restricciones (por defecto)
- 7 días - Bloquea cuentas con menos de una semana de antigüedad
- 30 días: bloquea las cuentas con menos de un mes de antigüedad (recomendado para la mayoría de los servidores)
- 90 días - Agresivo; bloquea las cuentas legítimas más recientes, pero es muy eficaz contra las alts
Inteligencia y perfiles de riesgo
Restore Hub crea perfiles de inteligencia a lo largo del tiempo para usuarios, IP y huellas dactilares. Estos datos potencian la puntuación de riesgos y la detección de anomalías.
- Perfil de comportamiento del usuario - Realiza un seguimiento de un usuario de Discord en todos los servidores: verificaciones totales, tasa de éxito/bloqueo, IP únicas, huellas digitales únicas, dispositivos únicos, recuento de países, uso de VPN, uso de proxy, probabilidad de cuenta alternativa (0-100) y puntuación de riesgo general (0-100) con niveles: BAJO, MEDIO, ALTO, CRÍTICO.
- IpIntelligence - Rastrea una IP (con hash) en todas las verificaciones: país, ASN, ISP, banderas VPN/proxy/Tor/datacenter, intentos totales, recuentos de éxitos/bloqueos, usuarios únicos de Discord, huellas digitales únicas, puntuación de fraude y puntuación de riesgo.
- HuellaInteligencia - Rastrea una huella digital del navegador en todas las verificaciones: usuarios únicos de Discord, servidores únicos, IP únicas, detección de cuentas alternativas, variaciones de país/zona horaria/OS/dispositivo, indicadores de coherencia, puntuación de riesgo y nivel de riesgo.
- ServerRiskReport - Evaluación de riesgos por servidor: miembros totales/verificados, tasa de verificación, cuentas alternativas detectadas, recuento de VPN bloqueadas, recuento de cortafuegos bloqueados, recuento de IP de centros de datos, recuento de ASN únicos, puntuación de diversidad de países y puntuación/nivel de riesgo general (LIMPIO, BAJO, MEDIO, ALTO, CRÍTICO).
- AnomalyEvent - Detección de anomalías individuales: GEO_IMPOSSIBLE_TRAVEL (usuario verificado desde dos países distantes en poco tiempo), MASS_VERIFY (misma huella verificada rápidamente), FINGERPRINT_REUSE (huella utilizada por muchos usuarios de Discord), IP_SPAM (muchas verificaciones desde una IP), DEVICE_SWITCH (usuario que cambia de dispositivo con frecuencia).
Conservación de datos
Los datos relacionados con la seguridad tienen periodos de conservación definidos:
| Datos | Periodo de Retención |
|---|---|
| Eventos de verificación 90 días
| Páginas vistas 90 días
| Registros de auditoría 1 año
| Sesiones de inicio de sesión 90 días
| Datos de los miembros (miembros verificados): se conservan hasta que se borran manualmente o se elimina el servidor
| Perfiles de inteligencia: Conservados indefinidamente (agregados, no en bruto)