Recursos, casos de uso e políticas personalizadas

Neste artigo, vamos analisar o Terrascan. Vamos perguntar o que é, por que você pode usá-lo, como instalá-lo e como utilizar seus recursos. Em seguida, vamos examinar alguns exemplos de casos de uso, mostrando como usá-lo para escanear Terraform, Kubernetes (K8S) e Helm charts. Em seguida, vamos definir algumas políticas personalizadas e, por fim, detalhar como o Terrascan se compara a outros produtos similares, como Chekov e TFSec.

O que é o Terrascan?

Terrascan é uma ferramenta de análise de código estático de código aberto, projetada para Infraestrutura como Código (IaC). O slogan do site do Terrascan resume bem o que ele faz:

“Detecte violações de conformidade e segurança na Infraestrutura como Código (IaC) para mitigar riscos antes de provisionar a infraestrutura nativa da nuvem.”

Uma das palavras-chave aqui é “antes”. O objetivo do Terrascan é alertá-lo sobre quaisquer problemas de conformidade ou segurança antes que a infraestrutura seja provisionada, para que você possa corrigi-los e evitar problemas.

O Terrascan é de propriedade da Tenable, que por sua vez é membro da Cloud Native Computing Foundation (CNCF) e da Open Source Security Foundation (OpenSSF).

Para que é usado o Terrascan?

Terrascan ajuda desenvolvedores e equipes de DevOps a garantir que seu código de infraestrutura siga as melhores práticas, padrões de segurança e requisitos de conformidade. O Terrascan oferece mais de 500 políticas prontas para uso, permitindo que você escaneie a IaC em relação a padrões de políticas comuns, como o CIS Benchmark. Na primeira vez que você usar o Terrascan, se a flag -p não for especificada, o Terrascan fará o download das políticas mais recentes do repositório do Terrascan. Você pode atualizar seu ambiente local para as políticas mais recentes publicadas no repositório executando o comando terrascan init.

Terrascan features

Suporte Multicloud e Diversidade de Código: Terrascan pode ser utilizado com diversos provedores de nuvem e tipos de código, incluindo AWS, Azure, Google Cloud Platform (GCP), K8S, ArgoCD, Atlantis, GitHub e Docker, tornando-o versátil para implantações de infraestrutura multi-nuvem.

Regras de Segurança e Conformidade Personalizáveis: Oferece uma biblioteca de regras predefinidas de segurança e conformidade que podem ser customizadas para atender requisitos específicos. Essas regras abrangem aspectos como criptografia, controles de acesso, configurações de recursos, entre outros.

Integração em Pipelines CI/CD e IDEs: Pode ser integrado em pipelines de CI/CD, IDEs e outros fluxos de trabalho de desenvolvimento e implantação. Isso permite a análise automatizada e validação do código IaC como parte do processo de desenvolvimento.

Monitoramento Contínuo da Infraestrutura: Permite o monitoramento contínuo da infraestrutura em nuvem, realizando verificações regulares para identificar desvios ou alterações de configuração que possam introduzir vulnerabilidades ou problemas de conformidade.

Relatórios e Remediação: Gera relatórios detalhados que destacam problemas encontrados durante a análise. Além disso, fornece orientação sobre como remediar esses problemas, auxiliando as equipes a abordarem eficazmente preocupações de segurança e conformidade.

Terrascan vs Checkov

No contexto geral, Terrascan e Checkov são ferramentas de análise estática de código aberto projetadas para segurança e conformidade de Infraestrutura como Código (IaC).

Checkov foca mais no Terraform, mas é capaz de analisar vários tipos de arquivos, incluindo CloudFormation (incluindo AWS SAM), Azure Resource Manager (ARM), Serverless framework, Helm charts, K8S e Docker. Checkov é um projeto de código aberto impulsionado pela comunidade, com contribuições ativas e uma forte presença na comunidade DevSecOps.

Checkov é desenvolvido em Python, enquanto Terrascan utiliza Go, e políticas personalizadas são escritas em Rego. Se você prefere utilizar Rego para construir suas políticas personalizadas, então Terrascan é uma boa escolha.

Terrascan vs tfsec

TFSec é outra ferramenta de análise de código estático de código aberto a considerar. Assim como o Terrascan, o TFSec é escrito em GO e utiliza definições YAML para suas políticas personalizadas, ao contrário do Rego utilizado pelo Terrascan.

Usuários familiarizados com o K8S podem preferir escrever políticas usando YAML em vez de aprender Rego, o que pode ser um motivo para selecionar o TFSec. Além disso, é o projeto mais popular do que tanto o Checkov quanto o Terrascan na comunidade, com o maior número de estrelas no GitHub.

Key points

Terrascan é uma ferramenta de análise de código estático de código aberto muito flexível e poderosa, projetada para escanear modelos e configurações de Infraestrutura como Código (IaC). Ajuda a identificar vulnerabilidades de segurança, violações de conformidade e problemas de melhores práticas no código IaC. Pode ser usado com vários tipos de arquivos de configuração, oferece políticas integradas e também permite o uso de políticas personalizadas usando Rego. É compatível com pipelines de automação em sistemas de CI/CD.

“Originalmente publicado em spacelift.io.”

Cursos e treinamentos

Compartilhe esse conteúdo

Posts Relacionados

O que é OpenTelemetry

OpenTelemetry é um projeto open-source criado pela Cloud Native Computing Foundation (CNCF) que fornece uma coleção de ferramentas, APIs e

LER MAIS