Configurer la protection
Lisez et modifiez les paramètres avecGET et PATCH sur protection/ dans l’API de gestion de l’authentification de votre application, ou depuis la console.
enabled et breached_password_check valent false par défaut. Les modes décrits ci-dessus sont les valeurs par défaut une fois la protection activée.
Politiques
Les politiques
vpn et travel utilisent l’analyse IP de Didit. Si cette recherche est indisponible, la tentative se poursuit : une connexion n’échoue jamais à cause de cette recherche. La position utilisée par travel n’est mise à jour qu’après une connexion réussie.
Force brute et verrouillage
Le modebrute détermine ce qui se passe après 5 échecs :
- Bloquer : la personne doit réinitialiser son mot de passe avant de pouvoir se reconnecter.
- Vérifier : le compte est verrouillé pendant 15 minutes, et la tentative suivante exige une preuve supplémentaire.
- Désactivé ou Journaliser : aucun verrouillage.
Score de bot et signaux d’appareil
Envoyez les signaux d’appareil lors des appels d’exécution avec ces en-têtes. Les pages hébergées les envoient à votre place.
Ces signaux servent de contexte à une décision, et non de preuve d’identité. Ils sont aussi transmis avec chaque événement de connexion, où les règles peuvent lire
event.device.bot_score.
AUTOMATION_FRAMEWORK_DETECTED est un contrôle distinct. Il s’agit d’un avertissement d’analyse de l’appareil et de l’IP sur les sessions de vérification, émis lorsque le SDK de vérification signale un framework d’automatisation de navigateur. Ce contrôle ne s’exécute pas lors de la connexion. À la connexion, l’automatisation est détectée par la politique bots ci-dessus.Vérifications
Une tentative soumise à une vérification renvoie ceci à la place d’un code de connexion :POST protection/complete/ :
{"challenge", "method": "email_code", "code"}avec le code à 6 chiffres envoyé à l’e-mail de la personne, ou{"challenge", "method": "passkey", "response"}avec la réponse WebAuthn.
403 {"error": "protection_factor_unavailable"}.
Mots de passe compromis
Avecbreached_password_check: true, Didit vérifie les nouveaux mots de passe et les mots de passe définis lors d’une réinitialisation par rapport aux mots de passe compromis connus. Le mot de passe lui-même n’est jamais transmis. Un mot de passe compromis est refusé avec password_breached. À la connexion, un mot de passe compromis compte comme une correspondance stuffing. Si la vérification est indisponible, le mot de passe est accepté.
Mode attaque
Activez le mode attaque pendant une attaque en cours :POST protection/attack-mode/avec{"duration_hours": 1}(ou6ou24) renvoie201.DELETE protection/attack-mode/y met fin plus tôt. Il s’arrête aussi automatiquement à l’issue de la durée.
- chaque inscription et chaque connexion doit réussir une vérification par clé d’accès. Un code e-mail n’est pas accepté. Les nouvelles inscriptions et les personnes sans clé d’accès ne peuvent pas aboutir tant que le mode attaque n’est pas terminé.
- une inscription depuis un réseau VPN, Tor ou de centre de données est bloquée.
Limites de débit
Chaque route d’exécution est limitée par IP, par application :
Au-delà de la limite, l’appel renvoie
429. Respectez l’en-tête Retry-After lorsqu’il est envoyé. Les tentatives de connexion sont aussi limitées par minute : 60 par IP, 15 par compte, 30 par appareil, 3 000 par application et 20 demandes de code SMS ou WhatsApp par préfixe de numéro de téléphone. Le renouvellement des tokens dispose d’un quota propre à l’application, de 6 000 par minute, afin que les renouvellements ne consomment jamais vos connexions.
Événements
Chaque décision est enregistrée dans un événement d’authentification :risk_logged, attempt_challenged, attempt_blocked, challenge_passed, challenge_failed, attack_mode_started et attack_mode_ended. L’événement indique la politique qui a été déclenchée.