Técnicas de proteção e mitigação usando o serviço gerenciado de proteção Distributed denial of service (DDoS – Ataque de negação de serviço distribuído), o Web Access Firewall (WAF – Firewall de acesso da web) e a Content Delivery Network (CDN – Rede de entrega de conteúdo)

Teste a proteção contra DDoS
bnr_security_380x186

Um ataque de Denial of service (DoS – Negação de serviço) é uma tentativa mal-intencionada de afetar a disponibilidade de um sistema específico, como um site ou um aplicativo, para usuários finais legítimos. Geralmente, os invasores geram grandes volumes de pacotes ou solicitações, o que acaba sobrecarregando o sistema alvo do ataque. No caso de um ataque de DDoS, o invasor usa várias origens comprometidas ou controladas para gerar o ataque.

Em geral, os ataques de DDoS podem ser separados pela camada do modelo de referência OSI atacada. Eles são mais comuns nas seguintes camadas: rede (camada 3), transporte (camada 4), apresentação (camada 6) e aplicativo (camada 7).


# Camada Aplicativo Descrição Exemplo de vetor
7 Aplicativo Dados Processo de rede para aplicativos Inundações de HTTP, inundações de consulta de DNS
6 Apresentação Dados Representação e criptografia de dados Abuso de SSL
5 Sessão Dados Comunicação entre hosts N/D
4 Transporte Segmentos Conexões e confiabilidade de ponta a ponta Inundações de SYN
3 Rede Pacotes Determinação de caminho e endereçamento lógico Ataques de reflexão de UDP
2 Links de dados Quadros Endereçamento físico N/D
1 Físico Bits Mídia, sinal e transmissão binária N/D

Ao pensar sobre técnicas de mitigação contra esses ataques, é importante agrupá-los como camada de infraestrutura (camadas 3 e 4) e a camada de aplicativo (camadas 6 e 7).

Ataques da camada de infraestrutura

Geralmente, os ataques nas camadas 3 e 4 são classificados como ataques da camada de infraestrutura. Eles também são o tipo mais comum de ataques de DDoS e incluem vetores, como inundações sincronizadas (SYN), e outros ataques de reflexão, como inundações de pacote UDP. Geralmente, esses ataques são amplos com relação ao volume e têm como objetivo sobrecarregar a capacidade da rede ou dos servidores de aplicativos. Mas, felizmente, eles também são tipos de ataques que apresentam características distintas e são mais fáceis de detectar.

Ataques da camada de aplicativo

Geralmente, os ataques nas camadas 6 e 7 são classificados como ataques da camada de aplicativo. Embora esses ataques sejam menos comuns, eles também tendem a ser mais sofisticados. Geralmente, esses ataques são pequenos em volume, quando comparados aos ataques da camada de infraestrutura, mas tendem a se concentrar em partes dispendiosas específicas do aplicativo, o que as indisponibiliza para os usuários. Por exemplo, uma inundação de solicitações HTTP a uma página de login, ou a uma API de pesquisa dispendiosa, ou até mesmo inundações de XML-RPC do Wordpress (também conhecidas como ataques de pingback do Wordpress).

Reduzir a área de superfície de ataque

Uma das primeiras técnicas para mitigar ataques de DDoS é minimizar a área de superfície que pode ser atacada, o que limita as opções dos invasores e permite criar proteções em um só local. Queremos garantir que nós não exporemos o nosso aplicativo ou nossos recursos a portas, protocolos ou aplicativos de onde eles não esperam nenhum tipo de comunicação. Dessa forma, minimizamos os possíveis pontos de ataque, o que permite que possamos nos dedicar aos esforços de mitigação. Em alguns casos, é possível fazer isso ao inserir recursos computacionais por trás de CDNs ou load balancers e restringir o tráfego direto da Internet a determinadas partes da infraestrutura, como servidores de banco de dados. Em outros casos, é possível usar firewalls ou Access control lists (ACLs – Listas de controle de acesso) para controlar qual tráfego chega até os aplicativos.

Planejar o ajuste de escala

As duas principais considerações a fazer ao mitigar ataques volumétricos de DDoS em grande escala se referem à capacidade de largura de banda (ou trânsito) e a capacidade que o servidor tem para absorver e mitigar ataques.

Capacidade de trânsito. Ao projetar seus aplicativos, verifique se o provedor de hospedagem disponibiliza uma ampla conectividade redundante com a Internet, que permita processar grandes volumes de tráfego. Como o objetivo principal dos ataques de DDoS é afetar a disponibilidade de recursos/aplicativos, é necessário localizá-los próximos não apenas aos seus usuários finais, mas também a grandes trocas de Internet, o que disponibilizará aos usuários fácil acesso ao aplicativo, mesmo durante volumes elevados de tráfego. Além disso, os aplicativos web podem ir um passo além ao empregar CDNs e serviços inteligentes de resolução de DNS, que disponibilizam uma camada adicional de infraestrutura de rede para distribuir conteúdo e resolver consultas de DNS de localizações que geralmente estão mais próximas dos usuários finais.

Capacidade do servidor. A maioria dos DDoS são ataques volumétricos que usam uma grande quantidade de recursos. Portanto, é importante poder aumentar ou diminuir rapidamente a escala dos recursos computacionais. É possível fazer isso com a execução em recursos de computação maiores ou nos que tiverem funcionalidades, como interfaces de rede extensas ou redes aperfeiçoadas, que apoiam volumes maiores. Além disso, também é comum usar load balancers para monitorar continuamente e mudar as cargas entre recursos para evitar a sobrecarga de qualquer um deles

Saber o que é comum e incomum com relação ao tráfego

Sempre que detectamos níveis elevados de tráfego chegando a um host, nosso requisito mínimo é que possamos aceitar apenas a quantidade de tráfego que o host puder processar sem afetar a disponibilidade. Este conceito é chamado de limitação de taxa. Técnicas mais avançadas de proteção podem ir um pouco além e, de modo inteligente, aceitar apenas o tráfego legítimo ao analisar os pacotes individuais em si. Para fazer isso, é necessário entender as características de um bom tráfego que o destino geralmente recebe e ser capaz de comparar cada pacote a esse requisito mínimo.

Implantar firewalls para ataques sofisticados de aplicativos

Uma boa prática é usar um WAF contra ataques, como injeção de SQL ou solicitação intersite forjada, que tentam explorar uma vulnerabilidade no próprio aplicativo. Além disso, devido à natureza única desses ataques, é necessário poder criar facilmente mitigações personalizadas contra solicitações ilegítimas, que podem ter características, como estar disfarçadas de bom tráfego, ou ser oriundas de um IP com problemas, áreas geográficas inesperadas, etc. Às vezes, isso também pode ajudar na mitigação de ataques, pois eles obtêm apoio especializado para estudar padrões de tráfego e criar proteções personalizadas.

Cadastrar-se

A sua conta estará dentro do nível gratuito da AWS, o que permite obter experiência prática e gratuita com a plataforma, os produtos e os serviços da AWS.

Saiba mais

Teste e saiba mais sobre a proteção contra DDoS na AWS com tutoriais detalhados.

Criar

Todos os clientes da AWS se beneficiam gratuitamente das proteções automáticas do AWS Shield Standard.

Testar o AWS Shield