DevSecOps

O tema DevSecOps é amplo, envolvendo a equipe de desenvolvimento, segurança e operações para trabalhar juntos em ciclos de implantação contínua, onde as funções exigidas por cada uma dessas equipes são automatizadas, como construção/compilação, provisionamento e configuração de infraestrutura, testes de qualidade, testes de segurança, monitoramento, etc.

A recomendação específica relacionada a este ponto é que eles adotem em sua organização o modo de trabalhar com processos de implantação contínua (pipelines), implementação de microsserviços com baixa coesão e garantindo que como parte dessa implantação a segurança seja levada em consideração em diferentes aspectos que nós veremos abaixo:

Hardening do sistema operacional na pipeline

Se você implantar o código em instâncias, tome as seguintes precauções:

  • As instâncias básicas a serem usadas devem ser criadas periodicamente com componentes atualizados para evitar vulnerabilidades relacionadas a erros conhecidos. Para isso, eles podem usar EC2 Image Builder
  • Como parte da implantação em EC2 Image Builder você pode adicionar o agente do Amazon Inspector para executar verificações periodicamente para garantir que não haja vulnerabilidades de sistema operacional ou aplicativo na instância.
  • Aplique configurações de segurança para fortalecer a postura de segurança do sistema operacional. Um bom ponto de partida são os guias do Center for Internet Security (CIS) . Amazon Inspector pode verificar o alinhamento com os padrões do sistema operacional CIS para confirmar que eles foram aplicados.

Execute testes de segurança em aplicações como parte do pipeline

Eles podem realizar testes de segurança no Código (Static Application Security Testing), com ferramentas como Veracode ou Fortify análise dinâmica (DAST) com ferramentas como Aqua ou Acunetix , o ponto-chave é que ele é feito como parte de seu processo de implantação, e que qualquer vulnerabilidade alta ou crítica interrompe a transição para a produção.

Quanto mais cedo as vulnerabilidades forem encontradas, mais conveniente será para remediação no esforço, economicamente e em tempos.

Ele também agrega valor que as ferramentas verificam as bibliotecas de código aberto usadas e relatam suas vulnerabilidades.

A AWS tem um serviço chamado AWS CodePipeline que permite a orquestração desses processos de implantação contínua automaticamente. Exemplo:

DevSecOps Pipeline

DevSecOps Workshop

https://devops.awssecworkshops.com/

Implantando componentes de segurança

Se você souber alguma vulnerabilidade em um aplicativo para implantar que ainda não possa ser corrigida (por exemplo, quando há uma dependência de terceiros), você pode implantar como parte das regras personalizadas do WAF no pipeline para incorporar e proteger a aplicação até que o erro de código seja corrigido.

Exemplo: AWS Blog

Um exemplo de implantação da infraestrutura de proteção como parte do processo de implantação contínua (CI/CD), compartilho o seguinte blog que implanta Web ACLs: How to use CI/CD to deploy and configure AWS security services with Terraform