Skip to content

advanced

Sécurité

Protection multicouche pour votre serveur Discord. Détection des VPN, détection des altérations basée sur l'empreinte digitale du navigateur, pare-feu de 7 types, restrictions de pays, anti-nuke, anti-raid, exigences relatives à l'âge du compte et profilage des renseignements.

Vue d'ensemble

Restore Hub fournit un système de sécurité de défense en profondeur avec plusieurs couches indépendantes. Chaque couche peut être activée ou désactivée indépendamment, et elles fonctionnent ensemble pour fournir une protection complète contre les bots, les alts, les raids, les attaques nucléaires et d'autres menaces.

Les fonctions de sécurité sont différenciées en fonction de l'offre : Free propose des restrictions de pays, un captcha, l'âge du compte et une liste noire. Premium ajoute la détection des VPN, la détection des altérations et le pare-feu. Business ajoute l'anti-nuke, l'anti-raid et la gestion d'équipe. Enterprise ajoute l'analyse interserveur et le support dédié.

Détection de VPN et de Proxy

La détection des VPN/proxy de Restore Hub est entièrement réalisée en interne. Il n'y a pas d'appels d'API externes pendant la vérification - tous les renseignements sur les IP sont préchargés dans une base de données PostgreSQL locale et un cache Redis. Cela signifie qu'il n'y a pas d'impact de latence sur le flux de vérification.

La base de données de renseignements sur la propriété intellectuelle est mise à jour quotidiennement à partir de multiples sources ouvertes et communautaires :

  • Nœuds de sortie Tor - Liste complète de ~7 000 IP de nœuds de sortie Tor, mise à jour quotidiennement à partir de la liste de sortie officielle du projet Tor (https://check.torproject.org/exit-addresses).
  • IP VPN - Listes gérées par la communauté (X4BNet/lists, firehol/blocklist-ipsets) couvrant les principaux fournisseurs de VPN : NordVPN, ExpressVPN, Surfshark, ProtonVPN, PIA, Mullvad, et des centaines d'autres.
  • IP du centre de données/de l'hébergement - Plus de 354 millions d'IP provenant de plus de 50 fournisseurs d'hébergement ASN (AWS, Google Cloud, Azure, DigitalOcean, OVH, Hetzner, Linode, Vultr, etc.) Couvre l'ensemble des plages d'IP des ASN.
  • Plages de bogon - IP privées 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) et autres plages réservées.
  • IP proxy - Serveurs proxy ouverts connus à partir de listes communautaires, mises à jour quotidiennement.

Conseil : la détection étant locale, les vérifications s'effectuent en quelques millisecondes, sans aucune dépendance externe. Il n'y a pas de coût par consultation ni d'API tierce susceptible de tomber en panne.

Configuration de la détection VPN

La détection VPN dispose de quatre options indépendantes dans les paramètres du serveur :

| Le système de gestion de l'information (SGI) est un système de gestion de l'information
|---|---|
| Blocage du VPN (vpnBlockEnabled) | IP des fournisseurs de VPN connus des listes de la communauté
| Blocage de Tor (blockTor) | Toutes les IP des nœuds de sortie Tor du projet Tor |
| Blocage des centres de données (blockDatacenters) | 354M+ IPs appartenant à des fournisseurs d'hébergement en nuage |
| Blocage de proxy (blockDatacenters) - 354 millions d'IP appartenant à des fournisseurs d'hébergement en nuage - Blocage de proxy - Serveurs proxy ouverts connus

Avertissement : Le blocage des centres de données est agressif - il bloque toute IP appartenant à un fournisseur d'hébergement ASN. Cela bloquera les utilisateurs de certains opérateurs mobiles qui passent par des fournisseurs de cloud, les utilisateurs derrière des proxies d'entreprise hébergés sur AWS, et les utilisateurs de certains VPN moins connus qui louent des IP de centres de données. Utilisez-le avec prudence et surveillez votre taux de blocage.

Mise en cache de l'intelligence IP

Les résultats des recherches d'IP sont mis en cache dans Redis avec un TTL de 24 heures (IP_CACHE_TTL_SECONDS = 86 400). Chaque résultat de recherche comprend : le code pays, l'ASN, le nom du FAI, le drapeau VPN, le drapeau proxy, le drapeau Tor, le drapeau du centre de données, le drapeau cellulaire et le score de fraude.

Le modèle IpIntelligence de la base de données stocke des données agrégées par hachage d'IP : nombre total de tentatives de vérification, nombre de réussites et de blocages, nombre d'utilisateurs uniques de Discord, empreintes digitales uniques et score de risque calculé. Cela permet d'obtenir des informations à long terme sur les IP suspectes.

Détection des comptes Alt

