

# Proteção da computação
<a name="protecting-compute"></a>

Os recursos de computação incluem instâncias do EC2, contêineres, funções do AWS Lambda, serviços de banco de dados, dispositivos de IoT e muito mais. Cada um desses tipos de recursos computacionais exige abordagens diferentes para protegê-los. No entanto, eles compartilham estratégias comuns que devem ser levadas em conta: defesa em profundidade, gerenciamento de vulnerabilidades, redução na superfície de ataque, automação da configuração e operação e execução de ações à distância. Nesta seção, você encontrará orientações gerais para proteger seus recursos computacionais para os principais serviços. Para cada serviço da AWS usado, é importante verificar as recomendações de segurança específicas na documentação do serviço.

**Topics**
+ [SEC06-BP01 Realizar o gerenciamento de vulnerabilidades](sec_protect_compute_vulnerability_management.md)
+ [SEC06-BP02 Provisionar computação com base em imagens reforçadas](sec_protect_compute_hardened_images.md)
+ [SEC06-BP03 Reduzir o gerenciamento manual e o acesso interativo](sec_protect_compute_reduce_manual_management.md)
+ [SEC06-BP04 Validar a integridade do software](sec_protect_compute_validate_software_integrity.md)
+ [SEC06-BP05 Automatizar a proteção da computação](sec_protect_compute_auto_protection.md)

# SEC06-BP01 Realizar o gerenciamento de vulnerabilidades
<a name="sec_protect_compute_vulnerability_management"></a>

Verifique e corrija com frequência vulnerabilidades no código, nas dependências e na infraestrutura para se proteger contra novas ameaças.

 **Resultado desejado:** você tem uma solução que verifica continuamente sua workload em busca de vulnerabilidades de software, possíveis defeitos e exposição não intencional da rede. Você estabeleceu processos e procedimentos para identificar, priorizar e corrigir essas vulnerabilidades com base nos critérios de avaliação de risco. Além disso, você implementou o gerenciamento automatizado de patches para suas instâncias computacionais. Seu programa de gerenciamento de vulnerabilidades é integrado ao seu ciclo de vida de desenvolvimento de software, com soluções para escanear seu código-fonte durante o pipeline de CI/CD. 

 **Práticas comuns que devem ser evitadas:** 
+  Não ter um programa de gerenciamento de vulnerabilidades. 
+  Realizar a aplicação de patches do sistema sem considerar a gravidade ou formas de evitar riscos. 
+  Utilizar software que ultrapassou a data de fim de vida útil (EOL) indicada pelo fornecedor. 
+  Implantar código em produção antes de analisar a existência de problemas de segurança. 

 **Nível de risco exposto se esta prática recomendada não for estabelecida:** Alto 

