Compreendendo os riscos da infraestrutura como código na nuvem

Views: 187
0 0
Read Time:4 Minute, 55 Second

A infraestrutura como código (IaC) ganhou popularidade rapidamente por sua capacidade de automatizar o gerenciamento e o provisionamento da infraestrutura de TI, substituindo processos manuais por arquivos de configuração (definições) legíveis por máquina que contêm especificações simples de editar, manter e distribuir.

Essa abordagem é especialmente atraente e eficiente ao levantar e modificar instâncias de infraestrutura como serviço (IaaS) em ambientes de aplicativos em nuvem.

Mas, como qualquer tecnologia, esses ganhos não são isentos de dor. Uma das tarefas mais formidáveis ​​é lidar com o gerenciamento e a segurança de IaC . Embora agora seja incrivelmente rápido e conveniente propagar alterações em vários ambientes de produção, erros e vulnerabilidades também podem se espalhar rapidamente. Isso inclui configurações incorretas e configurações padrão incorretas, todas as quais podem expor dados confidenciais, propriedade intelectual (IP) e segredos comerciais.

Como resultado, é aconselhável estabelecer uma estrutura — incluindo a estratégia certa e as ferramentas de tecnologia — que possa identificar configurações incorretas, corrigir valores incorretos e automatizar o processo às vezes assustador de verificação de IaC.

Decifrando o código em IaC

Uma das coisas que torna a infraestrutura como código tão atraente é a capacidade de automatizar os processos de implantação da infraestrutura como parte do ciclo de vida do desenvolvimento. Essa prática geralmente é chamada de criação de um pipeline de CI/CD — desenvolvimento e implantação contínuos. Provisionar, configurar e gerenciar sistemas manualmente é uma tarefa demorada e propensa a erros. IaC é um componente essencial para automatizar esses processos. Com o clique de um botão, é possível configurar, excluir ou fazer alterações generalizadas em um ambiente existente em várias plataformas de nuvem usando APIs

Também é possível ter visibilidade de todas essas mudanças. Portanto, se for necessário reverter um sistema para uma determinada data ou configuração, a tarefa é razoavelmente fácil de gerenciar. Como o IaC normalmente tem suporte integrado para itens como linguagem declarativa e imperativa, filtros, regras e configurações, é possível criar um arquivo de configuração implantável padrão que informa a um provedor de nuvem exatamente qual recurso provisionar.

Eliminating manual processes doesn’t prevent problems. IaC environments remain vulnerable to configuration errors. In many cases, IaC definition files mitigate the risk of introducing security misconfigurations due to human errors such as applying the wrong user access policy or important security settings. However, when human-made mistakes happen, they will affect all resources that are using the same definition files and may impact thousands of resources.

Na verdade, é extremamente fácil perder problemas de configuração em IaC , especialmente quando uma infraestrutura de nuvem grande e complexa é provisionada. E uma vez que o problema existe no ambiente de produção, geralmente é muito mais difícil e demorado consertar. Como resultado, as organizações devem implementar uma abordagem shift-left para a segurança IaC, projetada para corrigir problemas diretamente quando o código é escrito ou modificado.

Encontrando a correção

Resolver o problema envolve verificar se há erros em novos arquivos IaC e corrigi-los antes de serem liberados para produção, além de descobrir configurações incorretas já implantadas em ambientes de nuvem e modificar os arquivos IaC. Isso requer seguir um processo de três etapas claramente definido:

  • Identifique as configurações incorretas. Essa “higiene” começa com a verificação de estado e recursos dos arquivos de configuração para identificar erros ou violações de políticas que precisam ser corrigidos. Esses processos devem examinar o ambiente de tempo de execução da nuvem e levar em consideração o plano e os resultados do estado. Uma vez identificados os problemas, é fundamental corrigir o código de todos os arquivos que tocam o ambiente de nuvem. Em alguns casos, podem existir milhares de arquivos de configuração.
  • Crie um ambiente de preparação para teste. Uma das grandes vantagens do IaC é que você pode criar rapidamente muitas instâncias de toda a sua infraestrutura, é simples criar um ambiente de teste e um ambiente de produção. Depois que o processo de revisão é concluído no ambiente de teste, transferi-lo para uma configuração ao vivo é um processo que ocorre com o apertar de um botão.
  • Inspecione um ambiente IaC antes de provisionar para produção para que ele se alinhe com as políticas de segurança. O processo de inspeção deve incluir uma revisão que garanta que uma política seja traduzida corretamente em um controle e que o controle seja incorporado corretamente no arquivo de configuração. Por exemplo, uma organização pode verificar se os dados confidenciais não estão armazenados em texto não criptografado ou se os segredos não estão expostos. É fundamental realizar uma revisão completa para que uma nova configuração ou configuração não introduza um novo problema.
  • Adicione os valores corretos. O próximo passo é corrigir o problema real. Isso pode ser algo tão simples quanto criptografar um banco de dados que não foi criptografado anteriormente ou algo tão complicado quanto alterar uma configuração específica em todas as máquinas virtuais ou dispositivos de armazenamento em uma determinada região ou país. Terminada esta análise, é possível atualizar os arquivos de configuração ou criar novos.
  • Implante o código novo ou atualizado. Depois de fazer as alterações necessárias, é hora de enviar os arquivos de configuração novos ou atualizados. Embora o IaC torne essa tarefa muito mais fácil, é importante garantir que a atualização vá para o lugar certo e que seja implantada conforme o esperado, como parte de um processo gerenciado de CI/CD.

Embora a IaC forneça grandes avanços para implantar e gerenciar os ambientes de TI e de nuvem altamente complexos de hoje, ela não aborda problemas de segurança e erros de configuração que inevitavelmente ocorrerão . No entanto, com os processos, procedimentos e ferramentas corretos, é possível automatizar a detecção e correção de riscos de segurança até mesmo nas maiores implantações de IaC.

FONTE: DARK READING

POSTS RELACIONADOS