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…
Palavras-chave

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:
- 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.
- 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.

- Em seguida, ele envia um alerta de folga assim que o IP é bloqueado.

Integração de mensagens e alertas com o Slack
- 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:

- 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 .

- 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:

- 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…