Pular para o conteúdo principal

Console administrativo

O console administrativo fica em /admin no Servidor. É uma aplicação web Blazor que pode ser lida em inglês ou em português do Brasil, conforme o Accept-Language do navegador e um seletor de idioma no topo; duas pessoas podem ler a mesma implantação em idiomas diferentes ao mesmo tempo. Vereditos de certificado, nomes de eventos de auditoria, linhas de log e as mensagens do próprio Signer ficam em inglês em todas as telas.

Tudo o que o console mostra é lido do banco de dados da plataforma, e tudo o que ele altera é gravado na Trilha de Auditoria, com a conta conectada como autora.

Entrar no console​

Uma Conta Administrativa é um login local: um endereço de e-mail, uma senha de pelo menos doze caracteres e um Segundo Fator de um aplicativo autenticador. Não há provedor de identidade externo nem e-mail de redefinição de senha. A primeira conta é criada a partir de Admin:Bootstrap:* num Servidor cuja tabela de contas está vazia; todas as seguintes são criadas por um Administrador na tela Configurações e usuários, e ele entrega a senha inicial pessoalmente.

No primeiro login, a conta faz a inscrição do segundo fator: o console mostra um QR code para o aplicativo autenticador e, em seguida, um conjunto de Códigos de Recuperação, mostrado uma única vez. Um Código de Recuperação é um substituto de uso único para o autenticador; um conjunto novo substitui todo o antigo. Guarde os códigos num lugar que não se perca junto com o celular.

Dois perfis:

PerfilPode
AdministradorLer tudo e mudar o estado da plataforma: admitir e revogar máquinas, cadastrar aplicações e emitir chaves, importar e desativar Certificados do Cofre, adicionar e remover Autoridades Certificadoras Confiáveis, alterar configurações, gerenciar contas.
AuditorLer tudo, sem alterar nada.

A página inicial (Landing Page) em / é o que o navegador vê antes do login. Ela diz o que é o Servidor e traz links para seguir adiante; não mostra nenhum estado da plataforma.

Monitoramento​

Trilha de Auditoria​

/admin/audit. O registro somente de acréscimo (append-only) dos eventos da plataforma: acesso à API, ciclo de vida das sessões e das assinaturas, eventos de estações de trabalho e de PIN, entregas de callback, ações administrativas. Uma linha por evento com o momento (UTC), o nome do evento, o autor, o objeto e o resultado, além dos detalhes. PINs, conteúdo de documentos e bytes de assinatura nunca aparecem.

Filtros: um autor (nome de exibição ou id exato), uma chave de API (a trilha de uma única chave, incluindo as chamadas recusadas), um id de correlação (toda a trilha de uma requisição), um evento, um intervalo de tempo. Outras telas levam à trilha por uma coluna Trilha, de modo que uma Sessão de Assinatura ou uma linha de chave de API fica a um clique do seu histórico. Uma linha que o banco de dados recusou foi gravada no Log do Servidor no nível Critical, e o console mostra um alerta quando isso acontece.

A retenção é definida por Audit:RetentionDays (365 por padrão), uma das sete configurações que um Administrador pode alterar na tela Configurações e usuários.

Frota​

Estações de Trabalho​

/admin/fleet. Todas as máquinas admitidas: nome da máquina, sistema operacional, versão do Workstation Service, número de certificados, visto por último e a situação dela em relação às Autoridades Certificadoras Confiáveis deste Servidor. O painel de uma máquina mostra a impressão digital e a postura da chave, os certificados e as ações disponíveis: devolver para Pendente (mantém a chave e o histórico) ou Revogar (recusada permanentemente, sem volta). Revogar é o controle que não depende da cooperação da máquina, e a resposta certa para uma máquina perdida, roubada ou desativada sem desinstalação.

A coluna de situação de confiança mostra uma de cinco indicações por máquina:

SituaçãoSignificado
Em diaA máquina tem o conjunto de Autoridades Certificadoras Confiáveis em vigor.
AtrasadaA máquina ainda tem um conjunto anterior.
RecusaA máquina está configurada para não aceitar o conjunto do Servidor (UseServerTrustedCas desligado).
Requer atualizaçãoOs componentes da máquina são anteriores ao protocolo 2 e não conseguem pedir o conjunto.
Não informadaA máquina não informou qual conjunto tem.

Fila de admissão​

/admin/admission. Máquinas que pediram para entrar e estão aguardando uma pessoa. Cada linha mostra o nome da máquina, o sistema operacional, as versões, a postura da chave (Chave em hardware ou Chave em software) e a impressão digital dela, e há quanto tempo a máquina está aguardando. Admitir a deixa entrar; na próxima reconexão, a máquina se conecta e passa para a tela da frota.

