Infraestrutura segura como código
Quando a infraestrutura é código, a segurança dela também pode ser: revisada em PR, escaneada antes do apply e comparada com a realidade para pegar o que mudou por fora.
O que é
Infraestrutura como código () descreve redes, identidades, bancos e permissões em arquivos versionados, em vez de cliques em um console. Para segurança isso muda o jogo: a configuração passa a ter histórico, revisão por pares, testes e a mesma esteira do software.
O outro lado é que um erro no código se replica em escala: um módulo com um bucket público cria cem buckets públicos. Por isso o IaC precisa ser tratado como código sensível, com controles próprios.
Escanear antes do apply
Ferramentas de análise estática de IaC leem os arquivos (ou o plano do Terraform) e apontam configurações inseguras antes de qualquer recurso existir: grupos de segurança abertos para o mundo, armazenamento sem cifragem, políticas com curinga. É o da infraestrutura, e o mesmo princípio de shift-left se aplica.
# problema: SSH aberto para a internet
resource "aws_security_group_rule" "ssh_bad" {
type = "ingress"
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"] # <- scanner acusa
security_group_id = aws_security_group.app.id
}
# correção: só a rede de administração
resource "aws_security_group_rule" "ssh_ok" {
type = "ingress"
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = [var.admin_cidr]
security_group_id = aws_security_group.app.id
}O estado do Terraform é sensível
O arquivo de estado guarda o que o Terraform criou, e isso pode incluir segredos em texto (senhas geradas, chaves). Ele não deve ir para o repositório. Use um backend remoto cifrado, com controle de acesso estrito e bloqueio de concorrência, e dê ao pipeline apenas as permissões que o plano realmente precisa.
terraform {
backend "s3" {
bucket = "minha-org-tfstate"
key = "prod/network.tfstate"
region = "us-east-1"
encrypt = true
dynamodb_table = "tfstate-lock" # bloqueio contra apply simultâneo
}
}Drift: o que mudou por fora
Alguém altera um recurso no console durante um incidente e esquece de voltar. O estado real diverge do código (drift), e o código deixa de ser a verdade. Rodar um plano periódico, ou ferramentas de detecção de drift, transforma essa divergência em alerta, e o postura da nuvem () olha o mesmo problema pelo lado do ambiente.
Módulos aprovados
- Módulos internos com os padrões seguros embutidos (cifragem, logs, tags de dono): o caminho seguro vira o caminho fácil.
- Versões fixadas de módulos e providers, com revisão para atualizá-las.
- Permissões mínimas para a identidade que executa o apply, separadas por ambiente.
- Revisão obrigatória e plano anexado ao PR para que o revisor veja o efeito real.
conexões no mapa
- Infraestrutura segura como códigoé validado porPolicy as code
- Infraestrutura segura como códigopassa pelaHardening de CI/CD
atualizado em 14/10/2026 · fontes para aprofundar · reportar erro
em outros domínios
- Infraestrutura como códigodevopsa base; o outro cuida de escaneá-la e protegê-la
- A02 Security Misconfigurationowaspconfiguração segura nasce no código de infraestrutura
- CSPM — postura cloudcloudseco CSPM vê o ambiente; o IaC seguro corrige na origem e pega o drift
Estude antes
Desbloqueia
teste o que entendeu
Carregando perguntas…