Aprimoramentos na análise do Snyk IaC incluem infraestrutura como código para Azure e AWS
23 de fevereiro de 2021
0 minutos de leituraRecentemente, 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.

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.