La détection des alters identifie les cas où la même personne s'authentifie avec plusieurs comptes Discord à l'aide de l'empreinte du navigateur. Il s'agit de l'une des fonctions de sécurité les plus puissantes de Restore Hub : elle détecte les alts même lorsqu'ils utilisent des IP, des VPN ou des navigateurs différents.

L'empreinte digitale est un hachage composite dérivé de plusieurs signaux indépendants :

  • Empreinte digitale de la toile - Effectue le rendu d'un élément de toile invisible et hachure les données des pixels. Différents GPU, moteurs de rendu de polices et anti-crénelage produisent des résultats uniques.
  • Empreinte WebGL - Utilise WebGL pour interroger le fournisseur de GPU (UNMASKED_VENDOR_WEBGL) et le moteur de rendu (UNMASKED_RENDERER_WEBGL), puis effectue le rendu d'une scène 3D et hachure le résultat.
  • Empreinte audio - Crée un AudioContext, génère un signal d'oscillateur et hachure la sortie. Différents matériels et pilotes audio produisent des formes d'onde uniques.
  • Signaux matériels - Nombre de cœurs de processeur, mémoire de l'appareil, profondeur des couleurs, résolution de l'écran, support tactile, nombre de polices, nombre de plugins.
  • Signaux du navigateur - Agent utilisateur, langue, fuseau horaire, type de connexion, drapeau "Do Not Track", cookies activés.

Détection des altérations - Comment fonctionne la correspondance interserveur ?

Lorsqu'un membre vérifie, son empreinte digitale composite est stockée dans la table MemberMeta et indexée dans la table FingerprintIntelligence. Restore Hub interroge la table FingerprintIntelligence pour trouver tous les ID utilisateurs Discord associés à cette empreinte digitale sur TOUS les serveurs.

Si la même empreinte digitale apparaît sous un autre identifiant Discord, elle est signalée comme un compte altéré potentiel. L'enregistrement FingerprintIntelligence suit : les utilisateurs uniques de Discord, les serveurs uniques, les IP uniques, les pays, les fuseaux horaires, les variations de système d'exploitation, les variations d'appareil, et si l'appareil/le système d'exploitation sont cohérents.

Vous pouvez configurer ce qui se passe lorsqu'un alt est détecté :

| Action et comportement - Action et comportement - Action et comportement - Action et comportement - Action et comportement - Action et comportement - Action et comportement
|---|---|
| Bloquer | Rejeter immédiatement la vérification. Le membre voit le message bloqué et ne peut pas obtenir le rôle vérifié. |
| Autoriser et marquer | Permet au membre de vérifier et d'obtenir le rôle, mais le marque comme alt marqué dans le tableau de bord pour une révision manuelle. |
| Notifier seulement : Laisser le membre vérifier normalement. Envoyez une notification au canal de journalisation et/ou à l'email, mais ne prenez aucune mesure. |

Astuce : La détection des altérations fonctionne sur TOUS vos serveurs, et pas seulement sur celui dans lequel le membre a été vérifié. Si un membre se vérifie sur le serveur A avec une empreinte X, et qu'un autre compte Discord se vérifie sur le serveur B avec la même empreinte X, il est signalé.

Règles de pare-feu

Le pare-feu (Premium+) vous permet de créer des règles de blocage granulaires basées sur 7 attributs différents. Les règles de pare-feu sont vérifiées avant OAuth2 - les visiteurs bloqués ne voient jamais la page d'autorisation de Discord.

| Règle - Type de règle - Format de la valeur - Exemple - Ce qu'elle bloque - Type de règle - Format de la valeur - Exemple - Ce qu'elle bloque
|---|---|---|---|
| IP | Adresse IPv4/IPv6 ou plage CIDR | 1.2.3.4 ou 10.0.0.0/8 | Une adresse IP spécifique ou un sous-réseau complet |
| PAYS - Code pays ISO 3166-1 alpha-2 - CN, RU, IR - Tout le trafic provenant du pays spécifié - ASN - Numéro AS avec ASN
| ASN - Numéro AS avec préfixe AS - AS14061 - Toutes les IP appartenant à cet ASN (par exemple, AS14061 = DigitalOcean)
| FINGERPRINT | Empreinte digitale du navigateur | abc123def456... | Empreinte digitale d'un navigateur spécifique (utile pour bloquer l'appareil d'un mauvais acteur connu)
| USER_ID | ID de l'utilisateur Discord (snowflake) | 123456789012345678 | ID d'un utilisateur Discord spécifique
| SERVER_ID | ID de guilde Discord (snowflake) | 987654321098765432 | Tout utilisateur membre du serveur Discord spécifié |
| REGION | Chaîne de région géographique | EU-WEST, ASIA-EAST | Tout le trafic provenant de la région géographique spécifiée |

Pare-feu, liste noire et restrictions par pays

