À medida que transferimos cada vez mais aspectos de nossa vida diária para o ambiente on-line, os cibercriminosos continuam seus esforços para degradar o nível de serviço fornecido pelos aplicativos dos quais dependemos. Suas motivações são inúmeras, desde vingança até influenciar o preço das ações das empresas afetadas, até criar uma cortina de fumaça que distrai as equipes de segurança das violações de dados.
Em um blog anterior , descrevemos como, no passado, as equipes de segurança tinham que desenvolver continuamente novas defesas contra ataques de negação de serviço volumétrica (DoS) e ataques de negação de serviço distribuída (DDoS) nos níveis de rede e transporte ( camadas 3 e 4 ), que esgotam a largura de banda disponível dos servidores, inundando-os 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 no nível do aplicativo ( camada 7 ).
As proteções DoS tradicionais contra ataques de rede e volumétricos não são eficazes contra ataques de Camada 7 porque, no nível do aplicativo, as solicitações maliciosas geralmente parecem iguais às legítimas. Além disso, ataques HTTP na Camada 7 podem ser prejudiciais em uma taxa e volume de solicitações muito menores do que ataques em nível de rede. A proteção DoS da camada 7 deve ser mais sensível diante de um conjunto completamente novo de requisitos:
O NGINX App Protect Denial of Service (DoS) aborda todos esses desafios para garantir proteção de dia zero que seja simplificada, fácil de implementar e forneça configuração de política adaptável e sem intervenção humana.
O NGINX App Protect DoS usa um processo de várias etapas para detectar e mitigar ataques DoS de camada 7:
O primeiro passo no processo é capturar o comportamento do usuário e do aplicativo durante um período em que sabemos que o site não está sob ataque, para criar um modelo estatístico do site que capture uma linha de base do comportamento típico. O NGINX App Protect DoS rastreia 320 métricas de usuários e aplicativos para uma visão abrangente da implantação do seu aplicativo. Ele também atualiza dinamicamente o modelo estatístico do site à medida que observa o tráfego. Isso libera você da necessidade de ajustar os limites do sistema manualmente, ao mesmo tempo em que 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 classe de métricas rastreadas diz respeito às características da solicitação HTTP – o método HTTP, o valor do cabeçalho User-Agent
e outros como os mostrados no gráfico.
Muitas ferramentas de mitigação de DoS da Camada 7 prestam atenção apenas aos padrões de tráfego do cliente. Para detecção superior de ataques, você pode configurar o NGINX App Protect DoS para verificar ativamente a integridade do serviço. Ele rastreia diversas métricas de desempenho do servidor, como tempo de resposta e proporção de solicitações descartadas. Valores piores para essas métricas indicam que um aplicativo está “sob estresse”, possivelmente por causa de um ataque. Há outro benefício em rastrear métricas de servidor: uma vez que o NGINX App Protect DoS determina que um ataque está em andamento, o padrão de respostas às verificações de integridade ajuda a identificar quando o ataque começou.
Quando o NGINX App Protect DoS determina que um ataque está em andamento – com base em desvios do modelo estatístico do site e alterações na resposta do servidor (se configurado) – ele para de atualizar o modelo estatístico do site e, em vez disso, analisa como os valores métricos atuais diferem das linhas de base estabelecidas. As diferenças provavelmente apontam para uma anomalia global.
O NGINX App Protect DoS então inicia dois procedimentos que são executados em paralelo:
Analisar o comportamento de usuários individuais para detectar quem criou ou contribuiu para a anomalia.
O NGINX App Protect inicialmente trata todos os usuários como suspeitos e analisa seu comportamento. É improvável que todos os usuários sejam invasores, mas medir o comportamento de todos eles permite que o NGINX App Protect crie uma imagem estatística que revela quem contribuiu e quem não contribuiu para o ataque. Os agentes maliciosos detectados são identificados usando seu endereço IP ou o cabeçalho X-Forwarded-For
em suas solicitações.
Gerando 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. Assinaturas geradas durante ataques anteriores podem ser reutilizadas.
As assinaturas geradas identificam atributos HTTP associados ao ataque, como neste exemplo:
http.request.method eq GET e http.user_agent contém Chrome e http.uri_parameters eq6 e http.accept_header_exists eq false e http.headers_count eq 7
O objetivo principal na defesa contra um ataque da Camada 7 é pegá-lo antes que ele possa causar algum dano.
Conforme mostrado no diagrama a seguir, você pode configurar uma estratégia de mitigação conservadora ou padrão. Com ambas as estratégias, a primeira camada de defesa é bloquear solicitações de agentes maliciosos 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ê configurou a mitigação padrão e o NGINX App Protect DoS descobrir que as duas primeiras camadas de defesa são insuficientes, ele aplicará a limitação de taxa global por um curto período.
Quando o NGINX App Protect DoS aplica limitação de taxa global, há uma chance de que solicitações de usuários legítimos sejam bloqueadas – um falso positivo. O NGINX App Protect DoS pode reduzir falsos positivos com base no fato de que um ataque DoS típico é criado usando scripts executados por um controlador de botnet (malware em computadores infectados), não diretamente por humanos. Ao contrário dos navegadores da web, muitos desses scripts simples não conseguem lidar corretamente com um redirecionamento HTTP, e menos ainda conseguem processar JavaScript. Essas diferenças de capacidade entre scripts e navegadores ajudam o NGINX App Protect DoS a identificar qual deles está gerando tráfego suspeito.
Então, em vez de limitar a taxa de solicitações de todos os clientes, o NGINX App Protect DoS primeiro envia um redirecionamento HTTP e depois um trecho de JavaScript para ser processado. Bots com script não conseguem responder com sucesso, mas um navegador consegue, permitindo que o NGINX App Protect DoS bloqueie o tráfego de scripts e permita a passagem do tráfego do navegador.
Reconhecemos que alguns usuários se sentem desconfortáveis em confiar no aprendizado adaptativo devido ao potencial de um grande número de falsos positivos, mas descobrimos que é a maneira mais eficaz de mitigar ataques DoS da Camada 7. O NGINX App Protect DoS reduz falsos positivos combinando diversas abordagens: analisando o comportamento do usuário, verificando a integridade do serviço e medindo a eficácia das táticas de mitigação. Juntas, as três abordagens fornecem visibilidade e proteção abrangentes sem exigir que você altere manualmente a configuração em resposta a ataques.
Você pode se perguntar por que precisa de proteção DoS de Camada 7 se seu WAF já protege contra bots. Embora seja verdade que os ataques DDoS da Camada 7 geralmente são lançados por bots, seu propósito não é o mesmo que outras atividades de bots. Os bots geralmente tentam obter informações sem interromper o serviço, enquanto a interrupção do serviço é precisamente o objetivo dos ataques Layer 7 Dos e DDoS.
Outra diferença é que as ferramentas antibot padrão tentam distinguir entre “bots bons” e “bots ruins”, uma tarefa desafiadora que geralmente requer supervisão humana para evitar falsos positivos. O NGINX App Protect DoS, por outro lado, não se importa se o tráfego é gerado por bots ou algum outro mecanismo – ele se concentra em distinguir entre invasores e usuários legítimos com base em seu comportamento. Como o NGINX App Protect DoS usa técnicas antibot somente quando determina que os bots estão participando de um ataque DoS de Camada 7, ele gera significativamente menos falsos positivos do que o software antibot padrão. Além disso, os métodos de mitigação de DoS do NGINX App Protect são eficientes em termos de CPU, permitindo que ele continue protegendo seus aplicativos durante todo o curso de um ataque de DoS em Camada.
O NGINX App Protect DoS rastreia mais de 320 métricas relacionadas ao comportamento do usuário e do aplicativo, resultando em um modelo estatístico multifatorial que fornece a proteção mais precisa possível. Seus algoritmos exclusivos reduzem muito os falsos positivos. Esses recursos permitem que o NGINX App Protect DoS mitigue ataques DoS altamente distribuídos, onde cada solicitação de ataque parece completamente legal e um único invasor pode até gerar menos tráfego do que o usuário legítimo médio. Com sua tecnologia adaptável, o NGINX App Protect DoS protege infraestruturas modernas não apenas contra os ataques atuais, mas também aqueles que evoluirão no futuro.
Se você quiser saber mais sobre como garantir proteção contra DoS, confira nosso resumo de solução . Veja também estes blogs relacionados:
Experimente o NGINX App Protect DoS você mesmo – comece um teste gratuito de 30 dias hoje mesmo ou entre em contato conosco para discutir seus casos de uso .
"Esta postagem do blog pode fazer referência a produtos que não estão mais disponíveis e/ou não têm mais suporte. Para obter as informações mais atualizadas sobre os produtos e soluções F5 NGINX disponíveis, explore nossa família de produtos NGINX . O NGINX agora faz parte do F5. Todos os links anteriores do NGINX.com redirecionarão para conteúdo semelhante do NGINX no F5.com."