SEC06-BP01 Realizar o gerenciamento de vulnerabilidades
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
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 é 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.
A AWS oferece diversos serviços para apoiar os programas de gerenciamento de vulnerabilidades. O Amazon Inspector
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
-
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.
-
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.
-
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.
-
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.
-
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
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. -
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.
-
Configure um serviço de monitoramento de segurança: configure um serviço de monitoramento de segurança, como o AWS Security Hub, 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.
-
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.
-
Automatize com infraestrutura como código: use ferramentas de infraestrutura como código (IaC), como AWS 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. -
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
Documentos relacionados:
Vídeos relacionados: