Tech

Fazendo um plano para proteger as identidades de sua máquina

Segurança de segredos de ponta a ponta

No coração de cada aplicação estão os segredos. Credenciais que permitem a comunicação entre humanos e máquinas e entre máquinas. As identidades de máquinas superam as identidades humanas em um fator de 45 para 1 e representam a maioria dos segredos com os quais precisamos nos preocupar. De acordo com a pesquisa recente da CyberArk, 93% das organizações tiveram duas ou mais violações relacionadas à identidade no ano passado. Está claro que precisamos abordar esse problema crescente. Além disso, está claro que muitas organizações estão OK com o uso de credenciais de texto simples para essas identidades em repositórios privados, pensando que elas permanecerão privadas. No entanto, a falta de higiene no código privado leva a vazamentos públicos, como vemos nas notícias com muita frequência. Dado o escopo do problema, o que podemos fazer?

O que realmente precisamos é de uma mudança em nossos processos, especialmente em relação à criação, armazenamento e trabalho com identidades de máquinas. Felizmente, há um caminho claro a seguir, combinando soluções existentes de gerenciamento de segredos e ferramentas de detecção e remediação de segredos, ao mesmo tempo em que atende os desenvolvedores onde eles estão.

Elaboração de um plano de jogo de segurança de segredos de ponta a ponta

Quando pensamos em remediar o problema de identidade da máquina, também conhecido como proliferação de segredos, podemos descrever o problema em algumas frases.

Temos um número desconhecido de segredos válidos de texto simples de longa duração espalhados por todo o nosso código, configurações, pipelines de CI, sistemas de gerenciamento de projetos e outras fontes, que não podemos contabilizar, e sem uma estratégia de rotação coerente. Enquanto isso, os desenvolvedores continuam a trabalhar com segredos em texto simples, pois é uma maneira confiável, embora problemática, de fazer o aplicativo funcionar.

Pensando nesta definição prática, podemos fazer um plano de várias etapas para abordar cada preocupação.

  1. Detecção de segredos – Pesquise códigos e sistemas envolvidos no ciclo de vida de desenvolvimento de software program para identificar credenciais de texto simples existentes, reunindo o máximo de informações possível sobre cada uma.
  2. Gerenciamento de segredos – Contabilização de todos os segredos conhecidos por meio de uma plataforma de cofre centralizada.
  3. Fluxos de trabalho do desenvolvedor – ajuste processos e ferramentas para facilitar a criação, o armazenamento e a chamada segura de segredos de maneira adequada.
  4. Verificação de segredos – Monitoramento contínuo de novos segredos adicionados em texto simples.
  5. Rotação automática – A substituição common de segredos válidos reduz seu potencial de exploração por agentes mal-intencionados.

Você pode fazer essa jornada passo a passo, tratando isso como uma implementação em fases. Antes que você perceba, estará muito mais perto de eliminar a dispersão de segredos e proteger todas as suas identidades de máquina.

Encontrando seus segredos

O primeiro problema que toda equipe encontra ao tentar controlar a dispersão de segredos é determinar quais segredos eles têm. Um esforço de busca guide para rastrear segredos desconhecidos sobrecarregaria rapidamente qualquer equipe, mas, felizmente, existem ferramentas de varredura de segredos, como o GitGuardian, que podem automatizar esse processo e dar insights sobre detalhes críticos. A partir de uma plataforma estável, você deve fornecer um caminho de comunicação para trabalhar com os desenvolvedores para remediação.

Implementando um cofre de segredos centralizado

Central para qualquer boa estratégia de gerenciamento de segredos é gerenciar como os segredos são armazenados e utilizados. Os cofres corporativos permitem que você responsabilize de forma transparente todos os segredos conhecidos, criptografando-os em repouso e em trânsito. Uma boa solução de cofre, incluindo Conjure da Cyberark e Hashicorp Vault Enterprise. Se toda a sua infraestrutura for do mesmo provedor, como AWS ou GCP, essas também são opções muito boas.

Protegendo o fluxo de trabalho do desenvolvedor

O gerenciamento de segredos tem sido historicamente deixado nas mãos dos desenvolvedores para serem descobertos, levando a uma ampla variedade de soluções, como arquivos `.env` e, infelizmente, codificação de segredos na base de código. Aproveitar uma solução de cofre centralizada oferece aos desenvolvedores uma maneira consistente de invocar com segurança as credenciais de seus aplicativos em todos os ambientes. Se você puder oferecer uma abordagem padronizada que seja tão fácil de implementar quanto a que eles estão fazendo atualmente, você descobrirá que muitos desenvolvedores aproveitarão an opportunity de garantir que suas implantações não sejam bloqueadas devido a essa preocupação de segurança.

Você também vai querer considerar mudar para a esquerda. Ferramentas de linha de comando, como ggshield, permitem que desenvolvedores adicionem hooks Git automáticos para escanear credenciais de texto simples antes que qualquer commit seja feito. Impedir que um segredo chegue a um commit significa nenhum incidente para lidar mais tarde e consertar o problema no ponto menos dispendioso do ciclo de vida de desenvolvimento de software program.

Digitalização secreta em cada interação compartilhada

Você também precisa de uma maneira de levar em conta a realidade de que às vezes acontecem acidentes. O monitoramento contínuo é necessário para observar quaisquer novos problemas decorrentes de erros de desenvolvedores existentes ou quando novas equipes ou subcontratados são contratados que simplesmente ainda não conhecem seus processos. Assim como na primeira detecção de segredos, usar uma plataforma que reúna as informações em um incidente coerente ajudará você a responder rapidamente a esses novos problemas. O GitGuardian, por exemplo, integra-se no nível do repositório de código para capturar novas credenciais de texto simples em segundos, automaticamente a cada push ou comentário.

Credenciais de curta duração devem ser o objetivo da rotação automática

Se um invasor encontrar um segredo válido, isso torna seu trabalho muito mais simples, pois ele pode simplesmente destrancar qualquer porta que encontrar. Se esse mesmo invasor encontrar um segredo inválido, ele não poderá fazer muita coisa com ele. Com um cofre centralizado em vigor, você pode colocar planos de rotação automática em prática. A maioria das plataformas e serviços modernos tem uma maneira de gerar novas credenciais por meio de uma chamada de API e uma maneira de invalidar segredos existentes. Com um pouco de script, seguindo um dos muitos guias publicados por plataformas como AWS ou CyberArk, é possível automatizar a substituição segura de qualquer credencial em uma programação common, até mesmo diária.

A segurança de segredos de ponta a ponta requer um plano

O melhor momento para abordar as questões relacionadas à segurança de segredos de ponta a ponta é agora. Se você ainda não tem um plano de jogo definido, hoje é o melhor momento para começar a ter essas conversas. Comece fazendo perguntas como “que segredos nós temos?” ou “Você tem um cofre instalado?” Em última análise, devemos capacitar os desenvolvedores com fluxos de trabalho e proteções que permitam que eles se concentrem em seu fluxo de desenvolvimento.

Manter-se vigilante para que novos segredos sejam descobertos e tratados imediatamente é um processo contínuo. será necessário um esforço, incluindo a sensibilização e a adoção dos processos e tecnologias corretos, mas qualquer empresa pode controlar melhor as identidades e os segredos das máquinas, de ponta a ponta, em toda a organização.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button