Ces trois caractéristiques se chevauchent mais servent des objectifs différents :

  • Règles de pare-feu - Blocage large, avant l'autorisation, basé sur 7 attributs. Blocage avant même que le membre ne voie l'autorisation Discord. Par serveur, géré par le propriétaire du serveur.
  • Liste noire - Blocage post-OAuth d'ID d'utilisateurs Discord spécifiques. Vérifié après OAuth2 (parce que l'ID utilisateur n'est pas connu avant OAuth). Par utilisateur (s'applique à tous vos serveurs).
  • Restrictions par pays - Pre-OAuth, plus simple qu'un pare-feu. Deux modes : autoriser (seuls les pays de la liste peuvent vérifier) ou bloquer (les pays de la liste sont refusés). Idéal pour les serveurs qui ne desservent que des régions spécifiques.

Règles de liste blanche

Les règles de liste blanche (Premium+) permettent à des visiteurs spécifiques de contourner TOUS les contrôles de sécurité. Un visiteur inscrit sur la liste blanche ne passe pas par le pare-feu, la détection VPN, les restrictions de pays, la détection des altérations et le captcha. Ils passent toujours par OAuth2 (puisque c'est le cœur de la vérification), mais toutes les vérifications restrictives sont contournées.

| Exemple de cas d'utilisation - Type de règle - Exemple de cas d'utilisation - Type de règle - Exemple de cas d'utilisation - Type de règle
|---|---|
| IP - Liste blanche pour l'IP de votre bureau afin que le personnel passe toujours la vérification
| ID_UTILISATEUR - Liste blanche d'un ID d'utilisateur Discord spécifique pour un VIP
| Empreinte digitale - Whitelist - Whitelist - Empreinte digitale d'un appareil connu
| PAYS - Whitelist - Whitelist - Whitelist - Whitelist - Whitelist - Whitelist - Whitelist - Whitelist - Whitelist - Whitelist
| ASN | Liste blanche d'un fournisseur d'accès ou d'un fournisseur de réseau spécifique

Conseil : les règles de la liste blanche sont vérifiées EN PREMIER dans le flux de vérification, avant tout autre contrôle de sécurité. Si un visiteur correspond à une règle de la liste blanche, il passe directement à OAuth2.

Anti-nucléaire

Anti-nuke (Business+) détecte en temps réel les actions de destruction massive sur votre serveur Discord. Il utilise des compteurs Redis à fenêtre coulissante pour suivre le taux d'événements destructeurs. Lorsqu'un seuil est dépassé, Restore Hub déclenche des actions d'alerte.

Anti-nuke surveille quatre types d'événements avec les seuils suivants (tirés du fichier constants.ts) :

| Type d'événement - Seuil - Fenêtre temporelle - Ce qu'il détecte - Ce qu'il détecte - Ce qu'il détecte - Ce qu'il détecte
|---|---|---|---|
| Suppression d'un canal - 3 suppressions - 60 secondes - Quelqu'un supprime des canaux en masse
| Suppression d'un rôle - 3 suppressions - 60 secondes - Quelqu'un supprime des rôles en masse
| Bannissements - 5 bannissements - 60 secondes - Quelqu'un bannit des membres en masse
| Bannissement - 5 bannissements - 60 secondes - Quelqu'un bannit des membres en masse

Anti-Nuke - Comment fonctionnent les compteurs à fenêtre coulissante

Pour chaque type d'événement, Restore Hub maintient un ensemble trié Redis avec pour clé l'ID du serveur. Chaque événement est ajouté avec un horodatage. Lorsqu'un nouvel événement arrive, Restore Hub compte le nombre d'événements survenus au cours des N dernières secondes (la fenêtre). Si le nombre dépasse le seuil, l'alerte est déclenchée.

Cette approche est plus précise que les compteurs à fenêtre fixe parce qu'elle n'a pas d'effets de frontière. Une rafale de 4 suppressions de canaux en 2 secondes déclenchera l'alerte, qu'elle s'étende ou non sur une minute.

Anti-nuke - Actions de réponse

Lorsqu'un seuil anti-nuke est déclenché, Restore Hub peut prendre plusieurs mesures configurables :

  • Alerte par courriel - Envoi d'un courrier électronique à l'adresse d'alerte configurée avec des détails sur l'action destructrice, y compris le nom de la personne qui l'a exécutée et ce qui a été affecté.
  • Alerte webhook Discord - Envoyer un embed détaillé à une URL webhook Discord avec des informations en temps réel.
  • Auto-pull - Commencez automatiquement à extraire vos membres vérifiés vers un serveur de sauvegarde préconfiguré (Business+ avec hasAutoPull).
  • Enregistrement - Tous les événements anti-nuke sont enregistrés dans le journal d'audit et peuvent être consultés dans le tableau de bord.

Anti-raids

Anti-raid (Business+) détecte les événements de connexion en masse qui indiquent un raid - un flot coordonné de bots ou d'utilisateurs qui rejoignent votre serveur simultanément. Il surveille deux types d'événements :

| Modèle | Seuil | Fenêtre temporelle | Détails
|---|---|---|---|
| 10 jointures | 30 secondes | 10+ utilisateurs se joignent dans une fenêtre de 30 secondes, sans tenir compte de l'âge du compte
| Inondation de nouveaux comptes | 5 jointures | 60 secondes | 5+ comptes de moins de 7 jours se joignent dans une fenêtre de 60 secondes

Conseil : L'antiraid et l'antinucléaire utilisent la même configuration d'alerte. Vous pouvez configurer des alertes pour les deux simultanément à l'aide d'une seule adresse électronique et d'une seule URL webhook.

Âge requis pour l'ouverture d'un compte

Vous pouvez exiger que les comptes Discord aient un âge minimum (en jours) avant de pouvoir être vérifiés. Il s'agit d'une défense simple mais efficace contre les comptes bot/alt fraîchement créés.

La date de création du compte est dérivée du flocon de neige de l'ID utilisateur Discord - les 42 premiers bits d'un flocon de neige Discord codent l'horodatage. Restore Hub l'analyse pour obtenir la date exacte de création du compte sans appel supplémentaire à l'API.

Définissez minAccountAgeDays dans les paramètres du serveur. La valeur 0 désactive la vérification. Valeurs courantes :

  • 0 jour - Aucune restriction (par défaut)
  • 7 jours - Bloque les comptes datant de moins d'une semaine
  • 30 jours - Bloque les comptes datant de moins d'un mois (recommandé pour la plupart des serveurs)
  • 90 jours - Agressif ; bloque les comptes légitimes plus récents mais très efficace contre les alts

Intelligence et profilage des risques

Restore Hub établit des profils d'intelligence au fil du temps pour les utilisateurs, les IP et les empreintes digitales. Ces données permettent d'évaluer les risques et de détecter les anomalies.

  • Profil de comportement de l'utilisateur - Suivi d'un utilisateur Discord sur tous les serveurs : vérifications totales, taux de réussite/blocage, IP uniques, empreintes digitales uniques, appareils uniques, nombre de pays, utilisation de VPN, utilisation de proxy, probabilité de compte alt (0-100), et score de risque global (0-100) avec des niveaux : FAIBLE, MOYEN, ÉLEVÉ, CRITIQUE.
  • IpIntelligence - Trace une IP (hachée) à travers toutes les vérifications : pays, ASN, FAI, drapeaux VPN/proxy/Tor/datacenter, nombre total de tentatives, nombre de succès/blocages, utilisateurs Discord uniques, empreintes digitales uniques, score de fraude et score de risque.
  • FingerprintIntelligence - Trace une empreinte de navigateur à travers toutes les vérifications : utilisateurs Discord uniques, serveurs uniques, IP uniques, détection de compte alt, variations de pays/zone horaire/OS/appareil, drapeaux de cohérence, score de risque et niveau de risque.
  • Rapport sur les risques du serveur - Évaluation des risques par serveur : nombre total de membres vérifiés, taux de vérification, comptes alt détectés, nombre de VPN bloqués, nombre de pare-feu bloqués, nombre d'IP du centre de données, nombre d'ASN uniques, score de diversité des pays et score/niveau de risque global (PROPRE, FAIBLE, MOYEN, ÉLEVÉ, CRITIQUE).
  • Événement d'anomalie - Détections d'anomalies individuelles : GEO_IMPOSSIBLE_TRAVEL (utilisateur vérifié depuis deux pays éloignés en peu de temps), MASS_VERIFY (même empreinte digitale vérifiée rapidement), FINGERPRINT_REUSE (empreinte digitale utilisée par de nombreux utilisateurs de Discord), IP_SPAM (nombreuses vérifications à partir d'une IP), DEVICE_SWITCH (utilisateur changeant fréquemment d'appareil).

Conservation des données

Les données relatives à la sécurité ont des périodes de conservation définies :

| Données de l'entreprise - Période de conservation - Données de l'entreprise - Période de conservation - Données de l'entreprise - Données de l'entreprise
|---|---|
| Événements de vérification - 90 jours
| Événements de vérification - 90 jours - Événements de vérification - 90 jours - Événements de vérification - 90 jours - Événements de vérification - 90 jours
| Journaux d'audit - 1 an - 1 an - 1 an
| Données des membres (membres vérifiés) - 1 an
| Données des membres (membres vérifiés) - Conservées jusqu'à ce qu'elles soient supprimées manuellement ou que le serveur soit supprimé
| profils de renseignement | conservés indéfiniment (agrégés, non bruts) | profils de renseignement
Sécurité — Restore Hub Docs | Restore Hub