Comptes locaux
Un compte local conserve son mot de passe dans la base de données de Semaphore. Chaque
installation en possède un dès le départ, créé par semaphore setup ou par les variables
SEMAPHORE_ADMIN_*, et c'est par ce compte que vous accédez au serveur avant qu'un fournisseur
d'identité n'existe.
Conservez au moins un administrateur local même une fois l'authentification unique opérationnelle. C'est le seul moyen de revenir lorsque le fournisseur d'identité est injoignable.
Comment les mots de passe sont stockés
Les mots de passe sont hachés avec Argon2id en utilisant les paramètres de robustesse minimale de l'OWASP, et ces paramètres sont enregistrés à côté de chaque empreinte au format de chaîne PHC. Les versions antérieures à la 2.20 utilisaient bcrypt ; ces empreintes fonctionnent toujours et chacune est remplacée par une empreinte Argon2id à la prochaine connexion réussie de son propriétaire. Les comptes qui ne se reconnectent jamais conservent leur empreinte bcrypt : réinitialisez ces mots de passe pour les mettre à niveau.
Le tableau complet des paramètres se trouve dans Sécurité.
Semaphore n'impose aucune politique de mots de passe — ni longueur minimale, ni complexité, ni expiration. Si vous en avez besoin d'une, utilisez un annuaire ou un fournisseur d'identité, car c'est là que ces politiques ont leur place.
Gérer les comptes
Les administrateurs gèrent les utilisateurs dans l'interface web, et les mêmes opérations existent en ligne de commande, pour les scripts et pour la récupération lorsque plus personne ne peut se connecter :
semaphore users add --admin --login jane --name "Jane Doe" \
--email [email protected] --password 's3cret'
semaphore users change-by-login --login jane --password 'new-s3cret'
semaphore users list
Consultez semaphore users pour toutes les options, et
Équipes pour savoir ce qu'un rôle permet de faire une fois l'utilisateur
connecté.
Un mot de passe saisi en ligne de commande se retrouve dans l'historique de votre interpréteur de commandes et dans la liste des processus de la machine. Utilisez-le pour le premier administrateur et pour la récupération, puis changez le mot de passe depuis l'interface web.
Authentification à deux facteurs
Semaphore prend en charge TOTP : les codes à six chiffres produits par Google Authenticator, Aegis, 1Password et des applications similaires. Il est désactivé par défaut et s'applique aux comptes qui l'activent — il n'est imposé à personne.
{
"mfa": {
"totp": {
"enabled": true,
"allow_recovery": true,
"app_name": "Semaphore"
}
}
}
| Option | Effet |
|---|---|
mfa.totp.enabled | Permet aux utilisateurs d'ajouter TOTP à leur compte. Sans elle, personne ne peut s'enrôler. |
mfa.totp.allow_recovery | Délivre un code de récupération lors de l'enrôlement, afin qu'un téléphone perdu ne signifie pas un compte perdu. Sa saisie supprime l'enrôlement TOTP et connecte l'utilisateur ; celui-ci s'enrôle ensuite à nouveau. Le code est stocké sous forme d'empreinte bcrypt. |
mfa.totp.app_name | Le libellé d'émetteur affiché par l'application d'authentification. Définissez-le lorsque vous exploitez plusieurs Semaphore. |
Les utilisateurs s'enrôlent depuis leur propre page de compte. Un administrateur peut consulter ou supprimer le deuxième facteur de quelqu'un qui a perdu son appareil :
semaphore users totp show --login jane
semaphore users totp disable --login jane
Désactiver à nouveau mfa.totp.enabled ne supprime l'enrôlement de personne ; cela empêche
simplement de demander le deuxième facteur. Réactivez-la et les anciens enrôlements
s'appliquent de nouveau.
Durée de session
Une session expire après sept jours sans activité. Ce délai d'inactivité est intégré et n'est pas configurable.
Une limite absolue l'est, en revanche, et elle est mesurée à partir du moment de la connexion plutôt qu'à partir de la dernière requête : une session activement utilisée prend donc fin elle aussi :
{
"auth": {
"max_session_life_hours": 12
}
}
La valeur par défaut, 0, signifie qu'il n'y a pas de limite absolue. Définissez-la lorsqu'un
poste de travail partagé ou une règle de conformité impose aux personnes de se réauthentifier
périodiquement.
Désactiver la connexion par mot de passe
Une fois un fournisseur d'identité configuré et après avoir vérifié qu'un utilisateur réel peut
s'y connecter, password_login_disable rejette entièrement la méthode par mot de passe :
{
"password_login_disable": true
}
LDAP et OpenID Connect ne sont pas affectés. Les comptes locaux existants conservent leurs rôles et leur historique ; ils n'ont simplement plus aucun moyen de s'authentifier.
Cette option prend effet immédiatement et s'applique à tous les comptes locaux, y compris le vôtre. Vérifiez que l'authentification unique fonctionne — en vous connectant avec, pas en lisant le journal — avant de la définir. Réparer une erreur implique de modifier le fichier de configuration sur le serveur et de redémarrer.
Et ensuite
- LDAP et Active Directory — s'authentifier auprès d'un annuaire.
- OpenID Connect — authentification unique avec un fournisseur d'identité.
- Sécurité — paramètres de hachage, chiffrement et durcissement.