c3.10 Construir um pipeline DevSecOps
DevSecOps significa desenvolvimento, segurança e operações trabalhando juntos em pipelines automatizados de entrega contínua, com a segurança incorporada desde o início de um release em vez de acrescentada no final. Incorpore hardening, testes de segurança e controles protetivos ao pipeline.
Guia de implementação
Automatize a segurança na entrega contínua
Adote pipelines de entrega contínua onde o build, o provisionamento, os testes de qualidade, os testes de segurança e o monitoramento sejam automatizados, e a segurança seja considerada desde o início de um release, não no final.
Comece pela orientação e pelos aceleradores da AWS
DevSecOps é uma metodologia, não um único serviço da AWS para "ligar". Para projetar e padronizar o seu pipeline, comece pelo material prescritivo da AWS:
- Designing a DevSecOps mechanism: orientação prescritiva para construir o mecanismo.
- AWS DevOps Pipeline Accelerator (DPA): templates que montam um pipeline CI/CD completo e padronizado para aplicações ou infraestrutura.
- AWS Well-Architected DevOps Guidance: o framework de boas práticas, com um ciclo de vida de desenvolvimento com segurança incorporada.
O AWS DevOps Agent complementa o pipeline do lado de operações: é um agente de IA que revisa a prontidão e os testes de release, e atua como engenheiro de plantão autônomo para resposta a incidentes e confiabilidade na AWS, multicloud e on-premises. Use-o para reforçar o "Ops" do DevSecOps; o seu encaixe mais profundo está nos controles de operações e resposta a incidentes (veja Automatizar playbooks críticos e Automações de segurança avançadas). Ele não substitui os testes de segurança do pipeline abaixo, que continuam sendo SAST/DAST/SCA e varredura de segredos.
Endureça a base no pipeline
Se você implanta em instâncias:
- Reconstrua as imagens base regularmente com patches atuais usando o EC2 Image Builder.
- Adicione o agente do Amazon Inspector para que as instâncias sejam continuamente verificadas quanto a vulnerabilidades do SO e das aplicações.
- Aplique hardening do SO (por exemplo benchmarks do CIS); o Inspector pode verificar o alinhamento.
Teste aplicações e bloqueie diante de descobertas críticas
Execute SAST e DAST mais análise de composição de software como parte do pipeline, e interrompa a promoção para produção quando uma vulnerabilidade alta ou crítica for encontrada. Quanto mais cedo uma falha é capturada, mais barato é corrigi-la. O AWS CodePipeline pode orquestrar essas etapas.
Implante controles protetivos como código
Quando uma vulnerabilidade conhecida ainda não pode ser corrigida (por exemplo uma dependência de terceiros), implante controles compensatórios —como regras personalizadas do AWS WAF— como parte do pipeline até a correção chegar. Veja usar CI/CD para implantar serviços de segurança da AWS com Terraform.
Como se encaixa
Assista
Como validar
- O pipeline escaneia aplicações em busca de vulnerabilidades (SAST/DAST/SCA)?
- Ele escaneia em busca de segredos enviados ao código?
- Ele bloqueia a promoção para produção quando vulnerabilidades críticas são encontradas?
- As imagens base são endurecidas e reconstruídas regularmente no pipeline?
Ameaças atendidas
- Aplicações web expostas colocam suas vulnerabilidades ao alcance dos adversários; sem controles de segurança no pipeline, o código com falhas chega à produção.
- As equipes de desenvolvimento raramente são especialistas em segurança e carecem de tempo para priorizar o código seguro sem automação que o imponha.
Serviços AWS
Mapeamentos de frameworks
AWS CAF
Well-Architected
NIST CSF
Referências
- docs.aws.amazon.com/prescriptive-guidance/latest/designing-a-devsecops-mechanism
- docs.aws.amazon.com/prescriptive-guidance/latest/devops-pipeline-accelerator/introduction.html
- docs.aws.amazon.com/wellarchitected/latest/devops-guidance/devops-guidance.html
- aws.amazon.com/devops-agent
- aws.amazon.com/codepipeline
- www.cisecurity.org/cis-benchmarks
- aws.amazon.com/blogs/security/how-use-ci-cd-deploy-configure-aws-security-services-terraform
Cloud Security Maturity Model