Pular para o conteúdo principal

📘 Matriz de Requisitos Técnicos para Projetos IaC

Este catálogo define requisitos de segurança específicos para projetos de Infraestrutura como Código (IaC), que complementam os requisitos aplicacionais definidos no Capítulo 02.

Estes requisitos são aplicáveis diretamente ao código, estrutura e práticas dos próprios projetos IaC, e incluem aspetos tanto aplicacionais (ex: versionamento, validação) como infraestruturais (ex: controlo de estado, segregação de ambientes, enforcement de políticas).


📊 Requisitos por nível de risco

IDRequisitoL1L2L3Cap. 2?ReferênciasJustificação
IAC-001O projeto IaC deve usar backend remoto autenticado com locking ativado para controlo de estadoXX-SSDF PW.5, Terraform DocsEvita concorrência e drift em ambientes críticos
IAC-002Ambientes (dev, QA, prod) devem ser definidos de forma segregada e versionadaXXXREQ-004CIS 4.5, SSDF PM.2Impede alterações acidentais e permite revisão por ambiente
IAC-003Todas as alterações devem ser sujeitas a validações automáticas (syntax, lint, policy, segurança)XXXREQ-005SSDF PS.2, SLSA Build L2Reforça integridade e conformidade contínua
IAC-004Módulos reutilizados devem ter origem confiável (repositório interno, hash ou verificação manual)XX-SLSA Source L2, TerraformProtege contra código externo malicioso ou obsoleto
IAC-005O histórico de alterações deve ser completo, com tagging e releases rastreáveisXXXREQ-002GitOps, SSDF CM.1Suporta rollback e auditoria
IAC-006Devem existir convenções formais de nomeação, tagging e estrutura de diretóriosXX-Terraform Best PracticesFacilita automação, rastreabilidade e revisão
IAC-007O plano (terraform plan ou equivalente) deve ser rastreado e aprovado antes do applyXX-SSDF PW.6Garante controlo de alterações aplicadas
IAC-008O projeto IaC deve ter rastreabilidade entre ficheiros e os ambientes/recursos que afetamXX-SSDF CM.5Permite accountability e avaliação de impacto
IAC-009Devem existir políticas de enforcement aplicadas automaticamente (ex: OPA, Sentinel, Rego, Conftest)X-SSDF PW.5, SLSA L3Reduz risco de erro humano e aplica controlo em pipelines
IAC-010Os artefactos gerados (ex: plan, apply, manifests) devem ser armazenados com versionamento e hashXX-SLSA Provenance, SSDF PW.4Garante integridade e auditoria de mudanças em tempo

📎 Notas explicativas

  • IAC-001: aplica-se a projetos com múltiplos colaboradores e ambientes partilhados.
  • IAC-004: módulos não verificados podem conter configurações perigosas ou vulnerabilidades.
  • IAC-007: permite validar o que será alterado antes da execução e associar a change request.
  • IAC-009: enforcement automatizado evita drift organizacional e violações de política.
  • IAC-010: necessário para rastrear o impacto real do IaC aplicado em ambientes produtivos.

🧾 Exemplos de evidência

RequisitoEvidência sugerida
IAC-001Configuração de backend remoto (backend.tf) com locking ativado
IAC-003Log de execução de linter + scanner (ex: TFLint, tfsec, Checkov)
IAC-005Histórico Git com tags, releases e convenções de commits
IAC-007Aprovação manual ou automática do plan via Pull Request com diff visível
IAC-009Política OPA/Rego em CI/CD + resultados visíveis e bloqueio se não conforme

🔗 Relacionado com outros capítulos