Protegendo seus aplicativos contra ataques DoS de camada 7 com o NGINX App Protect Denial of Service

NGINX | 09 de setembro de 2021

A experiência do usuário é tudo. Não há razão para ter aplicativos e sites se consumidores e clientes não os utilizam. Por isso, é importante garantir uma experiência do usuário positiva e consistente, especialmente porque os usuários estão cada vez menos tolerantes a latência, indisponibilidade e erros.

Quando os usuários têm uma experiência negativa com seu aplicativo ou site, você pode perdê-los como clientes para sempre. Em uma pesquisa da Salesforce, 61% dos consumidores relataram que, após uma única experiência ruim, trocaram a empresa por uma concorrente. Se a experiência ruim se repetir, o abandono será inevitável. A fidelidade à marca tem seus limites quando há tantas opções online.

Uma das principais causas da insatisfação dos consumidores é a indisponibilidade, e os ataques de negação de serviço (DoS) são um dos principais responsáveis por períodos prolongados de indisponibilidade. Devido às mudanças no design das aplicações, surgiram novos vetores de ameaça, e os invasores adaptaram os ataques DoS – usados há mais de duas décadas – para explorar arquiteturas modernas. Entre janeiro de 2020 e março de 2021, os ataques DoS na camada de aplicação (Camada 7) aumentaram drasticamente, representando 16% de todos os incidentes de DDoS. Na verdade, metade das solicitações feitas à Equipe de Resposta a Incidentes de Segurança da F5 é de ajuda com ataques DoS na camada de aplicação.

A mitigação centralizada de segurança pode ser eficaz contra ataques volumétricos de DoS na camada de rede (Camada 4), mas os ataques de DoS na camada de aplicação são mais direcionados e, portanto, exigem defesas especializadas para proteger aplicações modernas, que estão cada vez mais distribuídas, são compostas por APIs e microsserviços e operam em infraestruturas mais flexíveis, como a nuvem.

Indo além da proteção tradicional

Mesmo que a origem de um ataque de DoS seja distribuída (tornando-o um ataque de DDoS), os ataques volumétricos básicos na camada de rede geralmente têm como alvo um único dispositivo ou serviço, e as ferramentas de proteção tradicionais também são monolíticas e centralizadas. Embora essas ferramentas ainda tenham seu lugar no cenário de segurança de aplicações, elas não são suficientes. Atualmente, os serviços de proteção contra DDoS baseados em nuvem são o padrão do setor. No entanto, eles ainda não levam em conta o fato de que as aplicações deixaram de ser serviços únicos e monolíticos e passaram a ter muitos pontos de integração que precisam de proteção.

Antes da transformação digital e da mudança arquitetural em larga escala para APIs, microsserviços e integrações baseadas em nuvem que a acompanhou, um firewall básico de aplicações web (WAF) conseguia mitigar, em grande parte, a exploração de vulnerabilidades e os ataques de DoS. Em um ataque volumétrico, que se manifesta, por exemplo, como uma inundação de tráfego no lado do cliente, um WAF básico e as ferramentas tradicionais de DoS são eficazes porque o tráfego é centralizado — um serviço de limpeza de tráfego na nuvem pode mitigar os ataques antes que o tráfego entre nos canais de entrada, ou a proteção pode ser posicionada à frente da pilha de aplicações. E os WAFs básicos ainda protegem contra ataques tradicionais, principalmente por meio da limitação de taxa, de listas de bloqueio e de assinaturas de bots, mas o cenário de ameaças já evoluiu para além disso.

Em resumo, o cenário mudou, e os WAFs básicos e a proteção tradicional contra DoS não são eficazes em arquiteturas de aplicações modernas.

Os ataques de DoS modernos ocorrem na Camada 7 e, como ficam ocultos em canais criptografados e têm como alvo a lógica das aplicações, são muito mais difíceis de detectar. Por isso, você precisa de uma camada adicional de proteção para avaliar o comportamento dos clientes e a sobrecarga dos servidores — os dois principais indicadores de um ataque de DoS.

Para ajudar a resolver esse problema, lançamos recentemente o módulo de proteção contra negação de serviço do NGINX App Protect. Talvez você esteja se perguntando se precisa de um módulo de DoS caso já tenha um WAF e uma proteção tradicional contra DoS. A resposta é sim — continue lendo para entender o motivo.

Arquiteturas modernas precisam de proteção moderna

A criptografia está em toda parte, e a proteção tradicional contra DoS não foi projetada para realizar descriptografia em grande escala. Na era das aplicações monolíticas, a mitigação centralizada de DoS fazia sentido porque a criptografia não era tão difundida, e os ataques podiam ser detectados, em grande parte, observando apenas o lado do cliente. Hoje, quase todo o tráfego é criptografado, portanto, a mitigação de DoS sem estado que se concentra exclusivamente no tráfego de entrada é, em grande parte, ineficaz, especialmente quando um ataque usa uma única solicitação direcionada para sobrecarregar a aplicação.