## Orientação para implementação
<a name="implementation-guidance"></a>

 O gerenciamento de vulnerabilidades é um aspecto fundamental para manter um ambiente de nuvem seguro e robusto. Ele envolve um processo abrangente que inclui verificações de segurança, identificação e priorização de problemas e operações de correção para resolver as vulnerabilidades identificadas. A automação desempenha um papel fundamental nesse processo porque facilita a verificação contínua das workloads em busca de possíveis problemas e exposição não intencional da rede, bem como esforços de remediação. 

 O [Modelo de Responsabilidade Compartilhada da AWS](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/shared-responsibility.html) é um conceito fundamental que sustenta o gerenciamento de vulnerabilidades. De acordo com esse modelo, a AWS é responsável por proteger a infraestrutura subjacente, incluindo hardware, software, redes e instalações que executam os serviços da AWS. Por outro lado, você é responsável por proteger seus dados, configurações de segurança e tarefas de gerenciamento associadas a serviços como instâncias do Amazon EC2 e objetos do Amazon S3. 

 AWSA oferece diversos serviços para apoiar os programas de gerenciamento de vulnerabilidades. O [Amazon Inspector](https://aws.amazon.com/inspector/) verifica continuamente as workloads da AWS em busca de vulnerabilidades de software e acesso não intencional à rede, enquanto o [Gerenciador de Patches do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager.html) ajuda a gerenciar a aplicação de patches nas instâncias do Amazon EC2. Esses serviços podem ser integrados ao [AWS Security Hub CSPM](https://aws.amazon.com/security-hub/), um serviço de gerenciamento da postura de segurança na nuvem que automatiza as verificações de segurança da AWS, centraliza os alertas de segurança e fornece uma visão abrangente da postura de segurança de uma organização. Além disso, o [Amazon CodeGuru Security](https://aws.amazon.com/codeguru/) usa análise estática de código para identificar possíveis problemas em aplicações Java e Python durante a fase de desenvolvimento. 

 Ao incorporar práticas de gerenciamento de vulnerabilidades ao ciclo de vida de desenvolvimento de software, você pode abordar as vulnerabilidades de forma proativa antes que elas sejam introduzidas nos ambientes de produção, o que reduz o risco de eventos de segurança e minimiza o impacto potencial das vulnerabilidades. 

### Etapas de implementação
<a name="implementation-steps"></a>

1.  **Entenda o modelo de responsabilidade compartilhada:** revise o modelo de responsabilidade compartilhada da AWS para entender suas responsabilidades de proteger as workloads e os dados na nuvem. A AWS é responsável por proteger a infraestrutura de nuvem subjacente, enquanto você é responsável por proteger as aplicações, os dados e os serviços utilizados. 

1.  **Implemente a verificação de vulnerabilidades**: configure um serviço de verificação de vulnerabilidades, como o Amazon Inspector, para verificar automaticamente as instâncias de computação (por exemplo, máquinas virtuais, contêineres ou funções de tecnologia sem servidor) em busca de vulnerabilidades de software, possíveis defeitos e exposição não intencional da rede. 

1.  **Estabeleça processos de gerenciamento de vulnerabilidades:** defina processos e procedimentos para identificar, priorizar e corrigir vulnerabilidades. Isso pode incluir a configuração de cronogramas regulares de verificação de vulnerabilidades, o estabelecimento de critérios de avaliação de risco e a definição de cronogramas de remediação com base na gravidade da vulnerabilidade. 

1.  **Configure o gerenciamento de patches:** use um serviço de gerenciamento de patches para automatizar o processo de correção de suas instâncias de computação, tanto para sistemas operacionais quanto para aplicações. Você pode configurar o serviço para verificar as instâncias em busca de patches ausentes e instalá-las automaticamente de acordo com um cronograma. Considere o Gerenciador de Patches do AWS Systems Manager para fornecer essa funcionalidade. 

1.  **Configure a proteção contra malware:** implemente mecanismos para detectar software malicioso em seu ambiente. Por exemplo, você pode usar ferramentas como o [Amazon GuardDuty](https://aws.amazon.com/guardduty/) para analisar, detectar e alertar sobre malware em volumes EC2 e EBS. O GuardDuty também pode escanear objetos recém-enviados ao Amazon S3 em busca de possíveis malwares ou vírus e tomar medidas para isolá-los antes que sejam ingeridos em processos posteriores. 

1.  **Integre a verificação de vulnerabilidades em pipelines de CI/CD:** se você estiver usando um pipeline de CI/CD para a implantação da aplicação, integre ferramentas de verificação de vulnerabilidades em seu pipeline. Ferramentas como o Amazon CodeGuru Security e opções de código aberto podem escanear seu código-fonte, dependências e artefatos em busca de possíveis problemas de segurança. 

1.  **Configure um serviço de monitoramento de segurança:** configure um serviço de monitoramento de segurança, como o AWS Security Hub CSPM, para ter uma visão abrangente da postura de segurança em vários serviços de nuvem. O serviço deve coletar descobertas de segurança de várias fontes e apresentá-las em um formato padronizado para facilitar a priorização e a remediação. 

1.  **Implemente teste de penetração de aplicativos web**: se sua aplicação for um aplicativo web e sua organização tiver as habilidades necessárias ou puder contratar assistência externa, considere a implementação de teste de penetração do aplicativo web para identificar possíveis vulnerabilidades nele. 

1.  **Automatize com infraestrutura como código**: use ferramentas de infraestrutura como código (IaC), como [AWS CloudFormation](https://aws.amazon.com/cloudformation/), para automatizar a implantação e a configuração de seus recursos, incluindo os serviços de segurança mencionados anteriormente. Essa prática ajuda você a criar uma arquitetura de recursos mais consistente e padronizada em várias contas e ambientes. 

1.  **Monitore e melhore** continuamente: monitore continuamente a eficácia do seu programa de gerenciamento de vulnerabilidades e faça melhorias conforme necessário. Analise as descobertas de segurança, avalie a eficácia de seus esforços de remediação e ajuste seus processos e ferramentas adequadamente. 

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [AWS Systems Manager](https://aws.amazon.com/systems-manager/) 
+  [Visão geral da segurança do AWS Lambda](https://pages.awscloud.com/rs/112-TZM-766/images/Overview-AWS-Lambda-Security.pdf) 
+ [ Amazon CodeGuru ](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html)
+ [ Gerenciamento de vulnerabilidades aprimorado e automatizado para workloads na nuvem com um novo Amazon Inspector ](https://aws.amazon.com/blogs/aws/improved-automated-vulnerability-management-for-cloud-workloads-with-a-new-amazon-inspector/)
+ [ Automatize o gerenciamento e a correção de vulnerabilidades na AWS usando o Amazon Inspector e o AWS Systems Manager: parte 1](https://aws.amazon.com/blogs/mt/automate-vulnerability-management-and-remediation-in-aws-using-amazon-inspector-and-aws-systems-manager-part-1/)

 **Vídeos relacionados:** 
+  [Proteger serviços com tecnologia sem servidor e em contêineres](https://youtu.be/kmSdyN9qiXY) 
+  [Práticas recomendadas de segurança para o serviço de metadados da instância do Amazon EC2](https://youtu.be/2B5bhZzayjI) 

# SEC06-BP02 Provisionar computação com base em imagens reforçadas
<a name="sec_protect_compute_hardened_images"></a>

 Ofereça menos oportunidades de acesso indesejado aos ambientes de runtime implantando-os com base em imagens reforçadas. Adquira somente dependências de runtime, como imagens de contêiner e bibliotecas de aplicações, de registros confiáveis e verifique as respectivas assinaturas. Crie seus próprios registros privados para armazenar imagens e bibliotecas confiáveis para uso nos processos de criação e implantação. 

 **Resultado desejado:** seus recursos computacionais são provisionados a partir de imagens de referência reforçadas. Você recupera dependências externas, como imagens de contêiner e bibliotecas de aplicações, somente de registros confiáveis e verifica as respectivas assinaturas. Elas são armazenadas em registros privados para que seus processos de compilação e implantação as consultem. Você verifica e atualiza imagens e dependências regularmente para ajudar a oferecer proteção contra qualquer vulnerabilidade recém-descoberta. 

 **Práticas comuns que devem ser evitadas:** 
+  Adquirir imagens e bibliotecas de registros confiáveis, mas não verificar a respectiva assinatura nem realizar verificações de vulnerabilidades antes de colocá-las em uso. 
+  Reforçar as imagens, mas não testá-las regularmente em busca de novas vulnerabilidades ou atualizá-las para a versão mais recente. 
+  Instalar ou não remover pacotes de software que não são necessários durante o ciclo de vida previsto da imagem. 
+  Confiar apenas na aplicação de patches para manter os recursos de computação de produção atualizados. Ao utilizar apenas a aplicação de patches, os recursos de computação podem se desviar do padrão reforçado com o passar do tempo. A aplicação de patches também pode não conseguir remover malware instalado por um agente de ameaças durante um evento de segurança. 

 **Benefícios de implementar esta prática recomendada:** o reforço de imagens ajuda a reduzir o número de caminhos disponíveis em seu ambiente de runtime que podem permitir acesso não intencional a usuários ou serviços não autorizados. Ele também pode reduzir o escopo do impacto caso ocorra algum acesso indesejado. 

 **Nível de risco exposto se esta prática recomendada não for estabelecida:** Alto 

## Orientação para implementação
<a name="implementation-guidance"></a>

 Para reforçar seus sistemas, comece com as versões mais recentes de sistemas operacionais, imagens de contêiner e bibliotecas de aplicações. Aplique patches aos problemas conhecidos. Minimize o sistema removendo quaisquer aplicações, serviços, drivers de dispositivo, usuários padrão e outras credenciais desnecessários. Execute qualquer outra ação necessária, como desabilitar portas para criar um ambiente que tenha somente os recursos e capacidades essenciais para as workloads. Com base nesse parâmetro, você pode instalar software, agentes ou outros processos necessários para finalidades como monitoramento da workload ou gerenciamento de vulnerabilidades. 

 É possível reduzir a carga de reforçar os sistemas usando orientações fornecidas por fontes confiáveis, como o [Center for Internet Security](https://www.cisecurity.org/) (CIS) e os [Guias de implementação técnica de segurança (STIGs)](https://public.cyber.mil/stigs/) da Defense Information Systems Agency (DISA). Recomendamos começar com uma [imagem de máquina da Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html) (AMI) publicada pela AWS ou um parceiro da APN e use o AWS [EC2 Image Builder](https://aws.amazon.com/image-builder/) para automatizar a configuração de acordo com uma combinação apropriada de controles CIS e STIG. 

 Embora existam imagens reforçadas e fórmulas do EC2 Image Builder disponíveis que aplicam as recomendações do CIS ou do STIG da DISA, talvez você veja que sua configuração impede que seu software seja executado com êxito. Nessa situação, você pode começar com uma imagem base não reforçada, instalar o software e, em seguida, aplicar incrementalmente os controles do CIS para testar o respectivo impacto. Com relação a qualquer controle do CIS que impeça a execução do software, teste se é possível implementar as recomendações de fortalecimento mais refinadas em um STIG da DISA. Acompanhe os diferentes controles do CIS e as configurações do STIG da DISA que você pode aplicar com sucesso. Use-os para definir adequadamente suas fórmulas de reforço de imagem no EC2 Image Builder. 

 Para workloads em contêineres, imagens reforçadas do Docker estão disponíveis no [repositório público](https://gallery.ecr.aws/docker) do [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/). Você pode usar o EC2 Image Builder para reforçar imagens de contêiner, bem como AMIs. 

 Semelhante aos sistemas operacionais e às imagens de contêiner, você pode obter pacotes de código (ou *bibliotecas*) de repositórios públicos por meio de ferramentas como pip, npm, Maven e NuGet. Recomendamos gerenciar pacotes de código integrando repositórios privados, como os do [AWS CodeArtifact](https://aws.amazon.com/codeartifact/), a repositórios públicos confiáveis. Com essa integração, você não precisa se preocupar em lidar com a recuperação, o armazenamento e a manutenção de pacotes atualizados. Seus processos de criação de aplicações podem então obter e testar a versão mais recente desses pacotes, bem como a aplicação, usando técnicas como análise de composição de software (SCA), testes estáticos de segurança de aplicações (SAST) e testes dinâmicos de segurança de aplicações (DAST). 

 Para workloads sem servidor que usam o AWS Lambda, simplifique o gerenciamento de dependências de pacotes usando [camadas do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html). Use camadas do Lambda para configurar um conjunto de dependências padrão que são compartilhadas em diferentes funções em um arquivo independente. Você pode criar e manter camadas por meio de seu próprio processo de criação, fornecendo um meio centralizado para manter as funções atualizadas. 

## Etapas de implementação
<a name="implementation-steps"></a>
+  Reforce os sistemas operacionais. Use imagens básicas de fontes confiáveis como base para criar AMIs reforçadas. Use o [EC2 Image Builder](https://aws.amazon.com/image-builder/) para ajudar a personalizar o software instalado em suas imagens. 
+  Reforce os recursos em contêineres. Configure recursos em contêineres para atender a práticas recomendadas de segurança. Ao usar contêineres, implemente a [varredura de imagens do ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) no pipeline de compilação e regularmente no repositório de imagens para procurar CVEs nos contêineres.  
+  Ao usar a implementação sem servidor com o AWS Lambda, use [camadas do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html) para separar o código da função da aplicação e as bibliotecas dependentes compartilhadas. Configure a [assinatura de código](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) para Lambda para garantir que apenas código confiável seja executado em suas funções do Lambda. 

## Recursos
<a name="resources"></a>

 **Práticas recomendadas relacionadas:** 
+  [OPS05-BP05 Realizar o gerenciamento de patches](https://docs.aws.amazon.com/wellarchitected/latest/framework/ops_dev_integ_patch_mgmt.html) 

 **Vídeos relacionados:** 
+  [Mergulho profundo na segurança do AWS Lambda](https://www.youtube.com/watch?v=FTwsMYXWGB0) 

 **Exemplos relacionados:** 
+  [Criar rapidamente uma AMI compatível com STIG usando o EC2 Image Builder](https://aws.amazon.com/blogs/security/quickly-build-stig-compliant-amazon-machine-images-using-amazon-ec2-image-builder/) 
+  [Criar imagens de contêiner melhores](https://aws.amazon.com/blogs/containers/building-better-container-images/) 
+  [Usar camadas do Lambda para simplificar seu processo de desenvolvimento](https://aws.amazon.com/blogs/compute/using-lambda-layers-to-simplify-your-development-process/) 
+  [Desenvolver e implantar camadas do AWS Lambda usando um framework sem servidor](https://github.com/aws-samples/aws-serverless-lambda-layers) 
+  [Criar um pipeline de CI/CD completo do AWS DevSecOps com ferramentas de código aberto SCA, SAST e DAST](https://aws.amazon.com/blogs/devops/building-end-to-end-aws-devsecops-ci-cd-pipeline-with-open-source-sca-sast-and-dast-tools/) 

# SEC06-BP03 Reduzir o gerenciamento manual e o acesso interativo
<a name="sec_protect_compute_reduce_manual_management"></a>

 Use a automação para realizar tarefas de implantação, configuração, manutenção e investigação sempre que possível. Considere usar o acesso manual aos recursos de computação em casos de procedimentos de emergência ou em ambientes seguros (sandbox) quando a automação não estiver disponível. 

 **Resultado desejado:** scripts programáticos e documentos de automação (runbooks) capturam ações autorizadas em seus recursos computacionais. Os runbooks são iniciados automaticamente por meio de sistemas de detecção de alterações ou manualmente quando a avaliação humana é necessária. O acesso direto aos recursos de computação só é disponibilizado em situações de emergência quando a automação não está disponível. Todas as atividades manuais são registradas em log e incorporadas a um processo de análise para aprimorar continuamente os recursos de automação. 

 **Práticas comuns que devem ser evitadas:** 
+  Usar o acesso interativo a instâncias do Amazon EC2 com protocolos como SSH ou RDP. 
+  Manter logins de usuários individuais, como `/etc/passwd` ou usuários locais do Windows. 
+  Compartilhar uma senha ou chave privada para acessar uma instância entre vários usuários. 
+  Instalar software e criar ou atualizar manualmente arquivos de configuração. 
+  Atualizar ou aplicar patches manualmente no software. 
+  Fazer login em uma instância para solucionar problemas. 

 **Benefícios de implementar esta prática recomendada:** a execução de ações com automação ajuda a reduzir o risco operacional de alterações não intencionais e configurações incorretas. Eliminar o uso do Secure Shell (SSH) e do Remote Desktop Protocol (RDP) para acesso interativo reduz o escopo do acesso aos seus recursos de computação. Fazer isso elimina um caminho comum para ações não autorizadas. Capturar suas tarefas de gerenciamento de recursos de computação em documentos de automação e scripts programáticos oferece um mecanismo para definir e auditar todo o escopo das atividades autorizadas em um nível de detalhes refinado. 

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

## Orientação para implementação
<a name="implementation-guidance"></a>

 Fazer login em uma instância é uma abordagem clássica à administração de sistemas. Após a instalação do sistema operacional do servidor, os usuários normalmente fazem login manualmente para configurar o sistema e instalar o software desejado. Durante o ciclo de vida do servidor, os usuários podem fazer login para realizar atualizações de software, aplicar patches, alterar configurações e solucionar problemas. 

 No entanto, o acesso manual apresenta vários riscos. Ele exige um servidor que escuta solicitações, como um serviço SSH ou RDP, o que pode fornecer um possível caminho para acessos não autorizados. Ele também aumenta o risco de erro humano associado à execução de etapas manuais. Isso pode resultar em incidentes de workload, corrompimento ou destruição de dados ou outros problemas de segurança. O acesso humano também exige proteções contra o compartilhamento de credenciais, o que cria uma sobrecarga adicional de gerenciamento.  

 Para mitigar esses riscos, você pode implementar uma solução de acesso remoto baseada em agente, como o [AWS Systems Manager](https://aws.amazon.com/systems-manager/). AWS Systems Manager O agente (SSM Agent) inicia um canal criptografado e, portanto, não depende da escuta de solicitações iniciadas externamente. Considere configurar o SSM Agent para [estabelecer esse canal em um endpoint da VPC](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-create-vpc.html). 

 O Systems Manager oferece controle refinado sobre como você pode interagir com suas instâncias gerenciadas. Você define as automações a serem executadas, quem pode executá-las e quando elas podem ser executadas. O Systems Manager pode aplicar patches, instalar software e fazer alterações na configuração sem ter acesso interativo à instância. O Systems Manager também pode fornecer acesso a um shell remoto e registrar cada comando invocado e sua saída durante a sessão nos logs e no [Amazon S3](https://aws.amazon.com/s3/). O [AWS CloudTrail](https://aws.amazon.com/cloudtrail/) registra as invocações das APIs do Systems Manager para inspeção. 

### Etapas de implementação
<a name="implementation-steps"></a>

1.  [Instale o AWS Systems Manager Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html) (SSM Agent) nas suas instâncias do Amazon EC2. Verifique se o SSM Agent está incluído e foi iniciado automaticamente como parte da configuração básica da AMI. 

1.  Verifique se as funções do IAM associadas aos seus perfis de instância do EC2 incluem a [política `AmazonSSMManagedInstanceCore` gerenciada pelo IAM](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html). 

1.  Desabilite o SSH, o RDP e outros serviços de acesso remoto em execução nas instâncias. Você pode fazer isso executando scripts configurados na seção de dados do usuário dos seus modelos de lançamento ou criando AMIs personalizadas com ferramentas como o EC2 Image Builder. 

1.  Verifique se as regras de entrada do grupo de segurança aplicáveis às instâncias do EC2 não permitem acesso na porta 22/tcp (SSH) ou na porta 3389/tcp (RDP). Implemente a detecção e o alerta de grupos de segurança configurados incorretamente usando serviços como o AWS Config. 

1.  Defina automações, runbooks e comandos de execução apropriados no Systems Manager. Use políticas do IAM para definir quem pode realizar essas ações e as condições sob as quais elas são permitidas. Teste essas automações minuciosamente em um ambiente de não produção. Invoque essas automações quando necessário, em vez de acessar a instância de forma interativa. 

1.  Use o [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) para fornecer acesso interativo às instâncias quando necessário. Ative o log de atividades da sessão para manter uma trilha de auditoria no [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) ou no [Amazon S3](https://aws.amazon.com/s3/).  

## Recursos
<a name="resources"></a>

 **Práticas recomendadas relacionadas:** 
+  [REL08-BP04 Implantar usando infraestrutura imutável](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_tracking_change_management_immutable_infrastructure.html) 

 **Exemplos relacionados:** 
+  [Substituir o acesso SSH para reduzir a sobrecarga de gerenciamento e segurança com o AWS Systems Manager](https://aws.amazon.com/blogs/mt/vr-beneficios-session-manager/) 

 **Ferramentas relacionadas:** 
+  [AWS Systems Manager](https://aws.amazon.com/systems-manager/) 

 **Vídeos relacionados:** 
+  [Controlar o acesso da sessão do usuário à instâncias no Gerenciador de Sessões do AWS Systems Manager](https://www.youtube.com/watch?v=nzjTIjFLiow) 

# SEC06-BP04 Validar a integridade do software
<a name="sec_protect_compute_validate_software_integrity"></a>

 Use a verificação criptográfica para validar a integridade dos artefatos de software (incluindo imagens) que a workload usa.  Assine criptograficamente seu software como uma proteção contra alterações não autorizadas executadas em seus ambientes de computação. 

 **Resultado desejado:** todos os artefatos são obtidos de fontes confiáveis. Os certificados do site do fornecedor são validados.  Os artefatos baixados são verificados criptograficamente com base na respectiva assinatura. Seu próprio software é assinado e verificado criptograficamente por seus ambientes de computação. 

 **Práticas comuns que devem ser evitadas:** 
+  Confiar em sites de fornecedores de boa reputação para obter artefatos de software, mas ignorar os avisos de expiração de certificado.  Prosseguir com os downloads sem confirmar se os certificados são válidos. 
+  Validar certificados de sites de fornecedores, mas não verificar criptograficamente os artefatos baixados desses sites. 
+  Confiar apenas em resumos ou hashes para validar a integridade do software.  Os hashes estabelecem que os artefatos não foram modificados da versão original, mas não validam a respectiva fonte. 
+  Não assinar seu próprio software, código ou biblioteca, mesmo quando usados apenas em suas próprias implantações.  

 **Benefícios de implementar esta prática recomendada:** validar a integridade dos artefatos dos quais sua workload depende ajuda a impedir a entrada de malware em seus ambientes computacionais.  Assinar seu software ajuda a impedir a execução não autorizada em seus ambientes de computação.   Proteja sua cadeia de suprimentos de software assinando e verificando o código. 

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

## Orientação para implementação
<a name="implementation-guidance"></a>

 As imagens do sistema operacional, as imagens de contêiner e os artefatos de código geralmente são distribuídos com verificações de integridade disponíveis, como por meio de um resumo ou hash.  Isso permite que os clientes verifiquem a integridade calculando o hash da carga útil e validando se ele é o mesmo que o publicado.  Embora essas verificações ajudem a verificar se a carga não foi adulterada, elas não validam que a carga veio da fonte original (sua *procedência*).  A verificação de procedência exige um certificado emitido por uma autoridade confiável para assinar o artefato digitalmente. 

 Se você estiver usando um software ou artefatos baixados na workload, verifique se o provedor fornece uma chave pública para verificação de assinatura digital.  Veja alguns exemplos de como a AWS fornece uma chave pública e instruções de verificação para o software que publicamos: 
+  [EC2 Image Builder: verificar a assinatura do download da instalação do AWS TOE](https://docs.aws.amazon.com/imagebuilder/latest/userguide/awstoe-verify-sig.html) 
+  [AWS Systems Manager: verificar a assinatura do SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/verify-agent-signature.html) 
+  [Amazon CloudWatch: verificar a assinatura do pacote do agente do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/verify-CloudWatch-Agent-Package-Signature.html) 

 Incorpore a verificação de assinatura digital aos processos que você usa para obter e reforçar imagens, conforme discutido em [SEC06-BP02 Provisionar a computação com base em imagens reforçadas](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_hardened_images.html). 

 Você pode usar o [AWS Signer](https://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html) para ajudar a gerenciar a verificação de assinaturas, bem como seu próprio ciclo de vida de assinatura de código para seu próprio software e artefatos.  Tanto o [AWS Lambda](https://aws.amazon.com/lambda/) quanto o [Amazon Elastic Container Registry](https://aws.amazon.com/ecr/) fornecem integrações com o Signer para verificar as assinaturas do seu código e imagens.  Usando os exemplos na seção “Recursos”, você pode incorporar o Signer aos pipelines de integração e entrega contínuas (CI/CD) para automatizar a verificação de assinaturas e a assinatura de código e imagens. 

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [Assinatura criptográfica para contêineres](https://aws.amazon.com/blogs/containers/cryptographic-signing-for-containers/) 
+  [Práticas recomendadas para ajudar a proteger sua imagem de contêiner: crie um pipeline usando AWS Signer](https://aws.amazon.com/blogs/security/best-practices-to-help-secure-your-container-image-build-pipeline-by-using-aws-signer/) 
+  [Assinatura de imagens de contêineres com o AWS Signer e o Amazon EKS](https://aws.amazon.com/blogs/containers/announcing-container-image-signing-with-aws-signer-and-amazon-eks/) 
+  [Configurar a assinatura de código para o AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) 
+  [Práticas recomendadas e padrões avançados para assinatura de código do Lambda](https://aws.amazon.com/blogs/security/best-practices-and-advanced-patterns-for-lambda-code-signing/) 
+  [Assinatura de código usando CA privada do AWS Certificate Manager e chaves assimétricas do AWS Key Management Service](https://aws.amazon.com/blogs/security/code-signing-aws-certificate-manager-private-ca-aws-key-management-service-asymmetric-keys/) 

 **Exemplos relacionados:** 
+  [Automatizar a assinatura de código do Lambda com o Amazon CodeCatalyst e o AWS Signer](https://aws.amazon.com/blogs/devops/automate-lambda-code-signing-with-amazon-codecatalyst-and-aws-signer/) 
+  [Assinar e validar artefatos OCI com o AWS Signer](https://aws.amazon.com/blogs/containers/signing-and-validating-oci-artifacts-with-aws-signer/) 

 **Ferramentas relacionadas:** 
+  [AWS Lambda](https://aws.amazon.com/lambda/) 
+  [AWS Signer](https://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html) 
+  [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) 
+  [AWS Key Management Service](https://aws.amazon.com/kms/) 
+  [AWS CodeArtifact](https://aws.amazon.com/codeartifact/) 

# SEC06-BP05 Automatizar a proteção da computação
<a name="sec_protect_compute_auto_protection"></a>

 Automatize as operações de proteção da computação para reduzir a necessidade de intervenção humana. Use a verificação automatizada para detectar possíveis problemas em seus recursos de computação e corrigir com respostas programáticas automatizadas ou operações de gerenciamento de frota.  Incorpore a automação em seus processos de CI/CD para implantar workloads confiáveis com dependências atualizadas. 

 **Resultado desejado:** sistemas automatizados realizam todas as verificações e correções dos recursos computacionais. Você usa a verificação automatizada para determinar se as imagens e dependências do software são provenientes de fontes confiáveis e não foram adulteradas. As workloads são verificadas automaticamente em busca de dependências atualizadas e assinadas para estabelecer a confiabilidade em ambientes computacionais da AWS.  As correções automatizadas são iniciadas quando recursos fora de conformidade são detectados.  

 **Práticas comuns que devem ser evitadas:** 
+  Seguir a prática de infraestrutura imutável, mas sem ter uma solução para correção emergencial ou substituição de sistemas de produção. 
+  Usar a automação para corrigir recursos configurados incorretamente, mas sem ter um mecanismo de substituição manual instalado.  Podem surgir situações em que você precise ajustar os requisitos e suspender as automações até fazer essas alterações. 

 **Benefícios de implementar esta prática recomendada:** a automação pode reduzir o risco de acesso e uso não autorizados de seus recursos computacionais.  Isso ajuda a evitar que configurações incorretas entrem nos ambientes de produção e a detectar e corrigir configurações incorretas caso elas ocorram.  A automação também ajuda a detectar acesso e uso não autorizados de recursos de computação para reduzir o tempo de resposta.  Isso, por sua vez, pode reduzir o escopo geral do impacto do problema. 

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

## Orientação para implementação
<a name="implementation-guidance"></a>

 É possível aplicar as automações descritas nas práticas do pilar de segurança para proteger seus recursos de computação. [SEC06-BP01 Realizar o gerenciamento de vulnerabilidades](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_vulnerability_management.html) descreve como você pode usar o [Amazon Inspector](https://aws.amazon.com/inspector/) em seus pipelines de CI/CD e para verificar continuamente seus ambientes de runtime em busca de vulnerabilidades e exposições comuns (CVEs) conhecidas.  Você pode usar o [AWS Systems Manager](https://aws.amazon.com/systems-manager/) para aplicar patches ou reimplantar com base em novas imagens por meio de runbooks automatizados para manter sua frota computacional atualizada com o software e as bibliotecas mais recentes.  Use essas técnicas para reduzir a necessidade de processos manuais e acesso interativo aos seus recursos de computação.  Consulte [SEC06-BP03 Reduzir o gerenciamento manual e o acesso interativo](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_reduce_manual_management.html) para saber mais. 

 A automação também desempenha um papel na implantação de workloads confiáveis, descritas em [SEC06-BP02 Provisionar computação com base em imagens reforçadas](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_hardened_images.html) e [SEC06-BP04 Validar a integridade do software](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_validate_software_integrity.html).  É possível usar serviços como [EC2 Image Builder](https://aws.amazon.com/image-builder/), [AWS Signer](https://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html), [AWS CodeArtifact](https://aws.amazon.com/codeartifact/) e [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/) para baixar, verificar, construir e armazenar imagens reforçadas e aprovadas e dependências de código.   Com o Inspector, cada um desses serviços pode desempenhar um papel no processo de CI/CD, de forma que a workload chegue à produção somente quando for confirmado que suas dependências estão atualizadas e provêm de fontes confiáveis.  Sua workload também é assinada para que ambientes computacionais da AWS, como [AWS Lambda](https://aws.amazon.com/lambda/) e [Amazon Elastic Kubernetes Service (EKS)](https://aws.amazon.com/eks/), possam verificar se ela não foi adulterada antes de permitir sua execução. 

 Além desses controles preventivos, você também pode usar a automação nos controles de detecção para seus recursos de computação.  Como exemplo, o [AWS Security Hub CSPM](https://aws.amazon.com/security-hub/)oferece o padrão [NIST 800-53 Rev. 5](https://docs.aws.amazon.com/securityhub/latest/userguide/nist-standard.html), que inclui verificações como [[EC2.8] As instâncias do EC2 devem usar o Instance Metadata Service Version 2 (IMDSv2)](https://docs.aws.amazon.com/securityhub/latest/userguide/ec2-controls.html#ec2-8).  O IMDSv2 usa as técnicas de autenticação de sessão, bloqueando solicitações que contêm um cabeçalho HTTP X-Forwarded-For e um TTL de rede de 1 para interromper o tráfego proveniente de fontes externas e recuperar informações sobre a instância do EC2. Essa verificação no Security Hub CSPM pode detectar quando as instâncias do EC2 usam o IMDSv1 e iniciar a autocorreção. Saiba mais sobre detecção e remediações automatizadas em [SEC04-BP04 Iniciar a correção para recursos fora de conformidade](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_detect_investigate_events_noncompliant_resources.html). 

### Etapas de implementação
<a name="implementation-steps"></a>

1.  [Automatize a criação de AMIs seguras, em conformidade e reforçadas com o EC2 Image Builder.](https://docs.aws.amazon.com/imagebuilder/latest/userguide/integ-compliance-products.html)  Você pode produzir imagens que incorporem controles dos padrões de referência do Center for Internet Security (CIS) ou do Security Technical Implementation Guide (STIG) com base em imagens básicas da AWS e de parceiros da APN. 

1.  Automatize o gerenciamento de configuração. Aplique e valide configurações seguras automaticamente em seus recursos de computação usando um serviço ou uma ferramenta de gerenciamento de configuração.  

   1.  Gerenciamento automatizado de configurações usando o [AWS Config](https://aws.amazon.com/config/) 

   1.  Gerenciamento automatizado da postura de segurança e conformidade usando o [AWS Security Hub CSPM](https://aws.amazon.com/security-hub/) 

1.  Automatize a aplicação de patches ou a substituição de instâncias do Amazon Elastic Compute Cloud (Amazon EC2). AWS O Gerenciador de Patches do Systems Manager automatiza o processo de aplicação de patches em instâncias gerenciadas com atualizações relacionadas à segurança e com outros tipos de atualizações. Você pode usar o Patch Manager para aplicar patches de sistemas operacionais e aplicações. 

   1.  [Gerenciador de patches do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 

1.  Automatize a verificação de recursos de computação em busca de vulnerabilidades e exposições comuns (CVEs) e incorpore soluções de verificação de segurança em seu pipeline de criação. 

   1.  [Amazon Inspector](https://aws.amazon.com/inspector/) 

   1.  [Verificação de imagens do ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) 

1.  Considere o Amazon GuardDuty para detecção automática de malware e ameaças para proteger os recursos computacionais. O GuardDuty também pode identificar possíveis problemas quando uma função do [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) é invocada em seu ambiente da AWS.  

   1.  [Amazon GuardDuty](https://aws.amazon.com/guardduty/) 

1.  Considere as soluções dos parceiros da AWS. AWS Os parceiros oferecem produtos líderes do setor que são equivalentes, idênticos ou se integram aos controles existentes nos seus ambientes on-premises. Esses produtos complementam os serviços existentes da AWS para que você possa implantar uma arquitetura de segurança abrangente e obter uma experiência mais uniforme em seus ambientes na nuvem e on-premises. 

   1.  [Segurança da infraestrutura](https://aws.amazon.com/security/partner-solutions/#infrastructure_security) 

## Recursos
<a name="resources"></a>

 **Práticas recomendadas relacionadas:** 
+  [SEC01-BP06 Automatizar a implantação de controles de segurança padrão](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_securely_operate_automate_security_controls.html) 

 **Documentos relacionados:** 
+  [Obtenha todos os benefícios do IMDSv2 e desative o IMDSv1 em sua infraestrutura da AWS](https://aws.amazon.com/blogs/security/get-the-full-benefits-of-imdsv2-and-disable-imdsv1-across-your-aws-infrastructure/) 

 **Vídeos relacionados:** 
+  [Práticas recomendadas de segurança para o serviço de metadados da instância do Amazon EC2](https://youtu.be/2B5bhZzayjI) 