Skip to main content

Aprimoramentos na análise do Snyk IaC incluem infraestrutura como código para Azure e AWS

Escrito por
blog iac feat

23 de fevereiro de 2021

0 minutos de leitura

Recentemente, escrevi sobre Infraestrutura como Código (IaC) e como a análise do Snyk IaC pode ajudar a detectar problemas nos seus templates antes que eles cheguem à etapa de provisionamento. Nossa equipe de engenharia continua ampliando a cobertura das políticas de análise de IaC para proteger melhor suas plataformas contra vulnerabilidades e outros problemas.

Neste post, vamos revisar a ferramenta de análise de IaC, conferir as novidades recentes — incluindo infraestrutura como código para Azure, GCP e AWS — e ver como suas equipes podem usá-la ativamente nos esforços de DevSecOps da empresa.

Por que devo analisar IaC?

Os templates de IaC contêm o estado declarativo desejado para a execução dos seus aplicativos em diferentes ambientes de implantação. Gosto de pensar neles — assim como em outros artefatos, como Dockerfiles — como manuais de execução automatizados, que reúnem todo o conhecimento tácito e os procedimentos associados às implantações manuais e os transformam em etapas padronizadas e repetíveis, que podem ser revisadas e testadas antes da execução. Isso também permite aplicar princípios de desenvolvimento de software, como revisões e aprovações de código, ao código da sua infraestrutura. As ferramentas de análise do Snyk fazem uma revisão automatizada, comparando seus templates de IaC existentes com nosso conjunto de políticas e práticas recomendadas. O resultado é um relatório com os problemas encontrados, descrições detalhadas e orientações para corrigi-los.

A maioria das preocupações com IaC não envolve “vulnerabilidades”, pelo menos não no sentido clássico da palavra. Em geral, quem usa IaC não se preocupa com uma vulnerabilidade de dia zero que afete de repente suas definições de IaC; o foco está mais na conformidade com as políticas e os padrões definidos pelas equipes de segurança e arquitetura. Na prática, isso significa que, em geral, queremos testar o código à medida que ele é alterado, o que combina bem com a execução de testes em pipelines quando há um push ou uma pull request.

No entanto, o Kubernetes pode atrapalhar até os planos mais bem elaborados. Um exemplo é a vulnerabilidade de ataque man-in-the-middle no serviço do Kubernetes, que pode ser explorada em todas as versões do Kubernetes. Identificada como CVE-2020-8554, ela foi divulgada publicamente em 8 de dezembro de 2020 e, enquanto escrevo este post, ainda não existe uma correção para essa vulnerabilidade. Para quem já tinha o monitoramento do Snyk IaC configurado, uma política atualizada foi adicionada rapidamente e os alertas começaram a ser enviados automaticamente como parte do recurso de análise contínua do Snyk no GitHub, mesmo sem ninguém iniciar uma análise manualmente.

Relatório de análise do Snyk IaC que destaca um serviço do Kubernetes usando um IP externo e o possível risco da CVE-2020-8554.
O relatório de problemas da verificação do Snyk IaC mostra um risco potencial de CVE-2020-8554.

Se você está começando com IaC e quer entender como funciona a análise do Snyk, confira este post sobre ferramentas de Infraestrutura como Código para saber mais.

Novidades na análise de segurança de infraestrutura como código

Inicialmente, o Snyk IaC analisava problemas relacionados a Kubernetes, Helm Charts e recursos do Terraform para AWS. Desde o lançamento, os engenheiros do Snyk vêm adicionando novas políticas e ampliando a cobertura da análise. Entre os aprimoramentos recentes estão:

Infraestrutura como código do Terraform para AWS

Mais de 100 políticas que abrangem áreas como:

  • controle de acesso e registro em log do S3

  • várias verificações de dados confidenciais (como segredos codificados diretamente e configurações fracas) no Lambda, EC2 e EKS

  • detecção da falta de criptografia em repouso em vários serviços

  • práticas inadequadas de privilégios do IAM

Infraestrutura como código do Terraform para Azure

Agora com suporte ao Azure, incluindo cobertura de:

  • práticas recomendadas de registro em log

  • práticas recomendadas para serviços de aplicativos

  • problemas relacionados a SSL e alertas no MYSQL

  • vários problemas do PostgresSQL, incluindo:

    • SSL

    • limitação de conexões

    • registro em log

  • problemas de acesso e criptografia de contas de armazenamento

Google Cloud Platform (GCP)

Também foram adicionados recursos do GCP, incluindo:

  • atribuição de usuários do IAM

  • problemas relacionados ao Kubernetes no GCP

Kubernetes

A cobertura para recursos do Kubernetes e do Helm continua evoluindo com novas políticas. Mais especificamente:

  • verificações de contêineres, incluindo:

    • porta SSH exposta

    • montagens de dispositivos do host

    • ausência de sondas de atividade

    • etc.

  • serviços com IP externo (a análise da CVE-2020-8554 mencionada acima)

  • verificações de PSP, como:

    • montagem de volumes com permissões excessivas

    • Seccomp

    • problemas com o AppArmor

    • permissão para usar o GID raiz nos processos dos contêineres

É simples analisar seu próprio código de IaC

No Snyk, temos orgulho de tornar a segurança simples de usar. Acreditamos que, ao oferecer aos desenvolvedores ferramentas que se encaixam nos seus fluxos de trabalho, podemos ajudá-los a combater ativamente vulnerabilidades e problemas de segurança desde a origem.

Você pode começar a analisar seus templates de IaC agora mesmo criando uma conta gratuita em Snyk.io.

Para saber mais sobre o que o Snyk fez neste ano, confira o artigo que meus colegas Jim Armstrong e Daniel Berman publicaram recentemente, com um resumo dos recursos e anúncios de Cloud Native que o Snyk apresentou em 2020.

Vamos fazer de 2021 o ano mais seguro até agora!

Proteja a infraestrutura desde a origem

A Snyk automatiza a segurança e a conformidade de IaC nos fluxos de trabalho e detecta recursos com configurações divergentes ou ausentes.

Publicado em: