Protection contre les attaques avec Custom Token Exchange
Découvrez comment utiliser la protection contre les attaques avec Custom Token Exchange.
Pour se prémunir contre l’usurpation et les attaques par rejeu, qui impliquent des tentatives non autorisées de compromettre ou de réutiliser un subject_token, Custom Token Exchange prend en charge la Suspicious IP Throttling. Cela vous permet d’indiquer dans votre code d’Actions lorsqu’un subject_token n’est pas valide, ce qui permet à Auth0 de comptabiliser le nombre de tentatives échouées envoyées depuis cette adresse IP externe.Lorsque le nombre de tentatives échouées provenant d’une adresse IP atteint un seuil préconfiguré, Auth0 bloque le trafic associé à une requête Custom Token Exchange provenant de cette IP et renvoie l’erreur suivante :
HTTP/1.1 429 Too Many RequestsContent-Type: application/json{ "error": "too_many_attempts", "error_description": "We have detected suspicious login behavior and further attempts will be blocked. Please contact the administrator."}
L’adresse IP pourra recommencer à envoyer des requêtes après la période configurée.Nous vous recommandons d’utiliser Suspicious IP Throttling pour tous les cas d’utilisation de Custom Token Exchange, en particulier avec les applications natives et les applications monopage (SPA). Comme les applications non confidentielles, comme les applications natives et les SPA, ne peuvent pas stocker de secrets de façon sécurisée pour s’authentifier, les attaquants peuvent plus facilement réutiliser des jetons de sujet volés ou compromis.
Pour mettre en place la protection Suspicious IP Throttling, utilisez api.access.rejectInvalidSubjectToken dans votre code Actions chaque fois que le jeton de sujet reçu n’est pas validé de façon stricte.
Suspicious IP Throttling est activé par défaut pour les locataires Auth0. Lorsqu’il est activé, les paramètres par défaut de Custom Token Exchange sont appliqués :
Seuil : 10. Nombre maximal de tentatives échouées pour une adresse IP.
Taux de limitation : 6 par heure. Une tentative supplémentaire devient disponible toutes les 10 minutes, jusqu’à ce que le seuil soit de nouveau atteint.
Utilisez la requête PATCH suivante pour mettre à jour l’étape pre-custom-token-exchange avec les valeurs requises. Notez que le taux correspond à l’intervalle, en millisecondes, auquel de nouvelles tentatives sont autorisées.