Découvrez comment ajouter une couche de sécurité supplémentaire grâce à l'authentification multifacteurs (MFA). Cet article explique comment activer des méthodes MFA telles que les mots de passe à usage unique basés sur le temps (TOTP) et configurer les paramètres pour protéger les comptes d'utilisateur.

Introduction

Le système d'authentification multifacteurs de Joomla! est basé sur Akeeba Loginguard et une grande partie de cette documentation est reprise avec l'autorisation d'Akeeba.

Que fait-elle ?

Elle ajoute plusieurs méthodes optionnelles de vérification en deux étapes pour la connexion à Joomla!. Après vous être connecté avec simplement votre identifiant et votre mot de passe, il vous est demandé de saisir votre vérification de deuxième étape, par exemple un code généré par Google Authenticator. Tant que vous n'avez pas saisi une vérification de deuxième étape correcte, vous ne pourrez accéder à aucune page du site. Vous serez toujours redirigé vers la page de « connexion captive ». Cela ressemble à ce que fait Google lorsque vous essayez de vous connecter à GMail.

Cela diffère de la méthode d'authentification à deux facteurs originale de Joomla! qui exigeait que le second facteur d'authentification (par exemple, le code généré par Google Authenticator) soit saisi en même temps que l'identifiant et le mot de passe.

Les avantages de la vérification en deux étapes sont :

  • Elle est moins déroutante pour l'utilisateur. Il n'y a plus besoin du champ « Clé secrète » qui perturbe les utilisateurs.
  • Elle peut fonctionner avec des méthodes de connexion sans mot de passe telles que la connexion sociale (par exemple Facebook), un jeton matériel sécurisé, le SSO (authentification unique), etc. Précision : la vérification en deux étapes peut être configurée pour être demandée après qu'un utilisateur se soit connecté avec une méthode de connexion sans mot de passe. Elle n'implémente pas les méthodes de connexion sans mot de passe elles-mêmes.
  • Elle offre un meilleur contrôle d'accès. Vous pouvez définir les Paramètres d'utilisateur pour exiger ou désactiver l'authentification multifacteurs par groupe d'utilisateurs.
  • Elle permet d'utiliser des méthodes d'authentification alternatives sur un même compte. Vous pouvez avoir plusieurs méthodes d'authentification sur votre compte. Par exemple, vous pouvez configurer une application Google Authenticator et une YubiKey.
  • Elle prend en charge des méthodes qui ne nécessitent pas la saisie d'un code. Par exemple les clés FIDO2, la vérification biométrique, etc. Celles-ci doivent interagir avec le navigateur et/ou le système d'exploitation via des API HTML5 natives.
  • Elle prend en charge des méthodes qui nécessitent une interaction de l'utilisateur. Par exemple l'envoi d'un code par message push, SMS ou e-mail. Ces méthodes nécessitent de savoir quel utilisateur est en cours d'authentification avant d'envoyer le code d'authentification à l'utilisateur.
  • Elle est gratuite. Contrairement aux services tiers fournissant une authentification multifacteurs, vous n'avez pas à payer de frais de configuration initiaux ou de frais de maintenance mensuels/annuels pour chaque site ou utilisateur utilisant la vérification en deux étapes. Le logiciel est gratuit.

Comment cela fonctionne-t-il

Vous vous connectez à votre site normalement, par exemple en saisissant un identifiant et un mot de passe. Il est important de noter que vous n'avez pas besoin de saisir vos identifiants d'authentification de deuxième étape à ce stade.

Le système détecte que vous êtes maintenant connecté mais que vous n'avez pas effectué l'authentification de deuxième étape. Il enregistre l'URL que vous étiez censé voir et vous redirige immédiatement vers la page de connexion captive. Toute tentative de navigation vers une autre page entraînera l'affichage de la page captive.

Les modules de votre site peuvent contenir des informations confidentielles. Pour garantir la confidentialité, les modules sont désactivés de force au moment du rendu. Cela signifie qu'aucune position de module ne sera affichée sur la page. Gardez cela à l'esprit si vous constatez que l'en-tête ou d'autres zones clés de la conception de votre site sont manquantes sur la page de connexion captive.

Notez cependant que les plugins, eux, ne sont PAS désactivés. Ceci s'explique à la fois par le fait que Joomla rend extrêmement difficile la suppression de plugins spécifiques une fois qu'ils sont chargés, et par le fait que la plupart des plugins exécutent des fonctionnalités critiques sur votre site.

Après avoir saisi votre vérification de deuxième étape, un indicateur est défini dans la session utilisateur, signalant que vous êtes pleinement autorisé à utiliser le site. De plus, vous serez redirigé vers l'URL enregistrée juste après votre connexion initiale.

Authentification à deux facteurs versus connexions WebAuthn

Se connecter avec WebAuthn est l'option la plus sécurisée. Vous indiquez uniquement un identifiant qui est censé être une information publique et non privilégiée. Le site crée un défi cryptographique qui est signé par le navigateur grâce à un matériel sécurisé — un jeton matériel sécurisé externe ou le module de plateforme sécurisée / enclave sécurisée de votre appareil — puis renvoyé au serveur. Le serveur valide la signature. Cette validation utilise la cryptographie à clé publique, le site ne stockant que la clé publique. Cela rend la connexion pratiquement impossible à hameçonner et extrêmement sécurisée. Si vous utilisez cette méthode, vous n'avez pas besoin d'un second facteur d'authentification — mais si vous le souhaitez vraiment, vous pouvez aussi utiliser WebAuthn pour cela.

