Um placar, não um discurso de vendas
As Dez Regras de Ouro do Gerenciamento de Credenciais
Estas são as regras nas quais um sistema de credenciais deve ser construído — técnicas, testáveis, de aprovação/reprovação. Compare qualquer ferramenta com elas, incluindo a nossa, e conte quantas ela cumpre. A maior parte da indústria cumpre menos da metade, porque a forma como os segredos foram armazenados por vinte anos foi projetada para humanos que precisavam lê-los e memorizá-los. Remova essa suposição e a barra se move. É aqui que ela deveria estar.
Dez regras. Cada uma que o Clavitor cumpre.
Cada regra é um princípio universal de bom gerenciamento de credenciais. Abaixo de cada uma, em termos claros, está exatamente como o Clavitor a cumpre.
01 — Chave aleatória
A chave é aleatória e nenhum humano jamais a vê.
Um segredo que uma pessoa pode ler pode ser obtido por phishing, adivinhado, reutilizado ou coagido dela. A chave deve ser material aleatório que a máquina gera — nunca exibida, nunca digitada, nunca recuperável de nada que um humano saiba.
02 — Sem senha mestra
Não existe senha mestra. Uma chave de hardware é a única chave.
Uma senha mestra é uma porta, e uma porta pode ser arrombada. Uma frase de recuperação para o proprietário é uma frase de recuperação para o atacante. A raiz de confiança deve ser uma chave física que deve estar presente.
03 — Operador cego
O operador não pode descriptografar os dados que armazena.
Se a empresa que executa os servidores puder ler seus segredos, um funcionário desonesto, uma intimação ou quem quer que invada essa empresa também poderá. A confidencialidade deve repousar na matemática, não no bom comportamento do operador.
04 — Nunca onde o código é executado
Segredos nunca vivem onde o código é executado.
Uma credencial em um arquivo .env, uma variável de ambiente ou um cache local está esperando que o que quer que seja executado a seguir a pegue. O código deve ter o uso de um segredo, nunca a custódia dele.
05 — Sem enumeração
Um agente não pode enumerar. Ele alcança apenas o que foi nomeado.
Se um ator puder listar, pesquisar ou navegar na loja, um único comprometimento se torna um mapa de tudo o que você possui. A incapacidade de enumerar é mais forte do que qualquer limite colocado na enumeração.
06 — Vinculado à máquina
Uma credencial é vinculada à máquina para a qual foi emitida.
Assuma que uma credencial eventualmente será roubada. O que importa é se ela vale alguma coisa fora da máquina à qual pertence. Uma chave que funciona de qualquer lugar funciona do laptop do atacante.
07 — Sem drenagem em massa
Nenhum ator único pode drenar o cofre.
O uso normal toca em um punhado de segredos. Um roubo tenta levar tudo, rápido. O sistema deve distinguir os dois e parar o segundo sem que o proprietário precise observar.
08 — Registrado e atribuído
Cada ação é registrada e atribuída.
Contas compartilhadas e leituras silenciosas destroem a responsabilidade. Quando algo dá errado, você precisa saber exatamente quem, ou o quê, fez isso, e cada credencial que tocou. Um registro com lacunas não é um registro.
09 — Nada em repouso no cliente
Nenhuma credencial permanece no cliente. Nem em disco, nem em memória, nem mesmo criptografada.
Uma cópia local criptografada ainda é uma cópia, e a chave para ela está na mesma máquina. Qualquer coisa que repousa no dispositivo é algo que um atacante pode voltar para pegar. Uma credencial deve existir apenas pelo instante em que é usada.
10 — Criptografia validada
A criptografia é validada, não inventada.
Criptografia caseira é como equipes inteligentes perdem. Os primitivos que protegem um segredo devem ser aqueles que revisores independentes já validaram, e a compilação deve tornar impossível enviá-la sem eles. Chato e auditado é melhor que esperto.
Execute a lista.
Execute sua ferramenta atual pela lista das dez. Depois execute a nossa. Escrevemos isso porque a maior parte da indústria falha silenciosamente em várias — e construímos o Clavitor para não falhar em nenhuma.