

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Tema 2: gerenciar infraestrutura imutável por meio de pipelines seguros
<a name="theme-2"></a>

**Estratégias Essential Eight abordadas**  
Controle de aplicações, aplicações de patches, sistemas operacionais de patches

Para uma infraestrutura imutável, você deve proteger os pipelines de implantação para alterações no sistema. AWS O ilustre engenheiro, Colm MacCárthaigh, explicou esse princípio na apresentação de [Operações com privilégio zero: execução de serviços sem acesso a dados (YouTubevídeo) na conferência re:Invent](https://www.youtube.com/watch?v=kNbNWxVQP4w) de 2022. AWS 

Ao restringir o acesso direto para configurar AWS recursos, você pode exigir que todos os recursos sejam implantados ou alterados por meio de pipelines aprovados, protegidos e automatizados. Normalmente, você cria políticas do [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) que permitem que os usuários acessem apenas a conta que hospeda o pipeline de implantação. Você também configura políticas do IAM que [permitem acesso de emergência](https://docs.aws.amazon.com/whitepapers/latest/organizing-your-aws-environment/break-glass-access.html) a um número limitado de usuários. Para evitar alterações manuais, você pode usar grupos de segurança para bloquear o acesso SSH e via protocolo de desktop remoto (RDP) do Windows aos servidores. O [Gerenciador de Sessões](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) AWS Systems Manager, um recurso do, pode fornecer acesso às instâncias sem a necessidade de abrir portas de entrada ou manter os bastion hosts.

As imagens de máquina da Amazon (AMIs) e imagens de contêineres devem ser criadas com segurança e repetição. Para instâncias do Amazon EC2, você pode usar o [EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/what-is-image-builder.html) para criar AMIs que tenham recursos de segurança integrados, como descoberta de instâncias, controle de aplicativos e registro em log. Para obter mais informações sobre controle da aplicação, consulte [Implementing Application Control](https://www.cyber.gov.au/resources-business-and-government/maintaining-devices-and-systems/system-hardening-and-administration/system-hardening/implementing-application-control) no site do ACSC. Você também pode usar o Image Builder para criar imagens de contêineres e usar o [Amazon Elastic Container Registry (Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)) para compartilhar essas imagens entre contas. Uma equipe de segurança central pode aprovar o processo automatizado para criar essas imagens AMIs e as imagens de contêiner, de forma que qualquer AMI ou imagem de contêiner resultante seja aprovada para uso pelas equipes de aplicativos.

As aplicações devem ser definidas na infraestrutura como código (IaC), usando serviços como o [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) ou o [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html). Ferramentas de análise de código AWS CloudFormation Guard, como cfn-nag ou cdk-nag, podem testar automaticamente o código de acordo com as melhores práticas de segurança em seu pipeline aprovado.

Assim como acontece com [Tema 1: usar serviços gerenciados](theme-1.md), o Amazon Inspector pode relatar vulnerabilidades em todas as suas Contas da AWS. As equipes centralizadas de nuvem e segurança podem usar essas informações para verificar se a equipe de aplicações está atendendo aos requisitos de segurança e conformidade.

Para monitorar e relatar a conformidade, realize análises contínuas dos recursos e logs do IAM. Use AWS Config regras para garantir que somente AMIs os aprovados sejam usados e certifique-se de que o Amazon Inspector esteja configurado para verificar se há vulnerabilidades nos recursos do Amazon ECR.

## Melhores práticas relacionadas no AWS Well-Architected Framework
<a name="theme-2-best-practices"></a>
+ [OPS05- BP04 Use sistemas de gerenciamento de construção e implantação](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_dev_integ_build_mgmt_sys.html)
+ [REL08- BP04 Implemente usando infraestrutura imutável](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_tracking_change_management_immutable_infrastructure.html)
+ [SEC06- BP03 Reduzir o gerenciamento manual e o acesso interativo](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_compute_reduce_manual_management.html)

## Implementação deste tema
<a name="theme-2-implementation"></a>

### Implemente a AMI e os pipelines de criação de contêineres
<a name="t2-ami-pipelines"></a>
+ [Use o EC2 Image](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-image-pipeline.html) Builder e inclua o seguinte em AMIs seu:
  + [AWS Systems Manager Agente (Agente SSM)](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html), que é usado para descoberta e gerenciamento de instâncias
  + [Ferramentas de segurança para controle de aplicativos, como [Security Enhanced Linux (SELinux) (GitHub)](https://github.com/SELinuxProject), [File Access Policy Daemon (fapolicyd) ()](https://github.com/linux-application-whitelisting/fapolicyd/blob/main/README.md) ou OpenSCAP GitHub](https://www.open-scap.org/)
  + [Amazon CloudWatch Agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html), que é usado para registro
+ Para todas as instâncias do EC2, inclua as políticas `CloudWatchAgentServerPolicy` e `AmazonSSMManagedInstanceCore` no [perfil de instância ou no perfil do IAM](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-permissions.html) que o Systems Manager usa para acessar sua instância
+ [Compartilhe AMIs com toda a organização](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/share-amis-with-organizations-and-OUs.html)
+ [Compartilhe recursos do EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/manage-shared-resources.html)
+ [Certifique-se de que as equipes de aplicativos estejam referenciando as últimas AMIs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/walkthrough-custom-resources-lambda-lookup-amiids.html)
+ [Use seu pipeline de AMI para gerenciamento de patches](https://docs.aws.amazon.com/imagebuilder/latest/userguide/security-patch-management.html)
+ Implemente pipelines de criação de contêineres:
  + [Crie um pipeline de imagem de contêiner usando o assistente de console do EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-container-pipeline.html)
  + [Crie um pipeline de entrega contínua para suas imagens de contêiner usando o Amazon ECR como fonte](https://aws.amazon.com/blogs/devops/build-a-continuous-delivery-pipeline-for-your-container-images-with-amazon-ecr-as-source/) (postagem AWS no blog)
+ [Compartilhar imagens de contêineres do ECR em toda a organização por meio de arquiteturas com várias contas e várias regiões](https://aws.amazon.com/blogs/containers/amazon-ecr-in-multi-account-and-multi-region-architectures/)

### Implementar pipelines seguros de criação de aplicações
<a name="t2-secure-pipelines"></a>
+ Implemente pipelines de criação para IaC, como usando o [EC2 Image Builder e AWS CodePipeline](https://aws.amazon.com/blogs/mt/create-immutable-servers-using-ec2-image-builder-aws-codepipeline/) (postagem do blog)AWS 
+ Use ferramentas de análise de código [AWS CloudFormation Guard](https://docs.aws.amazon.com/cfn-guard/latest/ug/what-is-guard.html), como [cfn-nag](https://github.com/stelligent/cfn_nag) (GitHub) ou [cdk-nag](https://github.com/cdklabs/cdk-nag) (GitHub), em CI/CD pipelines para ajudar a detectar violações das melhores práticas, como:
  + Políticas do IAM que são muito permissivas, como as que usam curingas
  + Regras de grupo de segurança que são muito permissivas, como as que usam curingas ou permitem acesso SSH
  + Logs de acesso que não estão habilitados
  + Criptografia que não está habilitada
  + Literais de senha
+ [Implemente ferramentas de digitalização em pipelines](https://aws.amazon.com/blogs/devops/building-end-to-end-aws-devsecops-ci-cd-pipeline-with-open-source-sca-sast-and-dast-tools/) (postagem AWS no blog)
+ [Use AWS Identity and Access Management Access Analyzer em pipelines](https://aws.amazon.com/blogs/security/validate-iam-policies-in-cloudformation-templates-using-iam-access-analyzer/) (postagem AWS do blog) para validar políticas do IAM definidas em modelos CloudFormation 
+ Configurar [políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#:~:text=IAM%20policies%20define%20permissions%20for,CLI%2C%20or%20the%20AWS%20API.) e [políticas de controle de serviços](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) para acesso com privilégio mínimo para usar o pipeline ou fazer modificações nele

### Implementar verificação de vulnerabilidades
<a name="t2-vulnerability-scanning"></a>
+ [Habilite o Amazon Inspector em todas as contas da sua organização](https://docs.aws.amazon.com/inspector/latest/user/designating-admin.html)
+ Use o Amazon Inspector para escanear seu pipeline AMIs de criação de AMI:
  + [Gerencie o ciclo de vida das AMIs no EC2 Image Builder ()](https://github.com/aws-samples/ec2-imagebuilder-ami-lifecycle) GitHub
+ [Configure a verificação avançada para repositórios do Amazon ECR usando o Amazon Inspector](https://docs.aws.amazon.com/inspector/latest/user/scanning-ecr.html#configure-ecr)
+ [Crie um programa de gerenciamento de vulnerabilidades para fazer a triagem e remediar as descobertas de segurança](https://docs.aws.amazon.com/prescriptive-guidance/latest/vulnerability-management/)

## Monitoramento deste tema
<a name="theme-2-monitoring"></a>

### Monitorar o IAM e os logs continuamente
<a name="t2-monitor"></a>
+ Revise periodicamente suas políticas do IAM para se certificar de que:
  + Somente os pipelines de implantação têm acesso direto aos recursos
  + Somente serviços aprovados têm acesso direto aos dados
  + Seus usuários não têm acesso direto aos recursos ou dados
+ Monitore AWS CloudTrail os registros para confirmar se os usuários estão modificando recursos por meio de pipelines e não estão modificando recursos ou acessando dados diretamente
+ Revisar periodicamente descobertas do analisador de acesso do IAM
+ Configure um alerta para notificar você se as credenciais do usuário-raiz de uma Conta da AWS forem usadas

### Implemente as seguintes AWS Config regras
<a name="t2-config"></a>
+ `APPROVED_AMIS_BY_ID`
+ `APPROVED_AMIS_BY_TAG`
+ `ECR_PRIVATE_IMAGE_SCANNING_ENABLED`