Skip to Content

Configuration de la Protection contre les Menaces

Auris fournit trois couches de protection configurables qui fonctionnent ensemble dans le pipeline de sécurité de connexion : règles IP (blocage au niveau réseau), détection de connexions suspectes (analyse comportementale) et CAPTCHA (atténuation des bots). Chaque couche opère indépendamment et peut être configurée selon tes exigences de sécurité.

Ce guide détaille la configuration pratique de chaque couche et explique comment elles s’intègrent dans le pipeline de connexion complet.


Aperçu des Couches de Protection

CoucheCe qu’elle faitOù elle s’exécuteImpact sur la latence
Listes d’IP Autorisées/BloquéesBloque ou autorise les requêtes en fonction de l’IP/plage CIDR sourceAvant l’authentificationNégligeable (correspondance CIDR en mémoire)
CAPTCHADéfie les bots et les scripts automatisésAvant l’authentification100-500ms (API de vérification externe)
Détection de Connexions SuspectesDétecte les comportements de connexion anomaux (nouvel appareil, voyage impossible, VPN)Après l’authentification50-300ms (recherche GeoIP)

Les trois couches ne se bloquent pas mutuellement — configurer l’une n’affecte pas les autres.


Listes d’IP Autorisées/Bloquées

Les règles IP utilisent la notation CIDR pour contrôler quelles adresses IP peuvent accéder aux endpoints d’authentification de ton tenant.

Types de Règles et Priorité

Type de règleComportement
BLOCKRefuse immédiatement les requêtes depuis les IP correspondantes avec HTTP 403
ALLOWAutorise explicitement le trafic depuis les IP correspondantes

Priorité : Les règles BLOCK ont toujours la priorité sur les règles ALLOW dans le même scope. Si une IP correspond à la fois à une règle BLOCK et à une règle ALLOW, elle est bloquée.

Scope

Les règles peuvent être scopées à deux niveaux :

  • Scope tenant (scope: TENANT) — s’applique à toutes les applications du tenant
  • Scope application (scope: APPLICATION) — s’applique uniquement à une application spécifique

Les règles avec scope application sont évaluées après les règles avec scope tenant. Un BLOCK au niveau tenant ne peut pas être remplacé par un ALLOW au niveau application.

Configuration des Règles IP

Accède aux Règles IP

Dans la Console Auris, va sur Paramètres → Règles IP.

Crée une Règle de Blocage

Clique sur Ajouter une Règle et configure :

{ "cidr": "203.0.113.0/24", "type": "BLOCK", "scope": "TENANT", "label": "Source d'attaque connue", "note": "Bloqué après une attaque de credential stuffing le 01/06/2025" }

Crée un Blocage Temporaire

Pour des blocages limités dans le temps (ex. pendant une attaque active), active le flag temporaire :

{ "cidr": "198.51.100.42/32", "type": "BLOCK", "scope": "TENANT", "label": "Blocage temporaire - attaque active", "isTemporary": true, "expiresAt": "2025-07-01T00:00:00Z" }

Les règles temporaires sont automatiquement désactivées après le délai d’expiration.

Crée une Liste Blanche pour le Bureau

Si tu souhaites t’assurer que tes IP d’entreprise sont toujours autorisées (même pendant des blocages larges) :

{ "cidr": "10.0.0.0/8", "type": "ALLOW", "scope": "TENANT", "label": "Réseau d'entreprise" }

Gestion Programmatique

Les règles IP peuvent être gérées via API pour une réponse automatisée aux incidents :

// Bloque une plage d'IP programmatiquement après avoir détecté une attaque await fetch('https://auth.votredomaine.com/api/ip-rules', { method: 'POST', headers: { 'Authorization': `Bearer ${adminToken}`, 'Content-Type': 'application/json', 'x-tenant': 'votre-tenant', }, body: JSON.stringify({ cidr: '192.0.2.0/24', type: 'BLOCK', scope: 'TENANT', label: 'Blocage automatique - limite de débit dépassée', isTemporary: true, expiresAt: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(), }), })

Référence Rapide CIDR

NotationAdressesExemple
/321 (IP unique)203.0.113.42/32
/24256203.0.113.0/24
/1665 536203.0.0.0/16
/816 777 21610.0.0.0/8

Détection de Connexions Suspectes

Une fois que les credentials de l’utilisateur sont vérifiés, Auris analyse le contexte de connexion pour des anomalies comportementales en utilisant cinq détecteurs indépendants.

Méthodes de Détection

1. Nouvel Appareil

Une empreinte hash est calculée depuis le user agent du navigateur, la résolution d’écran et d’autres signaux stables. Les appareils jamais vus auparavant sont signalés. L’empreinte est enregistrée après une connexion réussie pour les comparaisons futures.

2. Nouvelle Adresse IP

Auris trace les adresses IP depuis lesquelles un utilisateur a précédemment effectué une connexion. Une connexion depuis une IP jamais vue pour ce compte déclenche le détecteur.

3. Nouveau Pays

La recherche GeoIP détermine le pays de l’IP de connexion. Un pays jamais vu dans l’historique de connexions de l’utilisateur déclenche le détecteur.

4. Voyage Impossible

La distance géographique entre la connexion courante et la plus récente est divisée par le temps écoulé pour calculer la vitesse de déplacement implicite. Si la vitesse dépasse le seuil configuré (défaut : 800 km/h), la connexion est signalée comme voyage impossible.

5. VPN / Proxy / Datacenter

Les métadonnées GeoIP identifient les IP appartenant à des fournisseurs VPN connus, des proxies ou des datacenters cloud. Ces IP sont signalées par défaut mais peuvent être autorisées pour les organisations dont les utilisateurs se connectent couramment via VPN.

Configuration des Actions

Chaque détecteur peut être configuré indépendamment avec l’une des quatre actions :

ActionEffet
logEnregistre l’événement uniquement dans les logs d’audit. Aucun impact sur l’utilisateur.
notifyEnvoie un e-mail de notification à l’utilisateur. La connexion continue.
blockRefuse complètement la connexion. L’utilisateur doit contacter un administrateur.
require_mfaAutorise la connexion mais force la complétion MFA, même si la MFA n’est pas normalement requise pour cet utilisateur.

Configure via Console → Paramètres → Détection de Connexions Suspectes :

DétecteurAction recommandéeNotes
Nouvel appareilnotifyAvertit l’utilisateur, mais ne bloque pas — les nouveaux appareils sont courants
Nouvelle IPlogLa plupart des utilisateurs ont des IP dynamiques. Le blocage serait trop agressif.
Nouveau paysrequire_mfaSignal fort de compromission. Force la vérification MFA.
Voyage impossibleblockSignal très fort. Bloquer et avertir.
VPN/proxylogDépend de ta base d’utilisateurs. Bloque si l’utilisation VPN n’est pas attendue.

Fournisseurs GeoIP

FournisseurConfigurationLatenceConfidentialité
ip-api.com (défaut)Aucune configuration requise50-200ms par connexion (appel API externe)IPs envoyées à un service tiers
MaxMind GeoLite2GEO_IP_PROVIDER=maxmind, MAXMIND_DB_PATH=/chemin/vers/db<1ms (recherche sur fichier local)Aucun appel externe

Pour les déploiements en production avec un volume élevé de connexions, utilise la base de données locale MaxMind pour éviter les limites de débit du niveau gratuit d’ip-api.com et pour éliminer la dépendance aux API externes. Un compte MaxMind gratuit est nécessaire pour télécharger la base de données GeoLite2.

Révision des Événements

Les événements de connexions suspectes sont visibles dans Console → Paramètres → Détection de Connexions Suspectes → Événements. Chaque événement affiche :

  • Email et ID de l’utilisateur
  • Raison de la détection (nouvel appareil, voyage impossible, etc.)
  • Gravité (faible, moyenne, élevée)
  • Action entreprise (enregistré, notifié, bloqué, MFA requise)
  • Adresse IP, pays et informations sur l’appareil
  • Horodatage

Les administrateurs peuvent marquer les événements comme révisés pour suivre l’état de l’investigation.


CAPTCHA

Le CAPTCHA protège les pages de connexion, d’inscription et de réinitialisation de mot de passe contre les bots automatisés. Auris supporte trois fournisseurs et trois modes d’activation.

Fournisseurs Supportés

FournisseurTypeConfiguration
Cloudflare TurnstilePreuve de travail, sans défis d’imagesdash.cloudflare.com  → Turnstile → Ajouter un site
hCaptchaDéfis basés sur des imagesdashboard.hcaptcha.com 
reCAPTCHA v3Basé sur un score, invisiblewww.google.com/recaptcha 

Cloudflare Turnstile est recommandé pour la plupart des déploiements. Il fournit une forte protection contre les bots sans défis d’images (meilleure expérience utilisateur) et dispose d’un généreux niveau gratuit.

Modes d’Activation

ModeQuand le CAPTCHA apparaîtIdéal pour
ALWAYSChaque tentative de connexion, d’inscription et de réinitialisation de mot de passeEnvironnements haute sécurité
ON_SUSPICIOUSQuand le score de risque de la MFA adaptative dépasse le seuil configuréÉquilibre sécurité et UX
AFTER_FAILURESAprès N tentatives de connexion consécutives échouées depuis le même IPFriction minimale pour les utilisateurs légitimes

Étapes de Configuration

Choisis un Fournisseur

Sélectionne ton fournisseur CAPTCHA dans Console → Paramètres → CAPTCHA.

Configure les Clés

Saisis la Site Key (utilisée dans le navigateur pour afficher le widget CAPTCHA) et la Secret Key (utilisée côté serveur pour vérifier les réponses) depuis le tableau de bord de ton fournisseur.

Définis le Mode d’Activation

Choisis quand le CAPTCHA doit apparaître :

  • Pour AFTER_FAILURES, définis le seuil d’échecs (ex. 3 échecs consécutifs)
  • Pour ON_SUSPICIOUS, le seuil est dérivé du score de risque de la MFA adaptative

Définis le Seuil de Score (reCAPTCHA v3 uniquement)

reCAPTCHA v3 retourne un score entre 0.0 (probablement un bot) et 1.0 (probablement humain). Définis le score minimum pour réussir la vérification (recommandé : 0.5).

