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
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
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/
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
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.