Photo by Ed Hardie / Unsplash

2fauth : le 2FA auto-hébergé

Global 14 juin 2022

Le 2FA c'est bien. Mais quand on est geek et qu'on modifie son smartphone, ou qu'on le perd, se le fait voler ou en change tout simplement, c'est la galère pour les applications d'authentification à double facteurs.

On peut donc dire "merci" à Bubka qui a créé une application auto-hébergée de gestion de 2FA : 2FAuth.

Y'a une doc rapide et on peut  l'héberger en Docker évidemment !

docker run -d \
--name=2fa \
--restart always \
-p 202:8000/tcp \
-v /volume1/docker/2fauth:/2fauth \
-e AUTHENTICATION_GUARD=web-guard \
-e MAIL_HOST=mail.upandclear.org \
-e MAIL_PORT=465 \
-e [email protected] \
-e [email protected] \
-e MAIL_PASSWORD='pwddelamortquitue' \
--label=com.centurylinklabs.watchtower.enable=true \
2fauth/2fauth

Il faut ensuite se créer un compte

Et, éventuellement, lier un appareil (Ubikey, FaceID ou une empreinte pour accéder à votre application sans taper de user:pwd). Pour se faire il faudra que vous passiez par une URL en HTTPS (pas juste IP:port)

Nous pouvons ensuite ajouter notre 1re compte 2FA, soit via QRCode (donc en utilisant l'application depuis un smartphone) soit à la main.

Je prends l'exemple d'Ubisoft. En effet ils empêchent de jouer en classé sur R6S sans 2FA, pour "limiter la triche". Ce qui ne foncitonne hélas pas. Passons.

Pour ajouter un compte on a 3 solutions :
- Scanner un QRCode si on ouvre 2FAuth depuis un smartphone,
- "Enregistrer sous" le QRCode affiché à l'écran et l'envoyer dans 2FAuth,
- S'enquiquiner à tout remplir à la main.

Vous me connaissez, je suis du genre à scanner un QRCode. Sauf que pour la rédaction de cet article il est plus simple d'Enregistrer l'image du QRCode que me propose Ubisoft et de la charger ensuite dans 2FAuth pour qu'il préremplisse tout seul.

Côté Ubisoft ça se présente sous cette forme quand on active un 2FA. On nous propose de télécharger une application (Google Auth) et de scanner le QRCode pour ensuite taper le code de sécurité obtenu. On va faire ça mais via notre application auto-hébergée.

Je télécharge donc le QRCode (clic droit / Enregistrer sous).

Et sous 2FAuth je clique sur Préremplir à l'aide d'un QRCode (en haut)

Tadaaaaa

J'ai oublié de charger une image, par exemple mon avatar sur Ubisoft. A rajouter.

On voit qu'on est raccord si on voulait remplir à la main à partir des informations données par Ubisoft :
- Compte Ubisoft : notre email
- TOTP ( le plus utilisé)
- Secret : c'est le code affichable sous le QRCode
- Nombre de 6 chiffres

On obtient donc notre code à usage unique (30 secondes)

En cliquant sur le compte Ubisoft dans 2FAuth

Et c'est validé côté Ubisoft

C'est franchement bien pratique pour ne plus dépendre (ou se retrouver le bec dans l'eau) de son smartphone.
Bien évidemment c'est confidentiel vu les sites concernés (bon Ubisoft... mais des banques ou wallets en ligne par exemples) et c'est donc chiffré côté stockage.
Niveau sécurité ça se vaut avec Bitwarden par exemple si vous auto-hébergez vos comptes/mots de passe.
Bubka fait un point sur la sécurité et rappelle que la sauvegarde c'est la Vie :)

Petit tour d'horizon des options

Mots clés

Super ! Vous vous êtes inscrit avec succès.
Super ! Effectuez le paiement pour obtenir l'accès complet.
Bon retour parmi nous ! Vous vous êtes connecté avec succès.
Parfait ! Votre compte est entièrement activé, vous avez désormais accès à tout le contenu.