Passer au contenu principal

Implémenter la connexion

Vous pouvez implémenter l’authentification en redirigeant les utilisateurs vers le d’Auth0, ou en intégrant la connexion à votre application. Nous recommandons toujours d’utiliser Universal Login. Pour savoir pourquoi, consultez Universal Login centralisé ou connexion intégrée. Pour savoir comment implémenter l’authentification Passwordless, consultez les articles suivants :

Utiliser le SMS et le courriel comme facteurs d’authentification

L’implémentation Passwordless d’Auth0 permet d’authentifier les utilisateurs à l’aide d’un seul facteur. Ce facteur peut être un code à usage unique envoyé par courriel ou par SMS, ou encore un lien magique envoyé par courriel. Même si l’utilisation du courriel ou du SMS peut être plus sécuritaire qu’un mot de passe faible, ces deux options présentent des limites connues :
  • Les numéros de téléphone ne suffisent pas à authentifier les utilisateurs. Le système d’acheminement téléphonique SS7 utilisé par les réseaux cellulaires présente des vulnérabilités connues, ce qui explique pourquoi il n’est pas recommandé comme facteur d’authentification. Il existe de nombreux vecteurs d’attaque, allant de l’ingénierie sociale au remplacement de cartes SIM et à l’achat d’un accès au réseau SS7.
  • Le fait de posséder une adresse courriel ne suffit pas à authentifier un utilisateur (les alias, le transfert de courriels et les comptes partagés entre plusieurs utilisateurs en sont quelques exemples). Les fournisseurs de courriel n’appliquent pas tous les mêmes pratiques de sécurité, et certains n’exigent aucune vérification de l’identité de l’utilisateur. SMTP est un protocole très ancien, et de nombreux fournisseurs acheminent encore le trafic SMTP sans chiffrement, ce qui accroît le risque d’interception.
Pour ces raisons, si vous utilisez l’authentification Passwordless, nous vous recommandons également de mettre en œuvre l’authentification multifacteur (MFA) à l’aide d’un facteur différent lorsque l’utilisateur effectue une opération sensible sur le plan de la sécurité.

Prévenir les attaques d’hameçonnage

Voici à quoi pourrait ressembler une attaque d’hameçonnage :
  1. L’utilisateur clique sur un lien dans un courriel ou sur un site Web malveillant.
  2. L’utilisateur arrive sur le faux site de l’attaquant, où on lui demande d’entrer son numéro de téléphone pour s’authentifier.
  3. L’utilisateur entre son numéro de téléphone, et l’attaquant entre le même numéro de téléphone dans l’application légitime.
  4. L’application légitime envoie un SMS à l’utilisateur.
  5. L’utilisateur saisit le code à usage unique sur le site Web de l’attaquant.
  6. L’attaquant peut maintenant se connecter au site Web légitime.
Pour réduire les chances de réussite de cette attaque, l’utilisateur devrait s’attendre à ce que le SMS identifie clairement l’application. Vous devez configurer le modèle de SMS afin qu’il mentionne le nom du locataire et/ou le nom de l’application :
Votre code de vérification pour accéder à Acme @@application.name@@ est @@code@@

Empêcher les attaques par force brute

Auth0 offre les protections suivantes contre les attaques par force brute :
  • Seul le code à usage unique (ou le lien) émis le plus récemment sera accepté. Dès qu’un nouveau code est émis, tous les précédents sont invalidés. Après utilisation, ce dernier est lui aussi invalidé.
  • Seulement trois tentatives infructueuses pour saisir un même code à usage unique sont permises. Après cela, vous devrez demander un nouveau code.
  • Le code à usage unique émis sera valide pendant trois minutes (par défaut) avant d’expirer.
  • Si un utilisateur Passwordless a été bloqué administrativement, Auth0 n’enverra aucun code OTP par SMS ou par courriel tant que l’utilisateur n’aura pas été débloqué. Ce comportement évite d’envoyer des demandes inutiles à vos fournisseurs SMS et de courriel.
Le délai d’expiration du code à usage unique peut être modifié dans Auth0 Dashboard > Authentication > Passwordless.

Prévenir les attaques d’énumération d’utilisateurs

L’énumération d’utilisateurs se produit lorsqu’un acteur malveillant utilise des techniques de force brute pour deviner ou confirmer quels utilisateurs sont valides dans un système. Lorsque Disable Sign Ups est activé, votre application peut devenir vulnérable aux attaques d’énumération d’utilisateurs. Auth0 recommande de ne pas activer ce paramètre afin d’assurer une sécurité maximale à votre application et à ses utilisateurs. Si vous activez quand même Disable Sign Ups, la protection contre la force brute peut atténuer la menace posée par certaines de ces attaques, mais elle ne protège pas entièrement votre application. Les utilisateurs peuvent vouloir s’authentifier à l’aide de différents facteurs Passwordless au fil du temps. Par exemple, ils peuvent d’abord s’inscrire par SMS, puis plus tard commencer à s’authentifier par courriel. Vous pouvez le faire en leur permettant de lier leurs différents profils au moyen de la liaison de comptes.

Définir l’en-tête auth0-forwarded-for pour la limitation du débit

Le point de terminaison /passwordless/start a une limite de requêtes de 50 requêtes par heure et par adresse IP. Si vous appelez l’API côté serveur, l’adresse IP de votre serveur backend peut facilement atteindre cette limite. Pour savoir comment résoudre ce problème, consultez la section Rate Limiting in Passwordless Endpoints de Using Passwordless APIs.