//, Primeiro de tudo, o problema discutido aqui vai além da mera entrega do segredo 0 ou o que eles chamam de "introdução segura" no jargão operacional.
Em vez disso, trata-se de garantir o segredo, uma vez recebido.
Eu não tenho uma solução de bala de prata para isso. Mas existem algumas opções de defesa em profundidade:
- Use quebra automática de respostas para a entrega do segredo.
- Coloque restrições CIDR em torno do token para a Loja secreta, de modo que o token seja utilizável apenas em um conjunto específico de endereços IP e use protocolos confiáveis como PROXY (NÃO X-Forwarding) para passar os endereços IP para o armazenamento secreto ( Por exemplo, defina token_bound_cidrs de uma forma que apenas uma sub-rede possa usar o token. / li>
- Armazene o segredo apenas na memória e bloqueie a memória com o mlock.
- Se possível, coloque limites de tempo no próprio segredo, ou até mesmo permita que o segredo seja usado apenas uma vez
- Monitorar o uso incomum do segredo, por exemplo o cliente regular deve alertar se o seu segredo de uso único não funciona (porque já foi usado) e o servidor deve alertar se alguém está tentando usar o segredo de fora do intervalo de CIDR permitido
- Isso é um pouco difícil, mas você pode permitir que exista um segredo de "honeypot" no servidor junto com o segredo regular, se possível, que dá "acesso" a um conjunto de credenciais a um sistema que apenas grava acessos e alertas.
- Exigem nova autenticação para cada uso do segredo armazenado localmente, o que significaria que fatores de autenticação adicionais, além dos segredos armazenados localmente, precisam ser aplicados em cada uso, por exemplo, metadados assinados exclusivos para a instância de computação ou carga de trabalho ou, no Vault, um Approle
- Desative qualquer tipo de cache de disco, para evitar que o segredo toque em qualquer armazenamento potencialmente persistente