Guia rápido para gerenciamento de segredos na empresa

Vale a pena centralizar o gerenciamento das ferramentas, métodos e credenciais usadas para acessar aplicativos e serviços

Author Photo
9:45 am - 30 de agosto de 2022
segurança, cibersegurança, login, senha

O cenário de TI empresarial hoje é caracterizado pela transformação digital contínua e geração de dados de proporções épicas. Com o trabalho remoto e móvel sendo a nova norma em um mundo pós-pandemia, a mobilidade e a agilidade tornaram-se fatores essenciais para a continuidade dos negócios da empresa.

Em um esforço para automatizar e integrar todas as funções de negócios possíveis, centralizar e acelerar o fluxo de dados e informações, melhorar a produtividade e fornecer uma melhor experiência ao cliente, as organizações estão construindo ambientes de DevOps ágeis com modelos operacionais multinuvem híbridos complexos.

No entanto, com grande mobilidade e dados oportunos, vem uma grande responsabilidade. As empresas enfrentam desafios crescentes para manter dados, serviços e informações de identificação pessoal (PII) seguros. Apesar dos avanços na tecnologia, continuamos a ver números recordes de violações de dados ano após ano.

Como as empresas evoluem seus métodos de armazenamento, gerenciamento e proteção de dados para garantir que os funcionários tenham uma maneira direta de acessar recursos digitais enquanto reforçam a segurança de toda a infraestrutura de TI?

A resposta está no gerenciamento eficaz de segredos.

O que é gerenciamento de segredos e por que é necessário?

O gerenciamento de segredos é o conjunto apropriado de ferramentas e práticas recomendadas usadas para armazenar, acessar e gerenciar centralmente as credenciais de autenticação digital (ou “segredos”) com segurança durante todo o ciclo de vida. Segredos são itens de dados usados na autenticação e autorização – eles incluem senhas, chaves de criptografia públicas e privadas, chaves SSH, APIs, tokens e certificados. Tanto as máquinas quanto os humanos usam segredos para autenticar e se comunicar.

Mas, afinal, por que você precisa de gerenciamento de segredos?

“Com a mudança universal para a infraestrutura multinuvem híbrida e a dependência da conteinerização de aplicativos, a necessidade de máquinas e pessoas acessarem continuamente sistemas e dados aumentou substancialmente. Por exemplo, cada vez mais aplicativos devem acessar continuamente diferentes fontes de dados, serviços em nuvem e servidores, geralmente com diferentes tipos de credenciais necessárias para cada recurso. Isso criou uma necessidade exponencial de segredos em todo o processo de DevOps”, explica Oded Hareven, CEO e cofundador da Akeyless, uma ferramenta de gerenciamento de segredos baseada em SaaS.

O que o torna complicado é que os desenvolvedores frequentemente codificam vários segredos em código de aplicativo ou microsserviço, scripts, ferramentas de automação e repositórios de código – todos residentes em várias infraestruturas. Pior ainda, esses códigos estão em diferentes estágios de desenvolvimento com um risco real de serem mal gerenciados e desprotegidos. O resultado é uma falta geral de controle e integração de segredos, levando ao que é conhecido nos círculos de segurança como “expansão secreta”.

O problema não termina aí. Segredos mantidos em plataformas em nuvem que realizam integração contínua/entrega contínua (CI/CD) são necessários, por sua natureza, para gerenciar e permitir o acesso a outras máquinas e softwares. Para isso, eles precisam armazenar segredos e chaves de assinatura (usadas para selar códigos e atualizações de software), que são frequentemente armazenados em locais não seguros, como o laptop de um desenvolvedor ou um servidor de compilação.

A expansão secreta não apenas dificulta o rastreamento e o gerenciamento das credenciais, mas também fica vulnerável a hackers. Na verdade, credenciais roubadas são responsáveis por quase metade de todas as violações de dados, de acordo com um relatório da Verizon.

Muitos hacks recentes, incluindo hacks da cadeia de suprimentos de software, aproveitam os segredos que foram colocados no código, que é novamente armazenado em repositórios de fácil acesso, como o GitHub. Na verdade, o GitHub detectou recentemente mais de 700.000 possíveis vazamentos de credenciais em milhares de repositórios privados, prontos para serem tomados.

Os exemplos não param de chegar. Um ataque à cadeia de suprimentos de software recentemente exposto sequestrou bibliotecas populares de PHP e Python para roubar chaves da AWS. Em outro caso, um serviço comumente usado que ajuda os desenvolvedores de código aberto a escrever e testar softwares estava vazando milhares de tokens de autenticação e outros segredos, permitindo que hackers acessassem contas privadas de desenvolvedores no Docker, Github, AWS e outros repositórios de código.

Mas, você pergunta, não há um zilhão de métodos já disponíveis para proteger senhas, chaves e outras credenciais?

Sim. E isso é parte do problema.

Desafios no gerenciamento de segredos

Há uma considerável ineficiência e duplicação nas soluções de segurança atuais quando se trata de gerenciar segredos. Alguns desses desafios são:

Expansão secreta:

O mundo está migrando do local para a nuvem – e os segredos também. Os 3 grandes provedores de serviços em nuvem (e outros) oferecem suas próprias soluções de gerenciamento de segredos, que a maioria das empresas aceita por padrão, simplesmente por falta de uma solução melhor – o que poderia ser mais seguro do que a própria plataforma do provedor?

Mas com uma arquitetura multicloud híbrida no centro do palco (é o único modelo operacional de TI que está crescendo em adoção), a maioria das equipes de DevOps se vê lidando com vários ambientes repletos de microsserviços e contêineres para diferentes cargas de trabalho. Estes, por sua vez, têm milhares de componentes máquina a máquina que se comunicam entre si, levando a um número incompreensível de chaves, tokens e outros segredos em circulação.

A explosão e a descentralização de segredos é um enorme fardo operacional para administradores e profissionais de DevOps. As inúmeras soluções de nuvem e virtualização disponíveis hoje permitem que os usuários criem e destruam VMs e aplicativos em grande escala. Desnecessário dizer que cada uma dessas instâncias de VM vem com seu próprio conjunto de segredos que precisam ser gerenciados. Além disso, as chaves SSH sozinhas podem chegar a milhões em organizações empresariais. Fora isso, trabalhos do Ansible, contêineres do Kubernetes e rotinas em lote diárias tendem a ter senhas que precisam de rotação.

Todos esses sistemas são incapazes de acessar recursos de segurança externos ao seu ambiente. Não há um plano de controle unificado que possa ajudá-lo a gerenciar vários repositórios secretos armazenados em diferentes plataformas.

Visibilidade insuficiente:

Segredos estáticos localizados em diferentes ambientes (como nuvem, local, borda ou híbrido) são gerenciados por diferentes indivíduos, equipes e administradores, criando “ilhas secretas”. Isso inevitavelmente leva a desafios de auditoria e falhas de segurança.

Complexidade das soluções de cofre:

Devido ao grande número de ferramentas e plataformas incumbentes e herdadas (devOps e não DevOps) e ao grande número de extensões para cada uma delas, as soluções de cofre no local não funcionam bem em muitos casos. Além disso, é difícil configurar cofres de acordo com a infraestrutura subjacente de computação, armazenamento e rede em um ambiente híbrido. A necessidade de atualizações frequentes só aumenta a complexidade dos cofres locais.

Os cofres baseados em nuvem não são melhores. Uma grande bandeira vermelha é que essas ofertas são proprietárias do provedor e suportam apenas cargas de trabalho que são executadas em seu próprio ambiente e ecossistema, então, novamente, elas não são adequadas para arquiteturas de nuvem híbrida. Mesmo que você use apenas um grande provedor de nuvem, um ambiente multicloud, isso só leva à expansão do cofre. Outra preocupação é que suas chaves mestras sejam compartilhadas com seu provedor de nuvem. Isso significa que um administrador desonesto, hacker ou agência governamental poderia acessá-las e você ficaria impotente.

A solução perfeita de gerenciamento de segredos…

…pode não existir. Mas isso não significa que você não possa criar políticas infalíveis de Gerenciamento de Identidade e Acesso (IAM) que mantenham sua empresa protegida contra todas as ameaças conhecidas e todos os tipos conhecidos de ameaças.

O IAM é o novo perímetro – é fundamental para uma estratégia de segurança moderna. Validar a identidade (autenticação) de usuários humanos e de máquinas e justificar sua necessidade de acessar o recurso (autorização) está se tornando mais complexo a cada dia com o aumento da automação e o número de cargas de trabalho dinâmicas que flutuam com a demanda.

