luizmachado.dev

Mastering DevSecOps in AWS: Policies-as-Code, SAST e Observabilidade Integrada

Neste post, vamos abordar:

📜 Policies-as-Code com CloudFormation Guard e Open Policy Agent

🔍 SAST com Amazon Inspector Code e ferramentas externas

👀 Observabilidade com CloudWatch, X-Ray e integração com Security Hub

🛠️ Exemplos de fluxo prático para aplicar esses conceitos

1. Policies-as-Code: segurança como código

Definir políticas de segurança como código é um pilar do DevSecOps moderno. Isso garante que:

  • Todo recurso criado esteja conforme os padrões definidos
  • A validação ocorra antes do deploy
  • Possamos versionar e auditar as regras aplicadas
Ferramentas comuns:
  • AWS Config + Config Rules – Audita automaticamente o estado da infraestrutura.
  • CloudFormation Guard – Valida templates CloudFormation antes de aplicar.
  • OPA (Open Policy Agent) – Permite aplicar polĂ­ticas a mĂşltiplas fontes (Terraform, Kubernetes, etc.).
  • Terraform Sentinel – Para quem usa Terraform Enterprise.

Exemplo prático: validando que buckets S3 devem estar com blockPublicAccess habilitado com Cfn-Guard

[rule.s3_block_public_access]

let bucket = Resources.*[ Type == "AWS::S3::Bucket" ]

bucket.Properties.PublicAccessBlockConfiguration.BlockPublicAcls == true

bucket.Properties.PublicAccessBlockConfiguration.BlockPublicPolicy == true

2. SAST: detecção de vulnerabilidades no código-fonte

O que Ă© SAST?

SAST (Static Application Security Testing) analisa o código sem executar a aplicação, em busca de padrões inseguros, credenciais hardcoded, uso de libs vulneráveis e outras falhas.