Active sur les Pages

Active/désactive sur quelles pages le CAPTCHA est requis :

  • Page de connexion (recommandé)
  • Page d’inscription (recommandé)
  • Page de réinitialisation de mot de passe (optionnel)

La vérification CAPTCHA est effectuée côté serveur sur l’API Auris avant que les credentials soient vérifiés. Même si un client contourne le widget CAPTCHA dans le navigateur, la requête de connexion échouera sans un token de vérification valide du fournisseur CAPTCHA.


Le Pipeline Complet de Sécurité de Connexion

Quand un utilisateur tente de se connecter, la requête passe par toutes les couches de protection en séquence. Chaque couche peut court-circuiter le pipeline :

Requête de connexion entrante | v 1. Vérification IP Allow/Block Règle BLOCK correspondante ? --> HTTP 403, arrêt | v 2. Vérification CAPTCHA (si configuré) Token invalide ou manquant ? --> HTTP 400, arrêt | v 3. Limitation de Débit Limite par IP ou par utilisateur dépassée ? --> HTTP 429, arrêt | v 4. Vérification Blocage Brute-Force Compte ou IP bloqué ? --> HTTP 423, arrêt | v 5. Authentification Keycloak Credentials invalides ? --> enregistrer échec, HTTP 401, arrêt | v 6. Analyse de Connexions Suspectes Exécute 5 détecteurs, exécute les actions configurées Action = block ? --> HTTP 403, arrêt Action = require_mfa ? --> force l'étape MFA | v 7. Calcul du Score de Risque MFA Adaptative Score pondéré à 5 facteurs Score au-dessus du seuil ? --> exiger MFA step-up | v 8. Émission de Token Définit les claims ACR/AMR Retourne access token + refresh token

Les étapes 1-4 sont des vérifications rapides et synchrones qui filtrent le trafic clairement malveillant avant d’atteindre les étapes d’authentification et d’analyse plus coûteuses.


Bonnes Pratiques pour la Production

  1. Commence par le logging : Active tous les détecteurs de connexions suspectes en mode log d’abord. Révise les événements pendant une semaine pour comprendre ta baseline avant de passer à block ou require_mfa.

  2. Utilise des blocages IP temporaires : Pendant une attaque active, crée des règles BLOCK temporaires avec une expiration de 24-48 heures plutôt que des blocages permanents. Cela prévient les blocages involontaires à long terme.

  3. Combine CAPTCHA avec la limitation de débit : Utilise le mode d’activation AFTER_FAILURES pour que les utilisateurs légitimes ne voient jamais le CAPTCHA, tandis que les attaquants le rencontrent après 3-5 tentatives échouées.

  4. Déploie MaxMind localement : Pour les déploiements qui gèrent plus de 1 000 connexions par heure, passe d’ip-api.com à MaxMind GeoLite2 pour éviter les limites de débit de l’API gratuite d’ip-api.com et réduire la latence.

  5. Surveille le pipeline : Révise régulièrement les logs d’audit pour les patterns. Un pic soudain de détections impossible_travel ou new_country peut indiquer une attaque de credential stuffing.

  6. Combine avec la MFA : La protection contre les menaces fonctionne mieux avec l’Authentification Multi-Facteur. Active la MFA pour tous les utilisateurs et utilise la détection de connexions suspectes pour déclencher l’authentification step-up pour les connexions anomales.


Endpoints API

GET/api/ip-rulesRequires: manage:users

Liste toutes les règles IP pour le tenant. Supporte le filtrage par type, scope et état actif.

POST/api/ip-rulesRequires: manage:users

Crée une nouvelle règle IP de type allow ou block.

PATCH/api/ip-rules/:idRequires: manage:users

Met à jour une règle IP existante (change le libellé, prolonge l’expiration, active/désactive).

DELETE/api/ip-rules/:idRequires: manage:users

Supprime une règle IP.

GET/api/suspicious-login/eventsRequires: manage:users

Liste les événements de connexions suspectes. Filtrable par gravité, raison, utilisateur et plage de dates.

PATCH/api/suspicious-login/events/:id/reviewRequires: manage:users

Marque un événement de connexion suspecte comme révisé.

GET/api/suspicious-login/configRequires: manage:users

Récupère la configuration actuelle de la détection de connexions suspectes.

PATCH/api/suspicious-login/configRequires: manage:users

Met à jour les paramètres de détection de connexions suspectes (active/désactive les détecteurs, définit les actions, configure les seuils).

GET/api/captcha/configRequires: manage:users

Récupère la configuration CAPTCHA actuelle.

PATCH/api/captcha/configRequires: manage:users

Met à jour les paramètres CAPTCHA (fournisseur, clés, mode d’activation, seuil de score).


Permissions Requises

OpérationPermission
Gérer les règles IPmanage:users
Voir/réviser les événements de connexions suspectesmanage:users
Configurer la détection de connexions suspectesmanage:users
Configurer le CAPTCHAmanage:users
Configurer les paramètres de sécurité (Console)OWNER ou ADMIN du tenant uniquement

Guides Associés