Acima da tabela, a tela explica o que significa admitir: sem um canal independente (out-of-band) contra o qual conferir uma impressão digital, admitir é uma decisão, e não uma verificação. Leia o nome da máquina e a postura; se a implantação definir Admission:RequireHardwareBackedKeys, o controle Admitir recusa uma máquina com chave em software, e a linha explica o motivo. Um pedido que ninguém atende expira depois de Admission:PendingExpiry, contado a partir do último pedido da máquina.

Registro de Certificados​

/admin/certificates. Todos os Certificados de Estação de Trabalho que a frota anunciou: thumbprint, CPF do titular, titular, emissor, validade, veredito e quais estações de trabalho têm o certificado, com o estado de conexão de cada uma e quando foi vista por último. Filtre por status. As entradas refletem o último estado conhecido; os certificados de uma estação de trabalho desconectada continuam na lista, marcados como offline.

Uma linha UNTRUSTED oferece Confiar no emissor: o Servidor percorre a cadeia do certificado, identifica a autoridade pela qual não conseguiu chegar a uma raiz e oferece adicioná-la como Autoridade Certificadora Confiável. Uma máquina com um Workstation Service mais antigo não envia a codificação do certificado, então as linhas dela não podem oferecer essa opção.

Sessões de Assinatura​

/admin/sessions. Todas as Sessões de Assinatura: o CPF, a que a sessão está vinculada (um certificado numa estação de trabalho identificada, ou o cofre), o estado (Ativa, Expirada, Desativada, Substituída, Esgotada, Interrompida), quando foi criada e quando expira, o número de documentos assinados com ela e, onde a implantação definiu uma Franquia de Assinaturas, quanto já foi gasto dela. Cada linha leva à sua trilha.

Operações de Assinatura​

/admin/operations. Uma linha por documento enviado para assinatura: o nome do documento, a sessão, onde foi executada (uma estação de trabalho ou o cofre), quando foi enviada, o estado (Pending, Completed, Failed), o código de falha e a etapa alcançada quando falhou, e o id de correlação que o cliente pode citar. Uma execução interrompida por um reinício do Servidor é encerrada por uma varredura como Failed, com RUN_STRANDED.

Acesso​

Aplicações Cliente​

/admin/applications. Os sistemas externos que chamam o SignSession Contract, cada um com suas chaves de API. Cadastre uma aplicação com um nome (como a Trilha de Auditoria vai chamá-la) e uma descrição e, em seguida, use Emitir chave: dê à chave um nome que diga onde ela está implantada e, se quiser, uma data de validade. O valor da chave é mostrado uma única vez, num diálogo, e só o SHA-256 dele é armazenado; nada o recupera depois. Cada linha de chave mostra a idade, o último uso e a trilha da própria chave.

Uma chave pode ser revogada (a próxima requisição que a apresentar é recusada, permanentemente) e ter a validade editada. Uma aplicação pode ser desativada, o que recusa todas as chaves dela de uma vez, mas as mantém, e depois ativada de novo. Chaves ausentes, desconhecidas, revogadas, expiradas e de aplicações desativadas são todas rejeitadas da mesma forma no protocolo, com UNAUTHORIZED.

Certificados do Cofre​

/admin/vault. Só existe num Servidor com Vault:Enabled; caso contrário, a tela informa que o cofre está desligado e cita a configuração. Lista todos os certificados que o próprio Servidor guarda: CPF, titular, emissor, validade, veredito, quando foi importado e se está em uso.

Importar um PFX: um certificado e sua chave privada por arquivo, com um CPF da ICP-Brasil, junto com a senha do arquivo. A importação comprova que o arquivo pode ser aberto pelo leitor que vai assinar com ele; um arquivo cuja chave esteja protegida com pkcs5PBES2 é recusado com uma mensagem que indica a reexportação no formato legado (openssl pkcs12 -export -legacy). A senha é usada uma vez e nunca armazenada: a aplicação cliente a fornece como o pin em cada criação de sessão. Um Servidor sem licença recusa toda importação.

Duas ações por certificado. Desativar o deixa Fora de uso: ele não cria sessão nem assina nada até ser ativado de novo, enquanto o arquivo, a chave e o histórico permanecem. Excluir destrói o material da chave privada e não pode ser desfeito; a confirmação pede que você digite o CPF. Nenhuma das duas afeta uma sessão ativa já vinculada ao certificado, exceto pelo fato de que o segredo retido para essa sessão é descartado na hora, então a próxima assinatura dela é recusada. Não existe caminho de exportação ou download em lugar nenhum.