Além disso, a natureza da autenticação está mudando constantemente. Os módulos de aplicativo e banco de dados não estão mais confinados a um grande bloco de código como costumavam ser. Em vez disso, eles são uma integração complexa e dinâmica de microsserviços e subcomponentes, cada um com seu próprio processo de autenticação.

Veja o que as empresas que operam em um ambiente multicloud ou que têm uma combinação híbrida de sistemas de nuvem local, privada e pública devem procurar em uma plataforma ou solução de gerenciamento de segredos:

– Funciona em configurações híbridas, multicloud e multilocal: Esse talvez seja o fator mais essencial para as empresas. Sempre que possível, escolha uma plataforma que se integre perfeitamente a fluxos de trabalho multiplataforma e multiambiente usando tecnologia nativa da nuvem. Sua solução de gerenciamento de segredos deve oferecer suporte à autenticação e verificação de máquina a máquina e homem a máquina habilitadas para IAM para diferentes tipos de segredos, como certificados SSH, chaves de API, certificados x.509, chaves de criptografia e assim por diante para impor a conformidade de segurança contínua.

– Funciona com diferentes protocolos de autenticação, linguagens e dispositivos: É importante que sua ferramenta de gerenciamento de segredos suporte autenticação humana, de hardware e software por meio de provedores de identidade de terceiros por meio de todas as principais interfaces (certamente) incluindo uma linha de comando, GUI, API REST e SDKs para principais linguagens. Não é preciso dizer que deve facilitar segredos dinâmicos e integrar-se a plataformas comuns baseadas em nuvem, como Docker, Kubernetes, Terraform, Ansible e Jenkins para operações de DevOps ininterruptas.

Depois, há a questão da escala. Se você deseja crescer em “escala de nuvem” e expandir sua infraestrutura geográfica ou tecnológica, precisa ser capaz de dimensionar seus recursos de gerenciamento de segredos para oferecer suporte a todas as ferramentas e plug-ins existentes e futuros.

– Pode ser gerenciado por meio de uma plataforma SaaS unificada: As equipes de segurança hoje precisam de visibilidade centralizada e controle de autenticação para todos os usuários, aplicativos e dispositivos em todos os ambientes usados pela organização. “Uma ferramenta intuitiva de gerenciamento de segredos baseada em SaaS com visibilidade em tempo real de todas as instâncias de uso de segredos, registro de auditoria e análises robustas é a necessidade do momento, de acordo com cada chefe de segurança com quem conversei”, diz Hareven.

– Resolve o problema do segredo zero e reforça o modelo de confiança zero: O gerenciamento de senhas é uma função comum nos dias de hoje. Um indivíduo pode ter uma planilha ou documento no qual armazena todas as senhas para os vários aplicativos ou painéis de controle que usa. No entanto, para abrir esta planilha, eles provavelmente teriam outra senha. E eles também precisariam de credenciais de usuário para fazer login no sistema operacional e acessar a planilha. Multiplique esse cenário pelos infinitos tipos de segredos que você tem hoje e você terá o problema do “segredo zero”.

Sua solução de gerenciamento de segredos deve fornecer a você um conjunto de credenciais iniciais com um token ou chave efêmera para autenticação contínua na máquina mãe para que o “segredo zero” nunca seja comprometido.

Isso se enquadra na premissa da arquitetura de confiança zero (ZTA), que segue o princípio de privilégio mínimo (PoLP), em que usuários e aplicativos recebem acesso “just-in-time” e granular a um número específico de recursos por um período de tempo específico – somente após “justificar” sua solicitação ao administrador. Esses privilégios são concedidos dinamicamente e expiram automaticamente após o prazo predefinido.

Guarde seus segredos

A plataforma de gerenciamento de segredos ideal capacita o DevOps, a migração para a nuvem e a transformação digital na empresa, permitindo que diferentes equipes acessem os recursos de que precisam e gerenciem seus segredos de forma autônoma. Com uma solução fornecida “como serviço” da nuvem, você pode reduzir as despesas gerais de manutenção, melhorar a disponibilidade e dimensionar suas operações para atender às suas metas de crescimento organizacional.

Newsletter de tecnologia para você

Os melhores conteúdos do IT Forum na sua caixa de entrada.