En dehors de l'utilisation de méthodes de connexion fédérées (comme la connexion via votre compte de réseau social, un service d'authentification unique, un serveur LDAP, etc), une connexion classique par identifiant + mot de passe est loin d'être aussi sécurisée qu'une connexion WebAuthn. La saisie d'un identifiant et d'un mot de passe peut être interceptée, volée ou devinée. Cela rend la confiance accordée à un simple identifiant et mot de passe très problématique.

Pour l'authentification multifacteurs, vous ne fournissez que votre identifiant et votre mot de passe. Une attaque de phishing réussie n'obtiendrait que ce premier facteur d'authentification, mais pas votre second facteur d'authentification. Après une connexion réussie, une page captive s'affiche. Vous ne pouvez rien faire d'autre sur le site tant que vous n'avez pas fourni votre second facteur. Comme la saisie du second facteur est présentée dans sa propre page, elle peut être interactive (par exemple WebAuthn), asynchrone (par exemple la réception d'un code à usage unique par e-mail, SMS ou notification push) ou initiée par l'utilisateur (par exemple un TOTP ou un Yubikey OTP). Mieux encore, un utilisateur peut activer plusieurs méthodes de second facteur sur son compte afin d'éviter tout blocage accidentel sur le site. Par exemple, vous pouvez utiliser WebAuthn avec une clé matérielle sécurisée externe comme second facteur principal et le plus sécurisé. Vous pouvez également configurer un TOTP classique au cas où vous perdriez la clé ou oublieriez de l'emporter. Certaines méthodes de second facteur permettent plusieurs instances : par exemple, vous pouvez avoir plusieurs authentificateurs WebAuthn afin d'utiliser l'authentificateur intégré de votre ordinateur Windows, de votre iPhone et de votre tablette Android sans avoir à vous souvenir d'emporter une clé matérielle et des adaptateurs chaque fois que vous quittez votre bureau.

Récapitulons. Du plus sécurisé au moins sécurisé, vos options sont :

  • WebAuthn comme méthode de connexion principale avec l'authentification multifacteurs en complément.
  • WebAuthn comme seule méthode de connexion.
  • Identifiant et mot de passe comme méthode de connexion principale avec l'authentification multifacteurs en complément.
  • Un simple identifiant et mot de passe comme seule méthode de connexion.

Plugins

Chacun des facteurs de l'authentification multifacteurs est mis en œuvre via des plugins. Ils peuvent être activés ou désactivés selon les besoins. Et de nouveaux plugins peuvent être ajoutés lorsque de nouvelles méthodes apparaissent. Les plugins fournis avec le noyau de Joomla incluent :

  • Code de vérification : codes de vérification à six chiffres générés par une application d'authentification (Google Authenticator, Authy, LastPass Authenticator, etc), un gestionnaire de mots de passe (1Password, BitWarden, Keeper, KeePassXC, Strongbox, etc) ou, dans certains cas, leur navigateur.
  • YubiKey : Permet aux utilisateurs de votre site d'utiliser l'authentification multifacteurs à l'aide d'un jeton matériel sécurisé YubiKey. Les utilisateurs doivent disposer de leur propre YubiKey, disponible sur www.yubico.com.
  • Authentification Web : prise en charge par tous les navigateurs modernes. La plupart des navigateurs proposent une authentification spécifique à l'appareil, protégée par un mot de passe et/ou des données biométriques (capteur d'empreintes digitales, scan du visage, ...).
  • Code d'authentification par e-mail : Utilise des codes de sécurité à six chiffres à durée limitée, envoyés par e-mail. Le réglage par défaut est de 2 minutes.
  • Code fixe : ceci est destiné aux tests et à l'illustration et est désactivé par défaut. Il ne doit pas être activé sur un site de production.

Notez qu'il existe un plugin séparé System - WebAuthn Passwordless Login pour gérer la connexion depuis le bouton Authentification Web du formulaire de connexion.

Paramètres d'utilisateur

Le formulaire Utilisateurs : Paramètres comporte un formulaire d'authentification multifacteurs permettant de configurer son fonctionnement dans Joomla. Sélectionner le bouton Basculer l'aide en ligne pour obtenir des informations sur chaque option.

users options multi factor authentication form

Profil utilisateur

Le formulaire Administration / Utilisateurs : Modifier le profil comporte des onglets séparés pour la Connexion WebAuthn et l'authentification multifacteurs, mais ce dernier n'est visible que par le propriétaire du compte. Même les Super Utilisateurs ne voient pas cet onglet pour les autres utilisateurs.

Le formulaire Site / Modifier votre profil présente les onglets du formulaire d'arrière-plan disposés les uns au-dessus des autres, ce qui peut prêter à confusion car l'Authentification Web apparaît deux fois, d'abord pour la connexion sans mot de passe, puis pour l'authentification multifacteurs. L'illustration suivante montre la partie authentification multifacteurs du formulaire après la création d'une méthode. Cela active automatiquement la fonctionnalité et affiche l'option permettant de créer des codes de sauvegarde.

site view of user multi factor authentication form

Comme mentionné ci-dessus, vous pouvez essayer chacune d'elles en sélectionnant le bouton + Ajouter..., mais sélectionner Annuler dans le formulaire suivant si vous décidez de ne pas continuer.