Boas Práticas de Segurança e Qualidade no Terraform.

Boas Práticas de Segurança e Qualidade no Terraform.


Olá, ultimamente tenho trabalhado bastante com Terraform e encontrei algumas ferramentas bacanas que podem auxiliar, trazendo mais qualidade e segurança para a infraestrutura em Terraform. trouxe algumas ferramentas para compartilhar.

Não vou chover no molhado, você pode consultar o repositório oficial para saber mais sobre instalação, configurações, como usar determinadas flags, o que verificar ou o que pular. Se você, assim como eu, só quer bater o olho e entender rapidamente como essas ferramentas podem ajudar, vem comigo.



Checkov

Falando brevemente, o Checkov é uma ferramenta de segurança para Infraestrutura como Código (IaC). Ele analisa arquivos de configuração de infraestrutura e fornece feedback sobre possíveis problemas de segurança. Além disso, também realiza a análise de Dockerfiles e outros pacotes de software utilizados no projeto.



Verificando uma pasta ou arquivo

checkov --directory terra-test
checkov --file main.tf
Enter fullscreen mode

Exit fullscreen mode

ImageImageImage
Link do repo



tfsec

É semelhante ao Checkov, mas com um foco maior em Terraform. Além disso, ele oferece suporte a outros tipos de arquivos de configuração de infraestrutura, análise de Dockerfiles e verificação de pacotes de software utilizados no projeto.

 docker run --rm -it -v "$(pwd):/src" aquasec/tfsec /src
Enter fullscreen mode

Exit fullscreen mode

ImageImage

Link do repo



tflint

O TFLint é uma ferramenta de linting para Terraform, usada para verificar o código em busca de erros, práticas inadequadas ou inconsistências. Ela ajuda a garantir que o código do Terraform siga boas práticas e que esteja livre de erros antes de ser aplicado. O TFLint pode ser integrado ao processo de CI/CD para validar o código de infraestrutura.

docker run --rm -v $(pwd):/data -t ghcr.io/terraform-linters/tflint
Enter fullscreen mode

Exit fullscreen mode

Image
Link do repo



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *