Pular para o conteúdo principal

🔐 Recomendações Avançadas para IaC Seguro

Este anexo apresenta práticas reforçadas para segurança em projetos de Infraestrutura como Código (IaC). As recomendações aqui descritas não são obrigatórias, mas devem ser consideradas em:

  • Organizações com elevada maturidade de segurança;
  • Ambientes regulados ou com requisitos de certificação;
  • Projetos com elevada exposição ou risco (ex: infraestrutura crítica);
  • Cadeias de fornecimento que exijam prova de conformidade (ex: SLSA, ISO 27001, DSOMM nível 3).

📌 Enforcement político e semântico com OPA / Sentinel

TemaDescrição
OPA com regras Rego detalhadasCriar regras por tipo de recurso, ambiente, projeto
Enforcement com Sentinel (TFC/TFE)Aplicar políticas de organização com gate de execução Terraform
Linters com rulesets adaptadosUso de Conftest, Checkov ou tfsec com perfil customizado por projeto
Comparação com baseline de segurançaValidar desvios face a política por repositório/projeto
Integração com CI/CDCI falha caso a execução viole políticas

🎯 Reforça a confiança, uniformiza a aplicação de regras, permite provas de conformidade.


📊 Proveniência e rastreabilidade reforçada

TemaDescrição
Hash e retenção dos ficheiros planCada execução deve gerar ficheiro plan com hash e retenção por versão
Metadata de execuçãoCommit, branch, tag, utilizador, runner e hash associados ao plano aplicado
Versão do template IaCIncluir no repositório e no artefacto em deploy
Registo inviolável de aplicaçãoGuardar o plan e apply efetivos em repositório auditável

📎 Facilita auditoria, rollback, comprovação de estado e análise forense.


🔁 Integração com custo e “drift”

TemaDescrição
Integração com InfracostComparar custo estimado por plan com baseline aprovado
Detecção contínua de driftMonitorização ativa de diferenças entre código e infraestrutura real
Alertas por modificações fora do GitVerificação se apply ocorreu fora de PRs ou pipeline

🧩 A integração com custo e drift permite deteção precoce de anomalias, controlo financeiro e técnico.


🔐 Segurança na proveniência de módulos

TemaDescrição
Geração de SBOM dos templatesRegistar módulos, recursos, providers usados em formato legível
Validação semântica de providersBloqueio de versões não auditadas ou não testadas
Substituição de fontes externasEspecificar mirrors internos, registos privados, repositórios confiáveis
Auditoria de mudanças em módulosValidar se mudanças introduzem configurações inseguras (ex: ACLs abertas)

💡 Estas práticas ajudam a tratar módulos IaC como software e sujeitos a SDLC seguro.


🧪 Testes programáticos de infraestrutura

TemaDescrição
terratest com GoTestes de aplicação e rollback de recursos, validando outputs e rotas
opa test para políticasTestes unitários para regras de segurança escritas em Rego
kitchen-terraformTestes de integração de ambientes provisórios
Integração no pipelineTestes automáticos por PR ou release, com logs e resultados arquivados

🧬 Garante que a infraestrutura provisionada é funcional e segura, validando o comportamento além da sintaxe.


📋 Governação de exceções técnicas

TemaDescrição
Validação de exceções com cicloCada exceção com owner, prazo, revisão formal
Auditoria de execuções com bypassLogs de bypass ou flags forçadas analisadas periodicamente
Automação de reapreciaçãoJobs que sinalizam exceções expiradas ou por rever
Relatórios de exceções por stackDashboards de conformidade por projeto e ambiente

🧾 A governação contínua de exceções assegura que "security debt" técnico é visível, rastreável e revisto.


✅ Conclusão

Estas recomendações não são obrigatórias, mas constituem reforços valiosos para equipas com maturidade elevada ou que operam em contextos regulados.

📌 A sua aplicação reforça diretamente os domínios Design & Development, Build & Test e Operate & Monitor do OWASP DSOMM, permitindo atingir maturidade de nível 3 em práticas de segurança aplicadas a IaC.

Para aplicações com classificacão de risco L3, recomenda-se considerar um subconjunto destas práticas como baseline obrigatória.