Nextcloud et 2FA, la suite
J'avais rédigé un premier article Nextcloud et le 2FA (double facteur d'authentification), j'utilise (ma clef Nitrokey comme deuxième facteur d'authentification sur mes Nextcloud et je voudrais compléter cet article par quelque informations complémentaires.
Ayant créer une instance de test Nextcloud et ayant activé la double authentification, j'ai rencontré le problème qu'une application externe comme DavX5 (ex DavDroid) ne se connectait pas. Je remets donc ici l'astuce : pour que ça marche, il faut créer un mot de passe spécifique pour l'application. cf mon billet Nextcloud et le 2FA (double facteur d'authentification) (et ce lien sur le forum de Nextcloud pour des captures d'écran.
J'ai généré des codes de récupération mais je les ai perdu, oublié... Si je suis bloqué, comment faire ?
Dans le cas où on est plusieurs sur une instance Nextcloud, on peut définir plusieurs personnes comme ayant les droits administrateurs, installer l'application "Impersonate". L'application permet de prendre l'identité d'un autre utilisateur quand on est administrateur et d'ainsi pouvoir accéder au paramétrage du compte du dit utilisateur. On peut alors demander la génération de code de récupération et les fournir à l'utilisateur.
Dans le cas où il y a un seul administrateur et ce compte administrateur a un 2ème facteur d'authentification, il y a encore une solution qui est de passer par la ligne de commande.
Depuis la ligne de commande (avec l'outil occ), il est possible de gérer la double authentification des utilisateurs de Nextcloud. Je mets ici quelques commandes :
root@nextclouddemo:/var/www/nextcloud__5# sudo -u nextcloud__5 php7.3 occ twofactorauth:state genma
Two-factor authentication is enabled for user genma
Enabled providers:
- backup_codes
- u2f
Disabled providers:
- totp
Les options possibles de cette commande sont :
twofactorauth:cleanup
twofactorauth:disable
twofactorauth:enable
twofactorauth:enforce
twofactorauth:state
Et cela permet donc de désactiver si besoin (provisoirement, car il faut ensuite le réactiver, pour des raisons & bonnes pratiques de sécurité).
En mode plus direct - je n'ai pas étudié tous les impacts que cela peut avoir - il y a la modification en base de données, je vous indique la table concernée :
MariaDB [nextcloud]> select * from oc_twofactor_providers;-