Aller au contenu

Mise en place d'une authentification à 2 facteurs avec Google Authenticator

Créer un nouveau jeton TOTP dans la console d'administration

Ouvrez le Générateur de jeton OTP à partir d'un compte administrateur :

Ajoutez un nouveau jeton TOTP et sélectionnez TOTP (Google authenticator, FreeOTP, ...) :

Configurez ensuite votre jeton TOTP :

  • Définissez un nom, attention ce nom sera affiché pour l'utilisateur dans Google authenticator si la méthode d'enrôlement par QR Code est retenue.
  • Les champs Temps d'expiration et Nombre de chiffres dépendent du générateur de TOTP. Pour Google Authenticator, ces valeurs doivent être fixées respectivement à 30 secondes et à 6 chiffres.
  • La Taille de clé (bits) est définie par défaut à 32, il s'agit de la valeur recommandée bien qu'un paramétrage à 16 ou 64 bits est aussi possible.

Deux méthodes existent pour le stockage des clé TOTP :

  1. (Méthode recommandée) Stockage de la clé dans cyberelements.io ou cyberelements Cleanroom, 3 modes de fonctionnement peuvent être utilisés :

    1. En cochant l'option Afficher un QR Code sur le portail utilisateur cela permet, lors de la première authentification de l'utilisateur d'avoir un QR Code à scanner avec Google Authenticator pour enregistrer son TOTP. Il devra ensuite valider le TOTP enregistré.
    2. En combinaison ou non de l'option précédente, la clé TOTP peut être envoyée par mail à l'utilisateur où il devra ensuite réaliser un enregistrement manuel :
    3. En n'activant aucune option ce sera aux administrateurs d'importer manuellement des clés TOTP et de les communiquer aux utilisateurs.

    Exemple

    Voici un exemple de configuration d'un jeton TOTP :

    Dans cet exemple, la clé secrète sera stockée dans cyberelements.io ou cyberelements Cleanroom et sera affichée à l'utilisateur lors de sa première connexion avec un QR Code à scanner dans Google Authenticator.

  2. Stockage de la clé dans un attribut de l'utilisateur, il sera nécessaire de préciser le nom de l'attribut (attention sensible à la casse) dans lequel sera contenu la clé TOTP.

    Attention !

    Cette méthode n'est compatible que pour des utilisateurs appartenant à un domaine LDAP.

    De plus l'accès réalisé par cyberelements.io ou cyberelements Cleanroom sur le serveur LDAP n'étant qu'en lecture seule, il revient à l'administrateur de remplir le contenu de l'attribut paramétré avec la clé TOTP de l'utilisateur.
    Cette méthode ne peut donc pas être paramétrée avec les options d'affichage de la clé TOTP par QR Code ou d'envoi de la clé par mail.

Activer un TOTP sur un domaine d'authentification

Dans les domaines d'authentifications, éditez le domaine pour lequel vous souhaitez activer le MFA TOTP :

Puis activez le MFA TOTP pour ce domaine, le temps d'expiration permet de définir si l'utilisateur devra à chaque authentification saisir son TOTP (valeur à 0) au bout d'un certain nombre d'heures ou de jours :

Importer manuellement des clés TOTP

La clé TOTP est basée sur la norme RFC3548 base 32.

Par conséquent :

  • Les caractères supportés sont ceux de la RFC3548 : lettres de A à Z et chiffres de 2 à 7
  • La clé ne doit contenir que des lettres majuscules
  • La clé doit comporter 32 caractères (si paramétré de cette manière au niveau du jeton TOTP)

Exemple

AHGXZFGCNWOD2X7YT6KI5JMXCUYKDN6P

L'importation se base sur un fichier CSV de deux colonnes :

1
user,key

Dans la première colonne il doit être indiqué le nom de l'utilisateur et dans la seconde la clé TOTP qui lui est associée.

Astuce

Si une clef vide est indiquée, cela aura pour conséquence de réinitialiser la clé de l'utilisateur et d'en regénérée une nouvelle à sa prochaine connexion.

Exemple

Pour avoir l'association entre utilisateur et clef TOTP suivante (le troisième utilisateur a sa clé TOTP de réinitialisée) :

  • user1 / AHGXZFGCNWOD2X7YT6KI5JMXCUYKDN6P
  • user2 / PIHYCEG2374V76523EVXAMZOUT36F3FG
  • user3 /

Le fichier CSV devra contenir :

1
2
3
4
user,key
user1,AHGXZFGCNWOD2X7YT6KI5JMXCUYKDN6P
user2,PIHYCEG2374V76523EVXAMZOUT36F3FG
user3,

Une fois le fichier CSV préparé, il est nécessaire de l'importer pour un domaine et un jeton TOTP en particulier :