Agora, as aplicações são projetadas e otimizadas para arquiteturas distribuídas, como microsserviços, e a criptografia de ponta a ponta está se tornando comum graças à maior ênfase na privacidade dos usuários (e à legislação subsequente) e aos avanços na criptografia. As arquiteturas modernas dependem fortemente de APIs, e a comunicação entre APIs (também chamada de tráfego leste-oeste) pode nem sequer passar por controles de segurança centralizados.

A proteção eficaz contra DoS no nível da aplicação exige visibilidade e contexto de ponta a ponta, incluindo a capacidade de detectar anomalias no lado do cliente e sobrecarga no lado do servidor. Ataques avançados de DoS na Camada 7 muitas vezes se disfarçam de tráfego legítimo, portanto, medidas básicas de mitigação, como limitação de taxa, listas de bloqueio, assinaturas e conformidade com protocolos, já não são suficientes.

Ataques sofisticados de camada 7 parecem tráfego legítimo à primeira vista, e os WAFs básicos não contam com a análise comportamental necessária para detectá-los. O NGINX App Protect DoS foi desenvolvido especificamente para analisar tanto anomalias no lado do cliente quanto sobrecarga no servidor, podendo identificar e mitigar ataques dinamicamente e medir a eficácia da mitigação, sem exigir a atenção de equipes de segurança já sobrecarregadas.

Se você depende exclusivamente de defesas básicas de WAF e da mitigação tradicional de DDoS, não tem a visibilidade nem o contexto adequados sobre um ataque de camada 7, e as possíveis consequências são enormes: latência, indisponibilidade, perda de receita e danos à marca. Com a análise comportamental, as anomalias dos clientes e a integridade do serviço podem ser analisadas continuamente para detectar um ataque de DoS de dia zero. Uma análise detalhada do comportamento do site nos permite responder a perguntas como: Há algo anormal em comparação com os padrões de tráfego de referência? Faltam à solicitação informações que esperaríamos que um navegador incluísse, embora ela pareça vir de um navegador? A solicitação inclui uma consulta complexa ao banco de dados que está causando alta utilização da CPU?

Ao criar um panorama do desempenho e do comportamento normais, o NGINX App Protect DoS pode se concentrar em ataques de camada 7 que contornam as defesas tradicionais e sobrecarregam a aplicação.

Diagrama que mostra oito tipos de ataques bloqueados pelo WAF e pela proteção contra DoS do NGINX App Protect

Mitigue com vários módulos

As consequências dos ataques de DoS não mudaram: desempenho lento, usuários frustrados e perda de receita. No entanto, a forma como esses ataques ocorrem pode variar bastante, com hackers usando criptografia e ferramentas de segurança para disfarçar a ameaça como tráfego legítimo.

Embora seus usuários talvez não consigam distinguir as diferentes arquiteturas, eles percebem a diferença entre um site com bom e mau desempenho. Enxurradas de tráfego de ataque causam latência, deixando a experiência do usuário mais lenta. Se a lentidão for excessiva, até mesmo os usuários mais pacientes (que não são muitos!) abandonam a transação e migram para outro site. Uma única solicitação direcionada pode causar latência e sobrecarregar o servidor, por isso é fundamental contar com proteção especializada contra ataques de DoS à aplicação.

As soluções de segurança para aplicações web continuam evoluindo para acompanhar os novos ataques, como os descritos em Ameaças automatizadas da OWASP a aplicações web. No entanto, você precisa de uma proteção que se integre nativamente ao ambiente de execução da sua aplicação. Algo dinâmico. Algo adaptável. Embora outras soluções de DoS possam ser projetadas para ataques DDoS de rede, como inundações de SYN, a solução de DoS do NGINX App Protect é especializada em ataques de camada 7 que sobrecarregam os recursos da aplicação. A combinação de soluções de WAF e DoS de camada 7 garante que as aplicações sejam protegidas tanto contra a exploração de vulnerabilidades quanto contra o abuso da lógica de negócios, evitando comprometimentos, bem como latência, degradação e indisponibilidade.

Hoje, o comércio ocorre principalmente online. As pessoas também passam a maior parte do tempo online. Você precisa tornar esse ambiente seguro e protegido. Ao combinar os módulos NGINX App Protect WAF e NGINX App Protect DoS, você obtém uma proteção robusta e adequada ao seu ambiente, às suas aplicações e ao seu negócio.

Experimente o NGINX App Protect – comece seu teste gratuito de 30 dias hoje mesmo ou entre em contato conosco para conversar sobre seus casos de uso.


Compartilhar

Sobre o autor

Publicações relacionadas no blog

Como o F5 NGINX One aprimora o gerenciamento e a observabilidade
NGINX | 10/10/2024

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
NGINX | 17/06/2024

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
NGINX | 14/07/2021

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
NGINX | 02/04/2019

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
NGINX | 24/05/2018

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
NGINX | 19/04/2016

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.