Contas locais
Uma conta local guarda sua senha no banco de dados do Semaphore. Toda instalação começa com
uma, criada por semaphore setup ou pelas variáveis SEMAPHORE_ADMIN_*, e é por essa conta
que você alcança o servidor antes de existir qualquer provedor de identidade.
Mantenha pelo menos um administrador local mesmo depois que o single sign-on funcionar. É a única forma de voltar a entrar quando o provedor de identidade estiver inacessível.
Como as senhas são armazenadas
As senhas são hasheadas com Argon2id usando os parâmetros de força mínima da OWASP, e os parâmetros são registrados junto de cada hash no formato de string PHC. As versões anteriores à 2.20 usavam bcrypt; esses hashes continuam funcionando e cada um é substituído por um hash Argon2id no próximo login bem-sucedido do dono. Contas que nunca mais fazem login mantêm o hash bcrypt, então redefina essas senhas para atualizá-las.
A tabela completa de parâmetros está em Segurança.
O Semaphore não aplica nenhuma política de senha — sem comprimento mínimo, sem complexidade, sem expiração. Se você precisa de uma, use um diretório ou um provedor de identidade, que é onde esse tipo de política pertence.
Gerenciar contas
Os administradores gerenciam usuários pela interface web, e as mesmas operações existem na linha de comando, para scripts e para recuperação quando ninguém consegue entrar:
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
Veja semaphore users para todas as flags e
Equipes para o que cada papel permite a um usuário depois que ele entra.
Uma senha na linha de comando fica no histórico do seu shell e na lista de processos da máquina. Use isso para o primeiro administrador e para recuperação, e depois troque a senha pela interface web.
Autenticação de dois fatores
O Semaphore oferece suporte a TOTP: os códigos de seis dígitos gerados pelo Google Authenticator, Aegis, 1Password e aplicativos semelhantes. Vem desabilitado e vale para as contas que o habilitarem — não é imposto a todo mundo.
{
"mfa": {
"totp": {
"enabled": true,
"allow_recovery": true,
"app_name": "Semaphore"
}
}
}
| Opção | Efeito |
|---|---|
mfa.totp.enabled | Permite que os usuários adicionem TOTP à sua conta. Sem isso, ninguém consegue se cadastrar. |
mfa.totp.allow_recovery | Emite um código de recuperação no cadastro, para que um telefone perdido não signifique uma conta perdida. Informá-lo remove o cadastro TOTP e conecta o usuário; depois ele se cadastra novamente. O código é armazenado como um hash bcrypt. |
mfa.totp.app_name | O rótulo de emissor exibido pelo aplicativo autenticador. Defina-o quando você executa mais de um Semaphore. |
Os usuários se cadastram na própria página de conta. Um administrador pode inspecionar ou remover o segundo fator de quem perdeu o dispositivo:
semaphore users totp show --login jane
semaphore users totp disable --login jane
Desligar mfa.totp.enabled de novo não apaga o cadastro de ninguém; apenas deixa de pedir o
segundo fator. Ligue novamente e os cadastros antigos voltam a valer.
Duração da sessão
Uma sessão expira depois de sete dias sem atividade. Esse tempo limite de inatividade é embutido e não configurável.
Já um limite absoluto é configurável, e é medido a partir do momento do login, e não da última requisição, de modo que uma sessão em uso ativo também termina:
{
"auth": {
"max_session_life_hours": 12
}
}
O padrão, 0, significa nenhum limite absoluto. Defina-o quando uma estação de trabalho
compartilhada ou uma regra de conformidade exigir que as pessoas se autentiquem novamente em
intervalos regulares.
Desativar o login por senha
Depois que um provedor de identidade estiver configurado e você tiver verificado que um
usuário real consegue entrar por ele, password_login_disable rejeita completamente o método
de senha:
{
"password_login_disable": true
}
LDAP e OpenID Connect não são afetados. As contas locais existentes mantêm seus papéis e seu histórico; elas simplesmente ficam sem forma de se autenticar.
Essa opção vale imediatamente e se aplica a todas as contas locais, inclusive a sua. Confirme que o single sign-on funciona — entrando com ele, não lendo o log — antes de defini-la. Recuperar-se de um erro significa editar o arquivo de configuração no servidor e reiniciar.
Próximos passos
- LDAP e Active Directory — autenticar contra um diretório.
- OpenID Connect — single sign-on com um provedor de identidade.
- Segurança — parâmetros de hashing, criptografia e hardening.