À medida que transferimos cada vez mais aspectos do nosso dia a dia para o ambiente online, os cibercriminosos acompanham esse ritmo em seus esforços para prejudicar o nível de serviço oferecido pelos aplicativos dos quais dependemos. Suas motivações são diversas, desde vingança e tentativas de influenciar o preço das ações das empresas afetadas até a criação de uma cortina de fumaça para desviar a atenção das equipes de segurança de violações de dados.
Em um blog anterior, descrevemos como, no passado, as equipes de segurança precisavam desenvolver continuamente novas defesas contra ataques volumétricos de negação de serviço (DoS) e negação de serviço distribuída (DDoS) nas camadas de rede e transporte (camadas 3 e 4), que esgotam a largura de banda disponível dos servidores ao inundá-los com solicitações de conexão TCP/UDP. Agora, os invasores adicionaram uma nova ferramenta ao seu arsenal: ataques DoS e DDoS que usam solicitações HTTP ou chamadas de API para esgotar recursos na camada de aplicação (camada 7).
As proteções tradicionais contra DoS voltadas a ataques de rede e volumétricos não são eficazes contra ataques à Camada 7, pois, no nível da aplicação, as solicitações maliciosas muitas vezes se parecem com as legítimas. Além disso, os ataques HTTP à Camada 7 podem causar danos com uma taxa e um volume de solicitações muito menores do que os ataques no nível da rede. A proteção contra DoS na Camada 7 precisa ser mais sensível diante de um conjunto de requisitos totalmente novo:
- Distinguir ataques de padrões regulares de tráfego
- Avaliando a integridade do servidor sob carga
- Determinar quando um ataque começou e se já terminou
- Mitigação de ataques sem afetar usuários legítimos
- Determinar se as mudanças no comportamento do aplicativo são decorrentes de um ataque ou de atualizações na funcionalidade do aplicativo
- Resistir a um ataque prolongado sem perder a eficácia da detecção
NGINX App Protect contra negação de serviço (DoS) enfrenta todos esses desafios para garantir uma proteção contra ameaças de dia zero que seja simplificada, fácil de implementar e ofereça configuração de políticas adaptativa e sem intervenção.
Como o NGINX App Protect DoS se adapta para interromper ataques automaticamente
O NGINX App Protect DoS usa um processo de várias etapas para detectar e mitigar ataques de DoS na camada 7:
- Capture o comportamento típico em um modelo estatístico do site
- Verificar a integridade do serviço
- Detectar uma anomalia
- Identifique agentes mal-intencionados e padrões de solicitação
- Mitigue o ataque com uma defesa em várias camadas
Capturando o comportamento típico em um modelo estatístico do site
A primeira etapa do processo é capturar o comportamento dos usuários e da aplicação durante um período em que sabemos que o site não está sob ataque, a fim de criar um modelo estatístico do site que estabeleça uma linha de base do comportamento típico. O NGINX App Protect DoS monitora 320 métricas de usuários e da aplicação para fornecer uma visão abrangente da implantação da sua aplicação. Ele também atualiza dinamicamente o modelo estatístico do site à medida que observa o tráfego. Isso elimina a necessidade de ajustar manualmente os limites do sistema e, ao mesmo tempo, garante que o NGINX App Protect DoS leve em consideração as mudanças nos padrões de tráfego que inevitavelmente ocorrem ao longo do tempo.
Uma das classes de métricas monitoradas diz respeito às características das solicitações HTTP – o método HTTP, o valor do cabeçalho User-Agent e outras, como as mostradas no gráfico.

Verificando a integridade do serviço
Muitas ferramentas de mitigação de DoS na camada 7 consideram apenas os padrões de tráfego dos clientes. Para aprimorar a detecção de ataques, você também pode configurar o NGINX App Protect DoS para verificar ativamente a integridade do serviço. Ele monitora diversas métricas de desempenho do servidor, como o tempo de resposta e a proporção de solicitações descartadas. A piora nos valores dessas métricas indica que uma aplicação está “sob estresse”, possivelmente devido a um ataque. O monitoramento das métricas do servidor oferece outro benefício: quando o NGINX App Protect DoS determina que há um ataque em andamento, o padrão das respostas às verificações de integridade ajuda a identificar quando o ataque começou.
Detectando uma anomalia
Quando o NGINX App Protect DoS determina que um ataque está em andamento – com base em desvios do modelo estatístico do site e em alterações na resposta do servidor (se configurado) –, ele interrompe a atualização do modelo estatístico do site e passa a analisar como os valores atuais das métricas diferem das linhas de base estabelecidas. Essas diferenças provavelmente indicam uma anomalia global.
Identificação de agentes mal-intencionados e padrões de solicitação
O NGINX App Protect DoS inicia então dois procedimentos executados em paralelo:
- Analisar o comportamento de usuários individuais para detectar quem criou ou contribuiu para a anomalia. Inicialmente, o NGINX App Protect trata todos os usuários como suspeitos e analisa o comportamento deles. É improvável que todos os usuários sejam invasores, mas medir o comportamento de cada um deles permite que o NGINX App Protect crie um panorama estatístico que revele quem contribuiu ou não para o ataque. Os agentes mal-intencionados detectados são identificados por meio do endereço IP ou do cabeçalho
X-Forwarded-Fornas solicitações deles. - Geração de uma lista de regras que descrevem o tráfego de ataque sem bloquear usuários legítimos – assinaturas em tempo real para proteção contra ataques de dia zero. As assinaturas geradas durante ataques anteriores podem ser reutilizadas. As assinaturas geradas identificam os atributos HTTP associados ao ataque, como neste exemplo:
http.request.method eq GET and http.user_agent contains Chrome and http.uri_parameters eq 6 and http.accept_header_exists eq false and
http.headers_count eq 7Mitigando o ataque com uma defesa em várias camadas
O principal objetivo ao se defender contra um ataque de camada 7 é detectá-lo antes que ele possa causar qualquer dano.
Conforme mostrado no diagrama a seguir, você pode configurar uma estratégia de mitigação conservadora ou padrão. Em ambas as estratégias, a primeira camada de defesa consiste em bloquear solicitações dos agentes mal-intencionados que foram identificados pelo endereço IP e pelo cabeçalho X-Forwarded-For na etapa anterior. A próxima camada de defesa bloqueia solicitações que correspondem às assinaturas geradas na etapa anterior.
Por fim, se você tiver configurado a mitigação padrão e o NGINX App Protect DoS detectar que as duas primeiras camadas de defesa são insuficientes, ele aplicará a limitação global de taxa por um curto período.

Minimizando falsos positivos durante a mitigação de ataques
Quando o NGINX App Protect DoS aplica a limitação global de taxa, existe a possibilidade de que solicitações de usuários legítimos sejam bloqueadas — um falso positivo. O NGINX App Protect DoS pode reduzir os falsos positivos com base no fato de que um ataque de DoS típico é realizado por meio de scripts executados por um controlador de botnet (malware em computadores infectados), e não diretamente por pessoas. Ao contrário dos navegadores da Web, muitos desses scripts simples não conseguem lidar corretamente com um redirecionamento HTTP, e um número ainda menor consegue processar JavaScript. Essas diferenças de capacidade entre scripts e navegadores ajudam o NGINX App Protect DoS a identificar qual deles está gerando o tráfego suspeito.
Assim, em vez de limitar a taxa de solicitações de todos os clientes, o NGINX App Protect DoS primeiro envia um redirecionamento HTTP e, em seguida, um trecho de JavaScript para ser processado. Bots controlados por scripts não conseguem responder corretamente, mas um navegador consegue, permitindo que o NGINX App Protect DoS bloqueie o tráfego proveniente de scripts e, ao mesmo tempo, permita a passagem do tráfego de navegadores.
Reconhecemos que alguns usuários não se sentem confortáveis em confiar no aprendizado adaptativo devido à possibilidade de um grande número de falsos positivos, mas constatamos que essa é a maneira mais eficaz de mitigar ataques de DoS na camada 7. O NGINX App Protect DoS reduz os falsos positivos combinando várias abordagens: análise do comportamento dos usuários, verificação da integridade dos serviços e avaliação da eficácia das táticas de mitigação. Juntas, essas três abordagens oferecem visibilidade e proteção abrangentes sem exigir que você altere manualmente a configuração em resposta a ataques.

Por que usar proteção contra DoS na camada 7 se eu já tenho um WAF?
Talvez você se pergunte por que precisa de proteção contra ataques DoS de camada 7 se o seu WAF já oferece proteção contra bots. Embora seja verdade que os ataques DDoS de camada 7 geralmente sejam realizados por bots, a finalidade deles não é a mesma de outras atividades de bots. Normalmente, os bots tentam coletar informações sem interromper o serviço, enquanto a interrupção do serviço é justamente o objetivo dos ataques DoS e DDoS de camada 7.
Outra diferença é que as ferramentas antibot padrão tentam distinguir entre “bots bons” e “bots mal-intencionados”, uma tarefa complexa que geralmente exige supervisão humana para evitar falsos positivos. O NGINX App Protect DoS, por outro lado, não se preocupa se o tráfego é gerado por bots ou por algum outro mecanismo — ele se concentra em distinguir invasores de usuários legítimos com base no comportamento deles. Como o NGINX App Protect DoS usa técnicas antibot somente quando determina que os bots estão participando de um ataque de DoS de camada 7, ele gera significativamente menos falsos positivos do que os softwares antibot padrão. Além disso, os métodos de mitigação do NGINX App Protect DoS fazem uso eficiente da CPU, permitindo que ele continue protegendo seus aplicativos durante todo o ataque de DoS de camada 7.
Conclusão
O NGINX App Protect DoS monitora mais de 320 métricas relacionadas ao comportamento dos usuários e dos aplicativos, resultando em um modelo estatístico multifatorial que oferece a proteção mais precisa possível. Seus algoritmos exclusivos reduzem significativamente os falsos positivos. Esses recursos permitem que o NGINX App Protect DoS mitigue ataques de DoS altamente distribuídos, nos quais cada solicitação mal-intencionada parece totalmente legítima e um único invasor pode até mesmo gerar menos tráfego do que um usuário legítimo médio. Com sua tecnologia adaptativa, o NGINX App Protect DoS protege infraestruturas modernas não apenas contra os ataques atuais, mas também contra aqueles que surgirão no futuro.
Se quiser saber mais sobre como garantir a proteção contra DoS, confira nosso resumo da solução. Consulte também estes blogs relacionados:
- Protegendo aplicações contra ataques complexos e modernos
- NGINX App Protect Denial of Service bloqueia ataques de DoS no nível da aplicação
Experimente o NGINX App Protect DoS – comece uma avaliação gratuita de 30 dias hoje mesmo ou entre em contato conosco para conversar sobre seus casos de uso.
Sobre o autor
Publicações relacionadas no blog

Como o F5 NGINX One aprimora o gerenciamento e a observabilidade
Descubra como o F5 NGINX One aprimora o gerenciamento e a observabilidade de ambientes híbridos e multicloud ao oferecer um console web centralizado baseado em SaaS, com insights em tempo real, conformidade automatizada e gerenciamento simplificado de configurações.

Do OpenAPI ao NGINX como gateway de API usando uma API declarativa
Descubra como transformar uma definição de esquema OpenAPI em uma configuração NGINX totalmente funcional, operando como um API Gateway com a segurança de um Web Application Firewall e um Portal do Desenvolvedor, usando uma abordagem declarativa de API.

Como gerenciar picos repentinos de tráfego e sobrecarga do servidor
Picos de tráfego e sobrecarga de servidores são preocupações sérias para varejistas online em qualquer época, mas especialmente durante a “Cyber Season” de compras de fim de ano. Detalhamos como você pode aproveitar as soluções de entrega de aplicações de nível de produção da NGINX para se preparar para aumentos repentinos de tráfego.

Distribuição segura de chaves privadas SSL com o NGINX
Descrevemos três maneiras progressivamente mais seguras de proteger chaves privadas SSL ao configurar o NGINX para processar tráfego HTTPS: permitir acesso de leitura apenas ao usuário root, criptografar as chaves com senhas armazenadas separadamente e distribuir as senhas a partir de um repositório central.
Agrupando solicitações de API em lotes com NGINX Plus e o módulo JavaScript do NGINX
O módulo JavaScript do NGINX lançado com o NGINX Plus R15 oferece suporte a subsolicitações, possibilitando uma classe totalmente nova de casos de uso para o NGINX Plus. Este exemplo completo também usa a API do NGINX Plus e os módulos de chave-valor para converter solicitações de API dos clientes em solicitações separadas para as APIs dos microsserviços que compõem um aplicativo.
Como superar o esgotamento de portas efêmeras no NGINX e no NGINX Plus
Confira dicas para evitar o esgotamento de portas efêmeras com ajustes no kernel do Linux, conexões keepalive e conexões vinculadas dinamicamente a endereços IP locais.