Dans cette 4ème partie nous allons aborder la gestion et l’utilisation des seconds facteurs authentification (2FA).

Si vous ne les avez pas encore lus, les premiers articles sont accessibles ici : Partie 1 / Partie 2 / Partie 3

FreeIPA supporte plusieurs types d’OTP (one time password) comme second facteur : HOTP (counter-based; RFC 4226) ou TOTP (time-based; RFC 6238).

Logo freeIPA

1. Activation

Il est possible d’activer les OTP de façon globale ou par utilisateur, en cli : Globalement :

[root@freeipa0 ~]# ipa config-mod --user-auth-type=otp
 [...]
 Default user authentication types: otp

Pour un seul utilisateur :

[root@freeipa0 ~]# ipa user-mod testuser1 --user-auth-type=otp
-------------------------
Modified user "testuser1"
-------------------------
  [...]
  User authentication types: otp

Il est possible d’arriver au même résultat par l’interface Web :

IPA Server -> Configuration -> Default user authentication types

Interface administrateur freeipainterface administrateur freeipainterface administrateur freeipa

Par utilisateur, Identity -> otpuser -> User authentication type

Interface administrateur freeipainterface administrateur freeipainterface administrateur freeipa

Il est ensuite possible pour les utilisateurs d’activer un second facteur

2. 2FA TOTP

C’est le plus répandu et le plus facile à mettre en place, il suffit d’une application mobile compatible (Authy, andOTP, FreeOTP, Google Authenticator…) Une fois activé de façon globale ou individuellement, l’utilisateur doit ajouter un “token” dans son interface de gestion, il est aussi possible de le faire a la place de l’utilisateur : en tant qu’administrateur, via le menu Authentication -> OTP Token.

Interface administrateur freeipainterface administrateur freeipainterface administrateur freeipa

Dans le menu des actions, “Add OTP Token” :

Interface administrateur freeipainterface administrateur freeipainterface administrateur freeipa

Choisir TOTP et Nommer l’OTP : Interface administrateur freeipainterface administrateur freeipainterface administrateur freeipa

Un QR Code est affiché, il faut le scanner avec une application compatible :

Interface administrateur freeipainterface administrateur freeipainterface administrateur freeipa

Interface administrateur freeipainterface administrateur freeipainterface administrateur freeipa

Une fois le QR Code scanné, l’application proposera un OTP à 6 chiffres qu’il faut désormais saisir au login à la suite du mot de passe dans l’interface Web (exemple : “motdepasse123456”). En SSH le mot de passe et le second facteur sont demandés séparément :

user@desktop ~> ssh testuser1@freeipa0.demo.local
First Factor:
Second Factor:
Last login: Mon Jul  9 17:14:05 2018 from 192.168.56.1
[testuser1@freeipa0 ~]#

De façon générale, quand on se connecte sur un client ou est installé SSSD, le 2nd facteur est demandé séparément, pour les anciennes versions de SSSD ou en authentification LDAP, l’otp est saisi directement a la suite du mot de passe. C’est tout pour la mise en place d’un second facteur TOTP pour un utilisateur FreeIPA, a savoir qu’il est possible de déléguer l’OTP a une solution tiers via Radius (Serveur yubikey, freeradius par exemple), il est également possible d’enroller directement une yubikey comme 2nd facteur pour un utilisateur FreeIPA, au lieu d’un TOTP, cela n’est possible qu’en ligne de commande pour le moment : https://www.freeipa.org/page/V4/OTP#Programmable_Hardware_Tokens La partie 5 de cette série sera dédiée au relations d’approbation entre FreeIPA et Active Directory.

Notre série sur FreeIPA

Si vous ne les avez pas encore lu, retrouvez notre série d’articles sur FreeIPA :

  1. FreeIPA Partie 1 : Installation du serveur et de son réplica
  2. FreeIPA Partie 2 : Clients, HBAC, Sudo, Mots de passe
  3. FreeIPA Partie 3 : Haute-disponibilité, Automount
  4. FreeIPA Partie 4 : Seconds facteurs d’authentification
  5. FreeIPA Partie 5 : Trusts Active Directory
  6. FreeIPA Partie 6 : Trusts Active Directory, mise en pratique