Um ataque de Negação de serviço (DoS) é uma tentativa mal-intencionada de afetar a disponibilidade do sistema alvo, como um site ou aplicativo, para usuários finais legítimos. Normalmente, os atacantes geram grandes volumes de pacotes ou solicitações, o que acaba sobrecarregando o sistema de destino. No caso de um ataque de Negação distribuída de serviço (DDoS), o atacante usa várias origens comprometidas ou controladas para gerar o ataque.
Em geral, os ataques DDoS podem ser segregados pela camada do modelo Open Systems Interconnection (OSI) que eles almejam. São mais comuns nas camadas de Rede (camada 3), Transporte (camada 4), apresentação (camada 6) e Aplicativo (camada 7).
# | Camada | Aplicação | Descrição | Exemplo de vetor |
7 | Aplicação | Dados | Processo de rede para o aplicativo | Inundações HTTP, inundações de consultas de DNS |
6 | Apresentação | Dados | Representação de dados e criptografia | 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 SYN |
3 | Rede | Pacotes | Determinação do caminho e endereçamento lógico | Ataques de reflexão de UDP |
2 | Datalinks | Quadros | Endereçamento físico | N/D |
1 | Físico | Bits | Mídia, sinal e transmissão binária | N/D |
Ao pensar nas técnicas de mitigação contra esses ataques, é útil agrupá-las como ataques das camadas Infraestrutura (camadas 3 e 4) e Aplicativo (camadas 6 e 7).
Ataques na camada Infraestrutura
Os ataques nas camadas 3 e 4 normalmente são classificados como ataques da camada Infraestrutura. Também são o tipo mais comum de ataque DDoS e incluem vetores como inundações sincronizadas (SYN) e outros ataques de reflexão como inundações de Pacote de datagramas de usuário (UDP). Esses ataques geralmente são grandes em volume e visam sobrecarregar a capacidade da rede ou dos servidores de aplicativos. Mas, felizmente, também são tipos de ataques que possuem assinaturas claras e são mais fáceis de detectar.
Ataques da camada Aplicativo
Os ataques nas camadas 6 e 7 geralmente são classificados como ataques da camada Aplicativo. Embora esses ataques sejam menos comuns, também tendem a ser mais sofisticados. Eles geralmente são pequenos em volume em comparação com os ataques da camada Infraestrutura, mas tendem a se concentrar em partes específicas do aplicativo, que acaba ficando indisponível para usuários reais. Por exemplo, uma inundação de solicitações HTTP para uma página de login, uma API de pesquisa cara, ou até inundações XML-RPC do Wordpress (também conhecidas como ataques de pingback do Wordpress).
Reduzir a área da superfície de ataque
Uma das primeiras técnicas para mitigar ataques DDoS é minimizar a área da superfície que pode ser atacada para limitar as opções que os atacantes têm e permitir a criação de proteções em um único lugar. Queremos garantir que não exponhamos nosso aplicativo ou recursos a portas, protocolos ou aplicativos de onde eles não esperam nenhuma comunicação. Dessa maneira, os possíveis pontos de ataque são minimizados e podemos nos concentrar em nossos esforços de mitigação. Em alguns casos, você pode fazer isso colocando seus recursos de computação atrás de Redes de distribuição de conteúdo (CDNs) ou load balancers e restringindo o tráfego direto da Internet a certas partes da infraestrutura, como seus servidores de banco de dados. Em outros casos, você pode usar firewalls ou Listas de controle de acesso (ACLs) para controlar o tráfego que chega aos aplicativos.
Planejar para escalar
As duas principais considerações para mitigar ataques DDoS volumétricos em larga escala são a capacidade da largura de banda (ou trânsito) e a capacidade do servidor de absorver e mitigar ataques.
Capacidade de trânsito Ao arquitetar seus aplicativos, verifique se o provedor de hospedagem oferece ampla conectividade redundante à Internet que permita lidar com grandes volumes de tráfego. Como o objetivo final dos ataques DDoS é afetar a disponibilidade de seus recursos/aplicativos, você deve colocá-los não só perto dos usuários finais, mas também de grandes trocas na Internet, que darão aos usuários acesso fácil ao aplicativo mesmo durante grandes volumes de tráfego. Além disso, os aplicativos da Web podem ir um passo além empregando Redes de distribuição de conteúdo (CDNs) e serviços inteligentes de resolução de DNS, que fornecem uma camada adicional de infraestrutura de rede para veicular conteúdo e resolver consultas de DNS em locais geralmente mais próximos dos usuários finais.
Capacidade de servidor A maioria dos ataques DDoS são ataques volumétricos que consomem muitos recursos. Portanto, é importante que você possa aumentar ou diminuir rapidamente seus recursos de computação. Você pode fazer isso executando os recursos de computação maiores ou os que tenham recursos como interfaces de rede mais extensas ou redes aprimoradas compatíveis com volumes maiores. Além disso, também é comum o uso de load balancers para monitorar e alternar continuamente as cargas entre os recursos para evitar a sobrecarga de algum deles.
Saber o que é um tráfego normal e um anormal
Sempre que detectamos níveis elevados de tráfego atingindo um host, a linha de base é ser capaz de aceitar o máximo de tráfego que nosso host puder processar sem afetar a disponibilidade. Esse conceito é chamado de limite de taxa. As técnicas de proteção mais avançadas podem dar um passo adiante e, de maneira inteligente, aceitar apenas o tráfego legítimo, analisando os pacotes individuais por conta própria. Para fazer isso, você precisa entender as características do bom tráfego que o destino geralmente recebe e poder comparar cada pacote com essa linha de base.
Implantar firewalls para ataques de Aplicativo sofisticados
Uma melhor prática é usar um Firewall de aplicativos da Web (WAF) contra ataques, como injeção SQL ou falsificação de solicitação entre sites, que tentam explorar uma vulnerabilidade no próprio aplicativo. Além disso, devido à natureza exclusiva desses ataques, você deve ser capaz de criar facilmente mitigações personalizadas contra solicitações ilegítimas, que podem ter características como se disfarçar de bom tráfego ou serem provenientes de IPs ruins, geografias inesperadas etc. Às vezes, isso também pode ser útil na mitigação de ataques, pois eles recebem suporte experiente para estudar padrões de tráfego e criar proteções personalizadas.
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.
Todos os clientes da AWS se beneficiam gratuitamente com as proteções automáticas do AWS Shield Standard.