SEC01-BP06 Automatizar a implantação de controles de segurança padrão - Framework Well-Architected da AWS

SEC01-BP06 Automatizar a implantação de controles de segurança padrão

Aplique práticas modernas de DevOps ao desenvolver e implantar controles de segurança que são padrão em seus ambientes da AWS.  Defina controles e configurações de segurança padrão usando modelos de infraestrutura como código (IaC), capture alterações em um sistema de controle de versão, teste as alterações como parte de um pipeline de CI/CD e automatize a implantação de mudanças em seus ambientes da AWS.

Resultado desejado: os modelos de IaC capturam controles de segurança padronizados e os comprometem com um sistema de controle de versão.  Os pipelines de CI/CD estão em locais que detectam mudanças e automatizam os testes e a implantação de seus ambientes da AWS.  Barreiras de proteção estão em vigor para detectar e emitir alertas sobre configurações incorretas nos modelos antes de prosseguir com a implantação.  As workloads são implantadas em ambientes em que há controles padrão em vigor.  As equipes têm acesso para implantar configurações de serviço aprovadas por meio de um mecanismo de autoatendimento.  Existem estratégias seguras de backup e recuperação para controlar configurações, scripts e dados relacionados.

Práticas comuns que devem ser evitadas:

  • Fazer alterações manuais nos controles de segurança padrão por meio de um console da web ou uma interface de linha de comandos.

  • Contar com equipes de workload individuais para implementar manualmente os controles definidos por uma equipe central.

  • Contar com uma equipe central de segurança para implantar controles em nível de workload a pedido de uma equipe de workload.

  • Permitir que as mesmas pessoas ou equipes desenvolvam, testem e implantem scripts de automação de controle de segurança sem a separação adequada de deveres ou freios e contrapesos. 

Benefícios de implementar esta prática recomendada: o uso de modelos para definir seus controles de segurança padrão permite rastrear e comparar as alterações ao longo do tempo usando um sistema de controle de versão.  Usar a automação para testar e implantar alterações gera padronização e previsibilidade, aumentando as chances de uma implantação bem-sucedida e reduzindo as tarefas manuais repetitivas.  Fornecer um mecanismo de autoatendimento para as equipes de workload implantarem serviços e configurações aprovados reduz o risco de configuração incorreta e uso indevido. Isso também ajuda as equipes a incorporar controles logo no início no processo de desenvolvimento.

Nível de risco exposto se esta prática recomendada não for estabelecida: Médio

Orientação para implementação

Ao seguir as práticas descritas em SEC01-BP01 Separar workloads por meio de contas, você acabará com várias Contas da AWS para diferentes ambientes que você gerencia usando o AWS Organizations.  Embora cada um desses ambientes e workloads possam precisar de controles de segurança distintos, você pode padronizar alguns deles em toda a sua organização.  Isso inclui integração de provedores de identidades centralizados, definição de redes e firewalls e configuração de locais padrão para armazenar e analisar logs.  Da mesma forma que você pode usar infraestrutura como código (IaC) para aplicar o mesmo rigor do desenvolvimento do código da aplicação ao provisionamento da infraestrutura, você também pode usar o IaC para definir e implantar seus controles de segurança padrão.

Sempre que possível, defina seus controles de segurança de forma declarativa, como em AWS CloudFormation, e armazene-os em um sistema de controle de origem.  Use práticas de DevOps para automatizar a implantação de seus controles para obter lançamentos mais previsíveis, realizar testes automatizados usando ferramentas como o AWS CloudFormation Guard e detectar desvios entre os controles implantados e a configuração desejada.  É possível usar serviços como AWS CodePipeline, AWS CodeBuild e AWS CodeDeploy para construir um pipeline de CI/CD. Considere a orientação em Organizar seu ambiente da AWS usando várias contas para configurar esses serviços em suas próprias contas, separadas de outros pipelines de implantação.

Você também pode definir modelos para padronizar a definição e a implantação de serviços, configurações e Contas da AWS.  Essa técnica permite que uma equipe central de segurança gerencie essas definições e as forneça às equipes de workload por meio de uma abordagem de autoatendimento.  Uma maneira de conseguir isso é usar o Service Catalog, onde você pode publicar modelos como produtos que as equipes de workload podem incorporar em suas próprias implantações de pipeline.  Se você estiver usando o AWS Control Tower, alguns modelos e controles estarão disponíveis como ponto de partida.  O Control Tower também fornece o recurso Account Factory, permitindo que as equipes de workload criem novas Contas da AWS usando os padrões definidos por você.  Com esse recurso, não é preciso depender de uma equipe central para aprovar e criar contas quando elas são identificadas como necessárias pelas equipes de workload.  Talvez essas contas precisem isolar diferentes componentes da workload com base em motivos como a função que eles desempenham, a confidencialidade dos dados que estão sendo processados ou o comportamento desses componentes.

Etapas de implementação

  1. Determine como você armazenará e manterá os modelos em um sistema de controle de versão.

  2. Crie pipelines de CI/CD para testar e implantar modelos.  Defina testes para verificar se há configurações incorretas e se os modelos estão de acordo com os padrões da sua empresa.

  3. Crie um catálogo de modelos padronizados para as equipes de workload implantarem serviços e Contas da AWS de acordo com suas necessidades.

  4. Implemente estratégias seguras de backup e recuperação para suas configurações de controle, scripts e dados relacionados.

Recursos

Práticas recomendadas relacionadas:

Documentos relacionados:

Exemplos relacionados:

Ferramentas relacionadas: