Auth0 Attack Protection : brute force, anomaly detection et Bot Detection

Auth0 inclut une protection native contre les attaques brute force, les credential stuffing et les bots. Configuration et ajustement des seuils.

Par Auth0.Expert · 2025-01-25 · 10 min de lecture

Brute Force Bot Detection Sécurité

Auth0 Attack Protection : guide complet

TL;DR

Auth0 inclut 3 couches de protection natives : Brute Force Protection (verrouillage par IP/compte), Suspicious IP Throttling et Bot Detection. Ce guide explique comment les configurer et éviter les faux positifs.

---

Les 3 boucliers Auth0

Pour sécuriser vos applications, Auth0 propose trois solutions natives adaptées à chaque type d'attaque.

1. Brute Force Protection

Cette configuration JSON active une protection contre les attaques par tentative répétée sur un identifiant, en définissant comment Auth0 doit compter et réagir aux échecs.

{
  "brute_force_protection": {
    "enabled": true,
    "shields": ["user_notification", "block"],
    "allowlist": ["192.168.1.0/24"],
    "mode": "count_per_identifier_and_ip",
    "max_attempts": 10
  }
}

Ce bloc permet de limiter le nombre d'essais infructueux et de notifier l'utilisateur ou de bloquer temporairement l'accès.

Modes disponibles :

2. Suspicious IP Throttling

Voici comment ralentir les requêtes provenant d'IP suspectes pour réduire l'impact des attaques automatisées.

{
  "suspicious_ip_throttling": {
    "enabled": true,
    "shields": ["admin_notification", "throttle"],
    "allowlist": [],
    "stage": {
      "pre-login": {
        "max_attempts": 100,
        "rate": 864000
      },
      "pre-user-registration": {
        "max_attempts": 50,
        "rate": 1728000
      }
    }
  }
}

Ce code ralentit les adresses IP suspectes, notifie l’admin et bloque si l’utilisateur ou le bot dépasse le seuil autorisé.

3. Bot Detection

Activez la protection anti-bot avec Arkose Labs directement depuis le dashboard Auth0, simple à mettre en place pour filtrer le trafic automatisé.

Dashboard → Security → Attack Protection → Bot Detection

---

Credential Stuffing : la vraie menace

Avant d’entrer dans la configuration, rappelons que le credential stuffing vise à exploiter des identifiants valides issus de fuites. Voici comment Auth0 permet de s'en prémunir.

Auth0 Breached Password Detection :

Ce paramètre améliore la sécurité contre les connexions avec des mots de passe compromis en bloquant automatiquement ces tentatives.

{
  "breached_password_detection": {
    "enabled": true,
    "shields": ["admin_notification", "user_notification", "block"],
    "method": "standard",
    "pre_user_registration": {"shields": ["block"]}
  }
}

Résultat : Auth0 stoppe toute tentative avec mot de passe dans une fuite et informe l'utilisateur de réinitialiser son mot de passe.

Quand un utilisateur tente de se connecter avec un mot de passe listé dans une fuite connue → blocage + email de réinitialisation automatique.

---

Allowlist IP : éviter les faux positifs

Le code ci-dessous montre comment ajouter des IPs sûres dans la liste blanche pour éviter qu’un service interne ne soit bloqué suite à des faux positifs.

# Via Management API
curl -X PATCH "https://YOUR_DOMAIN.auth0.com/api/v2/attack-protection/brute-force-protection"   -H "Authorization: Bearer $MGMT_TOKEN"   -H "Content-Type: application/json"   -d '{
    "allowlist": [
      "192.168.0.0/16",
      "10.0.0.0/8",
      "203.0.113.42"
    ]
  }'

---

Débloquer un utilisateur verrouillé

Cette commande API sert à débloquer un utilisateur qui a été verrouillé après trop d’échecs ou visualiser la liste des utilisateurs bloqués.

# Via Management API
curl -X DELETE   "https://YOUR_DOMAIN.auth0.com/api/v2/user-blocks/USER_ID"   -H "Authorization: Bearer $MGMT_TOKEN"

# Lister les utilisateurs bloqués
curl "https://YOUR_DOMAIN.auth0.com/api/v2/[email protected]"   -H "Authorization: Bearer $MGMT_TOKEN"

Elle offre une méthode rapide pour rétablir l'accès d'un utilisateur bloqué ou effectuer un audit.

---

Action : blocage géographique custom

Pour renforcer la sécurité, ce script Auth0 Action bloque la connexion selon le pays ou l’usage de Tor/VPN.

exports.onExecutePostLogin = async (event, api) => {
  const BLOCKED_COUNTRIES = ['XX', 'YY'];
  const country = event.request.geoip?.country_code;

  if (BLOCKED_COUNTRIES.includes(country)) {
    api.access.deny(`Accès non autorisé depuis ${country}`);
  }

  // Bloquer les connexions Tor/VPN (via base IP)
  if (event.request.geoip?.is_tor) {
    api.access.deny('Connexion Tor non autorisée');
  }
};

Ce code permet d’ajouter un contrôle granulaire sur l’accès selon le contexte géographique ou l’origine réseau.

---

Monitoring des attaques

Voici les types de logs Auth0 qui servent à identifier et surveiller les attaques sur votre tenant.

# Logs à surveiller en priorité
type:f     → Échecs de login (filtrer pic anormal)
type:limit_wc → Trop de tentatives → attaque active
type:pwd_leak → Mot de passe compromis détecté
type:fu    → Utilisateur inconnu (scanning de comptes)
type:seccft → CSRF token invalide

---

Tableau de bord sécurité recommandé

Le tableau suivant récapitule les métriques phares à surveiller pour détecter et réagir rapidement aux incidents de sécurité Auth0.

| Métrique | Seuil d'alerte | Action | |----------|---------------|--------| | Échecs/heure | > 500 | Alerte + revue IP | | Comptes bloqués/heure | > 10 | Incident sécurité | | pwd_leak détections | > 0 | Alerte immédiate | | Logins depuis Tor | > 0 | Enquête |

---

> 🚨 Sous attaque ? Contactez-nous immédiatement pour une configuration d'urgence et l'analyse des logs d'attaque.

📞 +33 1 23 45 67 89


Autres articles