← Todas as publicações

Publicação Técnica · Amazon Web Services

Automatizando a detecção de ameaças e bloqueando hosts suspeitos com o GuardDuty e o WAF

O Amazon GuardDuty é uma das soluções de segurança fornecidas pela AWS para proteger as contas e cargas de trabalho da AWS. É uma…

4 min de leitura830 palavrasSeções: 2Imagens: 1319 set 2022

Palavras-chave

Compartilhar
Comentar
Automatizando a detecção de ameaças e bloqueando hosts suspeitos com o GuardDuty e o WAF

O Amazon GuardDuty é uma das soluções de segurança fornecidas pela AWS para proteger as contas e cargas de trabalho da AWS. É uma ferramenta de Intrusion Detection que incorpora inteligência de ameaças e aprendizado de máquina para detectar comportamentos incomuns, como um site sendo atacado, hackeado ou um software malicioso entrou no servidor.

O AWS WAF é um firewall de aplicativo da web que ajuda a proteger os aplicativos da web ou APIs contra explorações comuns da web, ajudando-nos a criar regras de segurança que bloqueiam padrões de ataque comuns, como injeção de SQL ou script entre sites, e regras que filtram padrões de tráfego específicos que você definir.

A integração do Amazon GuardDuty com o AWS Web Application Firewall nos ajuda a criar um fluxo de trabalho automatizado para monitorar atividades suspeitas em nosso ambiente AWS e tomar as ações necessárias. Com essa solução, sempre que o GuardDuty detecta qualquer atividade suspeita, ele atualiza automaticamente as Listas de controle de acesso à web (WebACLs) de firewall do aplicativo da Web AWS e a Lista de controle de acesso à rede VPC (NACLs) para bloquear a comunicação do host suspeito e enviar uma notificação em caso de folga.

Visão geral do fluxo

As descobertas de segurança são geradas pelo GuardDuty. Estebelecemos que a frequência de exportação das descobertas ativas atualizadas é definida para 6 horas.

O evento CloudWatch é acionado para filtrar o tipo de descoberta conforme mencionado no modelo.

Se o tipo de descoberta corresponder às condições mencionadas no modelo, uma função Lambda é acionada e o tipo de descoberta é analisado nela.

Duas funções Lambda são invocadas pelo Evento CloudWatch:

  1. Um que verifica se há uma entrada de host existente em nosso banco de dados (usamos o Amazon DynamoDB para armazenar os dados de estado dos hosts bloqueados). Se existir, não faz nenhuma alteração, senão cria uma regra dentro do AWS WAF e no VPC NACL.
  1. A segunda função lambda é executada a cada 1 hora para remover entradas de WAF IPSets, VPC NACLs e a tabela Dynamo DB que ultrapassam o período de retenção.
  1. Em seguida, ele envia um alerta de folga assim que o IP é bloqueado.

Integração de mensagens e alertas com o Slack

  1. Crie uma pilha do CloudFormation com o modelo fornecido no site oficial da AWS para permitir notificações de folga das descobertas do GuardDuty.

Mencione o URL do webhook de entrada e o nome do canal slack e o nível de gravidade correspondente ao seu ambiente, conforme mostrado abaixo:

  1. Use os serviços do CloudFormation para criar uma implantação para permitir a integração do Amazon GuardDuty e do firewall de aplicativo da Web AWS. O modelo e os scripts lambda para esta implantação estão disponíveis no site oficial da AWS.
  • Faça upload dos scripts Lambda de implantação para o bucket S3 na região onde a implantação deve ser feita;
  • Baixe o modelo e atualize as descobertas do GuardDuty adequadas para o seu ambiente. O evento é acionado com base nas descobertas do GuardDuty mencionadas aqui.
  • No console do CloudFormation, escolha a opção Selecionar modelo e escolha o modelo que foi criado na etapa acima.
  • Forneça os seguintes parâmetros de entrada com os detalhes que correspondem ao seu ambiente na página Especificar Detalhes da Pilha .
  1. Uma vez que a função Lambda é criada, precisamos testá-la executando um evento de teste usando o script abaixo:

O ID da sub-rede deve corresponder ao seu ambiente.

Quando o evento de teste é executado, a saída deve ser conforme mostrado abaixo:

  1. Depois que o evento de teste é executado, a entrada de host DENY é criada no NACL e também atualizada para o IPSet WAF do CloudFront e para o IPSet ALB WAF conforme mostrado abaixo. Portanto, podemos confirmar que a solução está funcionando conforme projetado.

No console, vá para VPC → Sub-redes → selecione a sub-rede que foi adicionada ao script de teste mencionado acima e verifique se a nova entrada gerada a partir do evento de teste é criada aqui.

No console, vá para WAF & Shield e clique em AWS WAF Classic view e selecione os endereços IP. Selecione a região na qual esta solução é implementada — e então selecione o IPSet denominado GD2ACL ALB IPSet para endereços IP na lista negra. Podemos ver o endereço IP adicionado ao ALB IPSet conforme mostrado abaixo.

Fomos beneficiados com o Amazon GuardDuty para atualizar automaticamente o AWS Web Application Firewall (AWS WAF) e as listas de controle de acesso à rede VPC (ACLs) em resposta às descobertas do GuardDuty. Com apenas algumas etapas, você pode usar este exemplo de solução para ajudar a mitigar ameaças, bloqueando a comunicação com hosts suspeitos.

Até o próximo post!

Referências:

How to use Amazon Guardduty and AWS Web Application Firewall to automatically block suspicious hosts — https://aws.amazon.com/blogs/security/how-to-use-amazon-guardduty-and-aws-web-application-firewall-to-automatically-block-suspicious-hosts/

Automating threat detection — https://halodoc.io/automating-threat-detection/

Comentários

Todo comentário passa por moderação antes de aparecer aqui. Nada é publicado automaticamente.

Carregando…