Partilhar via


Práticas recomendadas para proteger segredos

Este artigo fornece orientações sobre como proteger seus segredos e reduzir o risco de acesso não autorizado. Siga estas orientações para ajudar a garantir que você não armazene informações confidenciais, como credenciais em código, repositórios do GitHub, logs, pipelines de integração contínua/implantação contínua (CI/CD) e assim por diante. As orientações neste artigo são compiladas a partir de recomendações de serviços individuais, bem como do Microsoft Cloud Security Benchmark (MCSB).

Melhores práticas gerais

No cenário digital atual, proteger informações confidenciais, como credenciais de aplicativos e segredos, é fundamental. Uma violação pode levar a consequências graves, incluindo perda de dados, penalidades financeiras e danos à reputação. A implementação de uma estratégia abrangente de gestão secreta é essencial para mitigar esses riscos.

Realizar uma auditoria para identificar segredos

Antes de poder proteger seus segredos, você precisa saber onde eles estão. A realização de uma auditoria completa de seus sistemas e aplicativos ajuda a identificar todas as informações confidenciais que precisam de proteção. Isso inclui senhas, chaves de API, cadeias de conexão e outras credenciais. Auditorias regulares garantem que os novos segredos são contabilizados e os existentes são devidamente geridos.

É importante notar que mesmo segredos criados dinamicamente, como tokens OAuth, que podem ser temporários, ainda precisam ser salvaguardados com o mesmo rigor que os segredos de longo prazo.

Evite segredos de hardcoding

Incorporar segredos diretamente em seu código ou arquivos de configuração é um risco de segurança significativo. Se a sua base de código está comprometida, os seus segredos também estão. Em vez disso, use variáveis de ambiente ou ferramentas de gerenciamento de configuração que mantêm os segredos fora do código-fonte. Esta prática minimiza o risco de exposição acidental e simplifica o processo de atualização de segredos.

Além disso, integrar a recuperação de segredos em seu pipeline de implantação automatizado e usar padrões de injeção secretos pode evitar que segredos sejam acidentalmente expostos em logs ou controle de versão, aumentando ainda mais a segurança do seu processo de implantação.

Consulte Recomendações para proteger segredos de aplicativos

Use armazenamentos de chaves seguros

Aproveitar os armazenamentos de chaves seguros garante que seus segredos sejam armazenados em um local seguro e criptografado. Serviços como o Azure Key Vault e o Azure Managed HSM fornecem recursos de segurança robustos, incluindo controle de acesso, registro em log e rotação automática. Esta abordagem centraliza a gestão dos seus segredos e reduz o risco de acesso não autorizado.

Para uma segurança ainda maior, particularmente para segredos altamente confidenciais ou críticos, considere criptografar o segredo com um armazenamento de chaves em um Modelo de Segurança de Hardware (HSM), que oferece proteção aprimorada em comparação com armazenamentos secretos baseados em software. Para obter uma visão geral de todas as ofertas de gerenciamento de chaves no Azure e orientações sobre qual escolher, consulte Gerenciamento de chaves no Azure e Como escolher a solução de gerenciamento de chaves correta.

Implementar ferramentas de verificação secretas

A verificação regular de sua base de código em busca de segredos incorporados pode evitar a exposição acidental. Ferramentas como o Azure DevOps Credential Scanner e o recurso de verificação secreta do GitHub podem detetar e alertar automaticamente sobre quaisquer segredos encontrados em seus repositórios. A integração dessas ferramentas em seu pipeline de CI/CD garante um monitoramento contínuo. É crucial tratar qualquer segredo encontrado por estas ferramentas de digitalização como comprometido, o que significa que deve ser imediatamente revogado e substituído para manter a integridade da sua postura de segurança.

Aproveite as identidades gerenciadas

As identidades gerenciadas no Azure fornecem uma maneira segura para os aplicativos se autenticarem nos serviços do Azure sem armazenar credenciais no código. Ao habilitar identidades gerenciadas para recursos do Azure, você pode acessar com segurança o Cofre de Chaves do Azure e outros serviços, reduzindo a necessidade de manipular segredos manualmente. Essa abordagem não apenas minimiza a criação de segredos, mas também reduz a área de superfície para possíveis violações, já que a responsabilidade pelo gerenciamento de credenciais é delegada à plataforma.

Aplique controle de acesso granular

Siga o princípio do menor privilégio aplicando controle de acesso granular aos seus segredos. Use o RBAC (controle de acesso baseado em função) do Azure para garantir que apenas entidades autorizadas tenham acesso a segredos específicos. Revise e atualize regularmente as permissões de acesso para impedir o acesso não autorizado. Também é aconselhável implementar funções distintas, como usuário, administrador e auditor, para gerenciar o acesso a segredos, garantindo que apenas identidades confiáveis tenham o nível apropriado de permissão.

