Usuários, papéis, permissões¶
A gestão de usuários é só de administrador. Há dois tipos de conta, e a diferença é uma fronteira de confiança, não uma preferência.
Contas internas¶
Contas internas são os pentesters e leads que trabalham na superfície interna. Uma conta interna tem um papel (administrador ou pentester), e o TOTP é obrigatório: a exigência vive no schema do banco, então nenhuma rota, script ou migração consegue criar uma conta interna ativa sem segundo fator. Códigos de recuperação são emitidos para o segundo fator, guardados só como hash e invalidados no uso; um dispositivo perdido é recuperado por eles ou por um reset de administrador.
Contas de cliente¶
Contas de cliente alcançam só o portal, onde leem o que foi publicado e liberado para o cliente delas e escrevem uma única coisa, a declaração de correção daquele cliente. São baseadas em senha. A implantação pretendida fica atrás de uma borda capaz de impor um segundo fator (o Cloudflare Access, por exemplo), então uma conta de portal é, por desenho, uma credencial de menor valor: sem campos internos, sem passos de exploração, e sem alcançar nada da superfície interna.
Elas são administradas no cliente a que pertencem, e não nesta tela. Uma conta de portal não existe sem cliente, e revogar uma é coisa que se faz no fim de um engajamento, naquele cliente; então é no drawer de edição do próprio cliente que se convida uma, se vê as que existem, se revoga o acesso, se restaura e se envia um link de ativação novo. Esta tela é de contas internas do começo ao fim.
O que a lista do cliente mostra é o que revogação e conferência exigem: o endereço, o nome, se o acesso está ativo, se a pessoa inscreveu um segundo fator e quando ela entrou pela última vez. Conta revogada continua na lista, marcada como revogada, porque "o acesso deste cliente foi revogado?" é pergunta que uma auditoria precisa conseguir responder, e conta que sumiu responde igual a conta que nunca existiu.
A revogação vale na hora, e não no próximo acesso da pessoa. O portal confere a conta a cada requisição, e a revogação fecha as sessões que já estavam abertas; então um navegador autenticado há um minuto cai no clique seguinte. Dá para revogar ao fim de uma reunião e fechar o notebook.
Reenviar o link de ativação também fecha as sessões abertas daquela conta, e o link antigo para de funcionar. É deliberado: alguém reenvia um link justamente quando não tem mais certeza de quem está com o antigo.
Convidar uma conta¶
Não existe credencial padrão. Você convida uma conta, e o PEART emite um link de inscrição de uso único que a pessoa resgata para definir a senha e, para uma conta interna, inscrever o TOTP. O link é montado a partir da URL pública configurada da superfície certa (a interna para uma conta interna, o portal para um cliente), então aponta para onde a pessoa de fato alcança o sistema. Se essa URL pública não estiver configurada, o PEART recusa fabricar um link e te entrega o token cru com uma instrução, em vez de imprimir um host que não resolveria.
Desativar e excluir¶
Uma conta pode ser desativada (mantida, mas sem conseguir entrar) ou excluída. A proteção contra trancar a instalação para fora do seu último administrador vive no servidor, que recusa a operação em vez de depender da interface para prevê-la. Excluir uma conta é recusado quando ela tem histórico que precisa ser preservado (uma atribuição de lead, autoria de achado), então a interface oferece a ação e o servidor decide.