Meilleures pratiques pour les connexions sans mot de passe
Mettre en oeuvre la connexion
Vous pouvez mettre en œuvre l’authentification sans mot de passe en redirigeant vers la connexion universelle d’Auth0 ou en intégrant la connexion dans votre application. Nous vous recommandons toujours de mettre en œuvre la connexion universelle. Pour savoir pourquoi, consultez Connexion universelle centralisée par rapport à la Connexion intégrée.
Pour savoir comment mettre en œuvre l’authentification sans mot de passe, consultez les articles suivants :
Utiliser les SMS et le courriel comme facteurs d’authentification
La mise en œuvre sans mot de passe d’Auth0 permet d’authentifier les utilisateurs avec un seul facteur. Ce facteur unique peut être un code à usage unique envoyé par courriel ou SMS, ou un lien magique (Magic Link) envoyé par courriel.
Bien que l’utilisation d’un courriel ou d’un SMS puisse être plus sûre qu’un mot de passe faible, ces deux méthodes présentent des problèmes connus :
Les numéros de téléphone ne sont pas suffisants pour l’authentification des utilisateurs. Le système d’acheminement téléphonique SS7 utilisé par les réseaux cellulaires présente des faiblesses confirmées de sorte qu’il n’est pas recommandé en tant que facteur d’authentification. Il existe de nombreux vecteurs d’attaque, allant de l’ingénierie sociale à l’échange de cartes SIM en passant par l’achat d’un accès au réseau SS7.
La possession d’une adresse courriel n’est pas suffisante pour l’authentification de l’utilisateur (les alias, la redirection, les utilisateurs multiples sur un même compte sont autant d’exemples). Les pratiques de sécurité des fournisseurs de courriel varient et certains n’exigent pas d’établir l’identité de l’utilisateur. Le protocole SMTP est très ancien et de nombreux fournisseurs continuent d’acheminer le trafic SMTP sans cryptage, ce qui accroît le risque d’une attaque par interception.
Pour ces raisons, nous vous recommandons, si vous utilisez l’authentification sans mot de passe, de mettre également en œuvre Authentification multifacteur (MFA) avec un facteur différent lorsque l’utilisateur effectue une opération sensible pour la sécurité.
Prévenir les attaques par hameçonnage
Voici un exemple de ce à quoi peut ressembler une attaque par hameçonnage :
L’utilisateur clique sur un lien dans un courriel ou un site Web malveillant.
L’utilisateur arrive sur le faux site du pirate, où il est invité à saisir son numéro de téléphone pour s’authentifier.
L’utilisateur saisit son numéro de téléphone, et le pirate saisit le même numéro de téléphone dans l’application légitime.
L’application légitime envoie un SMS à l’utilisateur.
L’utilisateur tape le code à usage unique sur le site Web du pirate.
Le pirate peut maintenant se connecter au site Web légitime.
Pour diminuer les chances de succès de cette attaque, l’utilisateur doit s’attendre à ce que le SMS identifie clairement l’application. Vous devez configurer le modèle de SMS de manière à ce qu’il mentionne le nom du locataire ou le nom de l’application.
Your verification code for accessing's Acme @@application.name@@ is @@code@@
Was this helpful?
Prévention contre les attaques exhaustives
Auth0 dispose des protections suivantes contre les attaques exhaustives.
Seul le dernier code à usage unique (ou lien) émis sera accepté. Une fois le dernier émis, tous les autres sont invalidés. Une fois utilisé, le dernier est également invalidé.
Seules trois tentatives infructueuses de saisie d’un code à usage unique sont autorisées. Après cela, un nouveau code devra être demandé.
Le code à usage unique émis sera valable pendant trois minutes (par défaut) avant d’expirer.
Si un utilisateur de connexion sans mot de passe a été bloqué administrativement, Auth0 n’enverra aucun code OTP par SMS ou courriel jusqu’à ce que l’utilisateur ait été débloqué. Ce comportement protège vos fournisseurs de SMS et de courriel en leur évitant de recevoir des demandes inutiles.
Le délai d’expiration du code à usage unique peut être modifié dans Auth0 Dashboard > Authentication (Authentification) > Passwordless (Sans mot de passe).
Prévenir les attaques par énumération d’utilisateurs
L’énumération d’utilisateurs se produit lorsqu’un acteur malveillant utilise des techniques exhaustives pour deviner ou confirmer la présence d’utilisateurs valides dans un système.
Lorsque l’option Disable Sign Ups (Désactiver les inscriptions) est activée, votre application peut devenir vulnérable aux attaques par énumération d’utilisateurs. Auth0 recommande de ne pas activer ce paramètre afin de garantir la sécurité maximale de votre application et de ses utilisateurs.
Si vous activez Disable Signs Ups (Désactiver les inscriptions), Brute Force Protection (Protection contre les attaques exhaustives) peut atténuer la menace de certaines de ces attaques, mais elle ne protège pas complètement votre application.
Liaison de comptes
Les utilisateurs peuvent vouloir s’authentifier à l’aide de différents facteurs sans mot de passe au cours de leur vie. Par exemple, ils pourraient d’abord s’inscrire par SMS, puis commencer à s’authentifier par courriel. Vous pouvez y parvenir en leur permettant de lier leurs différents profils en utilisant account linking (liaison de compte).
Définir l’en-tête auth0-forwarded-for à des fins de limite anti-attaques
Le point de terminaison /passwordless/start
dispose d’une rate limit (limite anti-attaque) de 50 requêtes par heure par adresse IP. Si vous faites un appel API côté serveur, l’adresse IP de votre système dorsal peut facilement atteindre ces limites anti-attaques. Pour savoir comment résoudre ce problème, veuillez consulter la section Limite anti-attaques dans les points de terminaison sans mot de passe de Utilisation des API sans mot de passe.