Consulte o guia RBAC do Azure Key Vault.

Rodar segredos regularmente

Os segredos são suscetíveis a fugas ou exposição ao longo do tempo. Alternar regularmente os seus segredos reduz o risco de acesso não autorizado. Você pode girar segredos no Cofre de Chaves do Azure para determinados segredos, para aqueles que não podem ser girados automaticamente, estabeleça um processo de rotação manual e garanta que eles sejam limpos quando não estiverem mais em uso.

Automatizar o processo de rotação secreta e criar redundância em seu gerenciamento secreto pode garantir que a rotação não interrompa a disponibilidade do serviço. A implementação de lógica de repetição e padrões de acesso simultâneos em seu código pode ajudar a minimizar problemas durante a janela de rotação.

Monitorar e registrar o acesso

Habilite o registro e o monitoramento para seu sistema de gerenciamento secreto para rastrear o acesso e o uso. Use o log do Cofre da Chave e/ou serviços como o Azure Monitor e a Grade de Eventos do Azure para monitorar todas as atividades relacionadas aos seus segredos. Isso fornece visibilidade sobre quem acessou seus segredos e ajuda a detetar qualquer comportamento suspeito ou possíveis incidentes de segurança. Manter trilhas de auditoria detalhadas é fundamental para inspecionar e validar o acesso a segredos, o que pode ajudar a evitar o roubo de identidade, evitar o repúdio e reduzir a exposição desnecessária.

Implementar isolamento de rede

Reduza a exposição dos seus segredos implementando o isolamento de rede. Configure firewalls e grupos de segurança de rede para restringir o acesso aos seus cofres de chaves. Permita apenas que aplicações e serviços fidedignos acedam aos seus segredos, minimizando a superfície de ataque e impedindo o acesso não autorizado. Além disso, considere o uso de vários cofres de chaves para criar limites de isolamento para componentes diferentes, garantindo que, se um componente for comprometido, ele não possa obter controle de outros segredos ou de toda a carga de trabalho.

Criptografar segredos em repouso e em trânsito

Certifique-se de que os seus segredos estão encriptados tanto em repouso como em trânsito. O Cofre de Chaves do Azure armazena segredos com segurança usando criptografia de envelope, onde as Chaves de Criptografia de Dados (DEKs) são criptografadas por Chaves de Criptografia de Chave (KEKs), fornecendo uma camada adicional de segurança. Essa abordagem aumenta a proteção contra acesso não autorizado. Além disso, use protocolos de comunicação seguros, como HTTPS, para criptografar dados em trânsito entre seus aplicativos e o cofre de chaves, garantindo que seus segredos sejam protegidos durante o armazenamento e a transmissão.

No Azure, a criptografia em repouso é implementada em vários serviços usando a criptografia AES 256, enquanto os dados em trânsito são protegidos por TLS e MACsec para impedir o acesso não autorizado durante a transmissão. Estas práticas de encriptação fornecem uma proteção abrangente para os seus dados, quer estejam a ser armazenados ou transmitidos entre sistemas. Para obter mais detalhes, consulte Criptografia em repouso e em trânsito.

Distribuição segura de segredos

Ao distribuir segredos, certifique-se de que eles sejam compartilhados com segurança dentro e fora da organização. Use ferramentas projetadas para compartilhamento seguro e inclua procedimentos de recuperação secretos em seus planos de recuperação de desastres. Se uma chave for comprometida ou vazada, ela deve ser regenerada imediatamente. Para aumentar ainda mais a segurança, use chaves distintas para cada consumidor em vez de compartilhar chaves, mesmo que elas tenham padrões de acesso semelhantes. Essa prática simplifica o gerenciamento e a revogação de chaves, garantindo que as chaves comprometidas possam ser revogadas sem afetar outros consumidores.

Práticas recomendadas específicas do serviço

Serviços individuais podem ter práticas recomendadas e orientações adicionais para proteger segredos. Seguem-se alguns exemplos:

Próximos passos

Minimizar o risco de segurança é uma responsabilidade compartilhada. Você precisa ser proativo ao tomar medidas para proteger suas cargas de trabalho. Saiba mais sobre a responsabilidade partilhada na nuvem.

Consulte Práticas recomendadas e padrões de segurança do Azure para obter mais práticas recomendadas de segurança a serem usadas ao projetar, implantar e gerenciar suas soluções de nuvem usando o Azure.