Docs/ Sécurité/ Authentification et 2FA

Authentification et 2FA

Sécurisez votre instance sh0 avec une connexion par mot de passe ou Google OAuth, et ajoutez une couche de protection supplémentaire avec l'authentification à deux facteurs.

Méthodes de connexion

sh0 propose deux méthodes de connexion pour les personnes. Les deux ouvrent la même session du tableau de bord ; les programmes utilisent des clés d’API.

Authentification par mot de passe

La méthode par défaut. Il n’existe aucun identifiant par défaut : le premier compte est créé sur l’écran de configuration d’une installation neuve, et tout autre compte est invité par un administrateur.

L’échange de connexion, les cookies de session et l’étape à deux facteurs sont décrits pour les développeurs dans Authentification de l’API.

Page de connexion sh0 avec les champs e-mail et mot de passe

Google OAuth

Pour les utilisateurs de sh0 Cloud, la connexion Google est disponible comme méthode de connexion. Elle utilise le flux OAuth 2.0 de Google avec vérification du jeton d'identité via JWKS.

  1. Cliquez sur Se connecter avec Google sur la page de connexion.
  2. Authentifiez-vous avec votre compte Google.
  3. sh0 vérifie le jeton d'identité et crée ou lie votre compte.
Page de connexion avec le bouton Connexion Google
Note
Pour les instances auto-hébergées, l'OAuth Google nécessite la configuration d'un projet Google Cloud avec des identifiants OAuth. Consultez Paramètres → Authentification pour saisir votre Client ID et Client Secret.

Activation de l'authentification à deux facteurs

L'authentification à deux facteurs (2FA) ajoute une couche de sécurité supplémentaire en exigeant un mot de passe à usage unique basé sur le temps (TOTP) en plus de vos identifiants habituels.

  1. Ouvrez votre page Profil dans le tableau de bord.
  2. Cliquez sur Activer la 2FA.
  3. Scannez le code QR avec une application d'authentification (Google Authenticator, Authy, 1Password, etc.).
  4. Saisissez le code à 6 chiffres de votre application d'authentification pour vérifier la configuration.
  5. Sauvegardez vos codes de secours dans un emplacement sécurisé.
Écran de configuration 2FA montrant le code QR et le champ de vérification

Une fois activée, chaque connexion nécessitera le code TOTP à 6 chiffres après la saisie de votre e-mail et mot de passe.

Warning
Si vous perdez à la fois votre application d’authentification et vos codes de secours, récupérez le compte depuis le serveur lui-même, sans vous connecter. La commande réinitialise le mot de passe, désactive la double authentification et révoque toutes les sessions ouvertes :
Terminal (on the server)
sudo sh0 users reset-password [email protected] --disable-2fa
Output
Password reset for [email protected] (318a52d95557639444c765ea8de8b0f5)

Revoked 14 refresh token(s). Sessions already open are rejected on their next request -- they are not left alive until their access token expires.

Sans --password, un mot de passe temporaire aléatoire est généré et affiché. Connectez-vous avec, puis choisissez un nouveau mot de passe et réactivez la double authentification.

Codes de secours

Quand vous activez la 2FA, sh0 génère 20 codes de secours à usage unique et n’en stocke que l’empreinte. Chaque code peut remplacer une fois le code à 6 chiffres si vous perdez l’accès à votre application d’authentification.

Danger
Stockez vos codes de secours dans un emplacement sécurisé et hors ligne (gestionnaire de mots de passe, papier imprimé dans un coffre). Ces codes sont votre seule méthode de récupération si vous perdez votre appareil d'authentification. Ils ne sont affichés qu'une seule fois lors de la configuration 2FA.

Vous pouvez régénérer les codes de secours depuis votre page Profil avec Régénérer les codes de secours. Vous confirmez avec un code à 6 chiffres en cours, et tous les anciens codes cessent de fonctionner.

Changement de mot de passe

Pour changer votre mot de passe :

  1. Ouvrez votre page Profil.
  2. Allez à la section Mot de passe.
  3. Saisissez votre mot de passe actuel et votre nouveau mot de passe.
  4. Confirmez le nouveau mot de passe et enregistrez.
Formulaire de changement de mot de passe dans les paramètres du profil

Les mots de passe sont hachés avec Argon2id avant le stockage. sh0 impose une longueur minimale de mot de passe de 8 caractères.

Tip
Changer de mot de passe déconnecte immédiatement toutes les autres sessions : quiconque avait votre ancien mot de passe perd l’accès sur-le-champ.

Gestion des sessions

Une session du tableau de bord dure 24 heures et se renouvelle tant que vous utilisez le tableau de bord ; une session inutilisée pendant 30 jours prend fin. Il n'y a pas de liste de sessions à gérer : pour fermer toutes les sessions d'un compte, changez son mot de passe, ou lancez la commande de récupération ci-dessus sur le serveur.