Introdução

Olá! Recentemente, tenho mergulhado no universo do Terraform e descobri ferramentas incríveis que podem elevar a segurança e a conformidade da nossa infraestrutura para outro nível.

Mas, antes de tudo, vale lembrar: ferramentas são apenas parte da equação. Sem processos bem definidos, até mesmo o "cinto de utilidades do Batman" pode se tornar inútil. Saber quando e por que usar cada ferramenta é tão importante quanto tê-las à disposição.

Aqui estão algumas ferramentas que podem fazer a diferença na sua jornada!


Segurança & Compliance

Checkov

O Checkov é como um "detetive digital" para seus arquivos de infraestrutura como código (IaC). Ele analisa e identifica configurações que podem comprometer a segurança ou a conformidade, com mais de 750 políticas predefinidas e a possibilidade de criar suas próprias regras.

Principais Recursos

  • Compatível com diversos formatos: Terraform, CloudFormation, Kubernetes, Docker, entre outros.
  • Integração com pipelines de CI/CD.
  • Relatórios detalhados com links para guias de correção.

Exemplos de Uso

Usando Docker

docker pull bridgecrew/checkov
docker run --tty --rm --volume $(pwd):/tf --workdir /tf bridgecrew/checkov --directory /tf

Escaneando um diretório ou arquivo específico

checkov --directory /user/path/to/iac/code
checkov --file /user/tf/example.tf

Escaneando um plano Terraform em formato JSON

terraform init
terraform plan -out tf.plan
terraform show -json tf.plan > tf.json
checkov -f tf.json

Personalizando verificações

  • Executar verificações específicas:
checkov --directory . --check CKV_AWS_20,CKV_AWS_57
  • Ignorar verificações específicas:
checkov -d . --skip-check CKV_AWS_20

Documentação oficial


tfsec

O tfsec, desenvolvido pela Aqua Security, é uma ferramenta poderosa para identificar permissões excessivas e configurações inseguras em arquivos Terraform. Ele é como um "guarda-costas digital" para sua infraestrutura.

Principais Recursos

  • Suporte a múltiplos provedores de nuvem.
  • Avaliação de expressões HCL e funções Terraform.
  • Integração com IDEs e pipelines CI/CD.

Usando Docker

docker run --rm -v $(pwd):/tfsec aquasec/tfsec

Repositório oficial


Trivy

O Trivy é uma ferramenta multifuncional que escaneia desde imagens de contêiner até repositórios Git e clusters Kubernetes. Ele é como um "canivete suíço" para segurança.

Exemplos de Uso

  • Escaneando uma imagem Docker:
trivy image python:3.4-alpine
  • Escaneando vulnerabilidades, segredos e configurações:
trivy fs --scanners vuln,secret,misconfig myproject/

Repositório oficial


Terrascan

O Terrascan é uma ferramenta que ajuda a identificar configurações incorretas e vulnerabilidades antes mesmo de você provisionar sua infraestrutura. Pense nele como um "consultor de segurança" para IaC.

Principais Recursos

  • Mais de 500 políticas de segurança.
  • Suporte a Terraform, CloudFormation, Kubernetes, Docker, entre outros.
  • Integração com pipelines CI/CD.

Exemplos de Uso

  • Instalação como executável nativo:
curl -L "$(curl -s https://api.github.com/repos/tenable/terrascan/releases/latest | grep -o -E "https://.+?_Darwin_x86_64.tar.gz")" > terrascan.tar.gz
  tar -xf terrascan.tar.gz terrascan && rm terrascan.tar.gz
  install terrascan /usr/local/bin && rm terrascan
  terrascan
  • Escaneando um repositório Git:
terrascan scan

Documentação oficial


Se você chegou até aqui, tenho uma surpresa para você! Estou montando um repositório com todas as ferramentas que encontrei ao longo da minha jornada, cobrindo Terraform, Kubernetes, Docker, segurança e muito mais. O repositório é público, e você está convidado a contribuir com suas descobertas.

Repositório no GitHub

Site do projeto