Autoridades Certificadoras Confiáveis​

/admin/trusted-cas. As autoridades certificadoras em que um Administrador mandou este Servidor confiar, além das raízes da ICP-Brasil que a implantação já reconhece. Cada linha: a autoridade, o tipo (Raiz ou Intermediária), quantos certificados dependem dela e desde quando.

Confiar em uma autoridade certificadora: faça upload de um arquivo, DER, PEM ou um pacote PKCS#7, identificado pelo conteúdo, e não pelo nome. Um arquivo pode trazer uma cadeia inteira, e todas as autoridades dela são oferecidas. O certificado de um titular também é aceito: o Servidor lê o emissor dele, segue os ponteiros caIssuers do próprio certificado pela web quando necessário (no máximo quatro buscas) e oferece o que encontrou, marcando uma autoridade obtida de uma URL indicada pelo próprio certificado não confiável como uma cuja impressão digital deve ser conferida com cuidado especial. Nada passa a ser confiável até você confirmar a oferta.

A adição entra em vigor no Servidor em execução, sem reinício, e chega a todas as máquinas admitidas no protocolo 2 em segundos. Deixar de confiar numa autoridade pode tornar Certificados de Estação de Trabalho e Certificados do Cofre UNTRUSTED, por isso a confirmação informa antes quantos dependem dela. Uma máquina offline continua confiando numa autoridade removida até se reconectar. As linhas removidas são mantidas, e não apagadas, para que a Trilha de Auditoria possa citá-las.

Sistema​

Configurações e usuários​

/admin/settings. Duas coisas.

Configurações da plataforma: as sete chaves que um Administrador pode sobrescrever em tempo de execução, cada uma com um texto de ajuda e o padrão da implantação ao lado. Um valor salvo prevalece sobre a configuração da implantação e entra em vigor sem reinício; Restaurar os padrões da implantação limpa os overrides.

ConfiguraçãoPadrão
Janela padrão da sessão1 h
Janela máxima da sessão24 h
Tempo limite do pedido no Tray App60 s
Falhas de PIN antes do bloqueio5
Janela de bloqueio de PIN15 min
Tolerância de reconexão da estação de trabalho15 s
Retenção da auditoria (dias)365

Duas opções não estão aqui, de propósito: Admin:SecondFactor:Required e Vault:Enabled. As duas são configuração da implantação, porque uma opção que enfraquece a proteção do console ou ativa chaves privadas guardadas no servidor não pode estar ao alcance de dentro do próprio console.

Contas Administrativas: todas as contas, com perfil, situação de acesso, última entrada e inscrição do segundo fator. Um Administrador pode criar uma conta, definir uma senha (as sessões existentes da pessoa terminam em até cinco minutos), tornar uma conta Auditor ou Administrador, desativá-la (ela é mantida, porque a Trilha de Auditoria atribui a ela as ações passadas) e ativá-la de novo, e limpar o segundo fator de alguém, o que também invalida os Códigos de Recuperação da pessoa e a obriga a fazer a inscrição de novo no próximo login. Ninguém consegue ler ou definir o segundo fator de outra pessoa.

Log do Servidor​

/admin/logs. As linhas mais recentes de um dia UTC do log do próprio Servidor, lidas do arquivo rotativo em Logging:File:Directory, filtradas por nível e por texto: quando, nível, categoria de origem, mensagem e o id de correlação que leva às linhas correspondentes da Trilha de Auditoria. É uma conveniência para quem está no console, não um registro: a saída do console é o registro, e o arquivo é apagado depois de Logging:File:RetainedDays. Numa implantação que desligou o arquivo, a tela informa isso e cita a chave.

Sua conta​

/admin/account. A única credencial da plataforma que a própria pessoa gerencia: trocar a senha, Substituir seu autenticador ao trocar de dispositivo e Gerar um novo conjunto de Códigos de Recuperação, com um Código de Recuperação aceito no lugar do autenticador para essa ação.

Banners​

Duas condições colocam um banner em todas as páginas do console enquanto durarem: a PKI de teste da Lacuna está sendo considerada confiável (Certificates:Validation:UseLacunaTestPki, uma opção de desenvolvimento que faz o certificado de exemplo de qualquer pessoa assinar como ACTIVE), e uma linha de auditoria não conseguiu chegar ao banco de dados.

Ver em Markdown