ataques DDoS na camada de aplicação, e como podem ser mitigados

ataques DDoS na camada de aplicação, e como podem ser mitigados

ataques DDoS de aplicação

DDoS (negação de serviço distribuída) e DoS (negação de serviço) os ataques podem ser amplamente classificados em três categorias com base nas camadas do modelo OSI que eles visam: camada de rede (Camada 3), camada de transporte (Camada 4), e camada de aplicação (Camada 7).

Camada 3 e da Camada 4 os ataques são tipicamente menos complexos–embora possam ser muito desafiadores de mitigar–e envolvem inundar a camada de rede e transporte com tráfego, sobrecarregando os recursos do sistema alvo e tornando-o indisponível para usuários legítimos. Esses tipos de ataques podem ser lançados usando várias técnicas, como inundações ICMP, inundações TCP SYN, ou inundações UDP.

Uma inundação ICMP, por exemplo, é um ataque de Camada 3 no qual um grande número de pacotes ICMP é inundado no sistema alvo, tornando-o não responsivo. Uma inundação TCP SYN, por outro lado, é uma camada 4 ataque que explora as maneiras como as conexões TCP são estabelecidas.

Em um ataque de inundação SYN, o atacante envia muitos pacotes SYN para o sistema alvo, mas nunca envia um pacote ACK para completar a conexão. Isso faz com que o sistema aloque recursos para cada tentativa de conexão, sobrecarregando o sistema e tornando-o indisponível para usuários legítimos. Uma inundação UDP envia um grande número de pacotes UDP para um sistema alvo, consumindo seus recursos e tornando-o não responsivo.

ataques DDoS na camada de aplicação

Ataques de camada de aplicação são mais complexos e difíceis de mitigar do que a camada 3 e camada 4 ataques. Esses ataques visam a camada de aplicação (camada 7) do sistema alvo e exploram vulnerabilidades na própria aplicação. Camada 7 ataques podem causar mais danos porque podem impactar diretamente aplicações e a infraestrutura subjacente. Você não poderá mitigar ataques DDoS de camada 7 com ferramentas de camada 3 ou camada 4 como com firewalls de rede.

inundações HTTP, Ataques Slowloris, e ataques de amplificação DNS são Camada 7 ataques de negação de serviço. Esses ataques requerem defesas mais sofisticadas, como firewalls de camada de aplicação, sistemas de prevenção de intrusões, e CDN (redes de entrega de conteúdo).

inundações HTTP

Ataques de inundação HTTP são realizados usando solicitações GET ou POST para sobrecarregar o servidor alvo. Ataques de inundação usando solicitações GET são geralmente mais simples e requerem menos recursos porque apenas pedem informações do servidor. Solicitações POST, por outro lado, geralmente requerem o envio de grandes quantidades de dados.

Uma das razões pelas quais os ataques de inundação HTTP são difíceis de mitigar é que muitas vezes são lançados de um grande número de fontes, tornando difícil identificar e bloquear todo o tráfego malicioso. Além disso, atacantes podem usar técnicas como falsificação de IP para disfarçar suas verdadeiras identidades e tornar ainda mais difícil rastrear a origem de seus ataques.

Defender-se contra ataques de inundação HTTP pode ser complicado. Diferentes tipos de ataques requerem diferentes estratégias de mitigação. Defesas comuns contra ataques de inundação HTTP incluem limitação de taxa, listas negras, e firewalls de aplicações web. No entanto, essas técnicas podem ser intensivas em recursos e podem não ser suficientes para frustrar ataques mais sofisticados.

Ataques Slowloris

Slowloris é um tipo de ataque de inundação em que a forma como os servidores web lidam com as conexões dos clientes é alvo. Este ataque funciona abrindo um grande número de conexões com o servidor, mas enviando as solicitações a uma taxa lenta, mantendo cada conexão aberta o máximo de tempo possível. Este tipo de ataque pode consumir todos os recursos disponíveis do servidor e permite que os atacantes consumam CPU, memória, ou largura de banda da rede, etc. sem sequer acionar a limitação de taxa típica e os mecanismos de filtragem de tráfego comumente usados para detectar e bloquear outros tipos de ataques DDoS.

Para realizar um ataque Slowloris, os atacantes normalmente usam scripts ou ferramentas que enviam solicitações HTTP para um servidor, mas deliberadamente atrasam o envio de solicitações subsequentes. A solicitação é projetada para parecer uma solicitação legítima, mas com um cabeçalho incompleto que mantém a conexão aberta indefinidamente. Com o tempo, o servidor terá muitas conexões abertas aguardando dados adicionais do cliente, fazendo com que o servidor pare de responder ao tráfego legítimo.

Ataques Slowloris podem ser difíceis de detectar devido ao seu design encoberto e largura de banda relativamente baixa. Isso o torna uma ferramenta eficaz para atacantes que desejam sabotar seus servidores sem acionar alertas ou criar suspeitas. Para se defender contra ataques Slowloris, os servidores web podem implementar várias contramedidas. Por exemplo, limitar o número de conexões que podem ser estabelecidas a partir de um único endereço IP ou definir um tempo limite para solicitações incompletas. Alguns firewalls de aplicativos web e serviços de mitigação de DDoS têm proteção embutida contra ataques Slowloris, usando algoritmos que podem detectar e bloquear esse tráfego em tempo real.

Camada 7 Mitigações de DDoS

Limitação de taxa

A limitação de taxa envolve definir um limite no número de solicitações que podem ser feitas a partir de um endereço IP específico ou agente de usuário em um período específico de tempo. O conceito é muito semelhante à limitação de taxa na camada 3 mas deve ser implementado na camada 7.

O objetivo da limitação de taxa é evitar que um atacante sobrecarregue o aplicativo web com um grande número de solicitações, causando interrupção do servidor. A limitação de taxa pode ser implementada em várias camadas da arquitetura do seu aplicativo web, em um servidor web, balanceador de carga, ou firewall de aplicativo. As implementações geralmente envolvem rastrear o número de solicitações feitas por um determinado endereço IP ou agente de usuário e bloquear novas solicitações quando um limite predefinido é alcançado.

Uma abordagem comum para implementar a limitação de taxa em aplicativos web é usar middleware ou plugins que rastreiam o número de solicitações feitas por cada cliente e bloqueiam novas solicitações quando o limite é excedido. é que esses plugins podem ser configurados para aplicar diferentes políticas de limitação de taxa com base em fatores como o tipo de solicitação, agente de usuário, ou endereço IP do cliente.

Por exemplo, uma política simples de limitação de taxa pode limitar solicitações de um único endereço IP a um máximo de 10 solicitações por minuto. Se um cliente exceder esse limite, solicitações subsequentes são bloqueadas até que o período expire.

Produtos de limitação de taxa em nível de aplicativo estão disponíveis para servidores web e serviços em nuvem populares, incluindo:

Apache

O Apache tem vários módulos que podem ser usados para limitação de taxa, como mod_limitipconn, que limita o número de conexões simultâneas de um determinado endereço IP, e mod_qos, que fornece vários controles de qualidade de serviço, incluindo limitação de taxa.

Além disso, O ModSecurity Web Application Firewall tem um recurso de limitação de taxa que pode bloquear clientes que excedem um limite definido. Além dos módulos mencionados acima, o Apache também fornece mod_evasive. Este é um módulo que pode ser usado para limitar a taxa e bloquear clientes que excedem um limite definido. Detectar e bloquear clientes mal-intencionados usando uma variedade de técnicas, incluindo rastreamento de IP e user-agent.

Nginx

O Nginx fornece módulo ngx_http_limit_req. Isso pode ser usado para limitar a taxa de requisições de certos clientes com base no endereço IP ou outros fatores. Este módulo usa um algoritmo de balde de tokens para alocar tokens a cada cliente com base em uma política de limitação de taxa. Além do módulo ngx_http_limit_req, O Nginx também fornece o módulo ngx_http_limit_conn. Isso pode ser usado para limitar o número de conexões de clientes ou endereços IP específicos. Este módulo usa um algoritmo de balde de tokens para alocar tokens com base em políticas de limitação de taxa.

IIS

Os Serviços de Informação da Internet da Microsoft (IIS) inclui um módulo de limitação de IP dinâmico que pode ser usado para limitação de taxa. Este módulo pode ser configurado para bloquear requisições de endereços IP que excedem limites predefinidos e também pode fornecer alertas e logs para monitoramento. Além do módulo de Limitação de IP Dinâmico, O IIS também fornece um módulo de Filtragem de Requisições que pode ser usado para limitar a taxa de requisições de clientes específicos com base em vários critérios, como endereço IP, agente de usuário, e método de requisição.

AWS

Amazon Web Services (AWS) oferece vários serviços que podem ser usados para limitação de taxa, incluindo AWS WAF com limitação de taxa como um recurso.

AWS Shield oferece proteção DDoS, incluindo regras baseadas em taxa que podem bloquear solicitações de endereços IP acima de um certo limite. Adicional ao AWS WAF e AWS Shield, A AWS também oferece AWS Elastic Load Balancer. Inclui várias políticas de limitação de taxa que podem ser configuradas para bloquear clientes acima de limites predefinidos.

Azure

Microsoft Azure oferece vários serviços que podem ser usados para limitação de taxa, incluindo Azure Application Gateways. Inclui um firewall de aplicativo da web que pode ser configurado para limitar a taxa de solicitações recebidas. Além disso, Azure Front Door oferece um recurso de limitação de taxa que pode bloquear solicitações de endereços IP acima de um limite predefinido. Além do Azure Application Gateway e do Azure Front Door, A Azure também oferece Azure Firewall. Isso pode ser usado para limitar a taxa e bloquear clientes que excedem um limite definido.

GCP

Google Cloud Platform (GCP) oferece Cloud Armor, um firewall de aplicativo da web com capacidades de limitação de taxa que pode bloquear solicitações de clientes que excedem um limite definido.

Esses produtos de limitação de taxa na camada de aplicação podem mitigar efetivamente ataques de inundação HTTP, limitando o número de solicitações de clientes mal-intencionados. No entanto, é importante que sejam configurados corretamente para não bloquear o tráfego legítimo e usados em conjunto com outras medidas de segurança, como firewalls e serviços de mitigação de DDoS, para fornecer proteção abrangente contra ataques DDoS.

Timeouts para solicitações incompletas

Abaixo estão alguns métodos de mitigação da camada de aplicação Slowloris listados para Apache, Nginx, e servidores web IIS, e balanceadores de carga e recursos adicionais para AWS, Azure, e serviços GCP:

Apache

Além dos módulos mencionados acima, O Apache também fornece um módulo, mod_reqtimeout, que pode ser usado para definir um timeout para solicitações recebidas. Se o cliente enviar uma solicitação que demorar mais do que o timeout especificado, o servidor fechará a conexão. Isso evitará ataques slowloris.

Nginx

Além do módulo ngx_http_limit_conn e do módulo ngx_http_limit_req, O Nginx também fornece seu módulo ngx_http_request. Isso pode ser usado para limitar o tempo que o servidor upstream leva para processar a solicitação. Se o servidor upstream demorar mais do que o timeout especificado, O Nginx fechará a conexão.

IIS

Além dos módulos de Restrições de IP Dinâmicas e Filtragem de Solicitações, O IIS também fornece um driver em modo kernel HTTP.sys. Isso permite que você defina um tempo limite para solicitações recebidas. Se o cliente enviar uma solicitação que demorar mais do que o timeout especificado, o servidor fechará a conexão.

AWS

Além do AWS WAF e do AWS Shield, A AWS também oferece o Elastic Load Balancer, que incorpora várias regras de tempo limite de conexão que podem ser configuradas para fechar conexões que demoram mais do que um limite predefinido.

Azure

Além do Azure Application Gateway e do Azure Front Door, A Azure também oferece o Azure Load Balancer, que incorpora uma característica de tempo limite ocioso configurável que pode ser usada para fechar conexões que ficam ociosas por um período predefinido.

GCP

Google Cloud Platform (GCP) oferece várias opções de tempo limite de conexão para seus serviços, que incluem o Cloud Load Balancing, que incorpora uma característica de tempo limite configurável que pode ser usada para fechar conexões que demoram mais do que um limite predefinido.

Conclusão

Em conclusão, Ataques DDoS e DoS podem ser classificados com base nas camadas do modelo OSI que eles visam, como a camada de rede (Camada 3), camada de transporte (Camada 4), e camada de aplicação (Camada 7).

Enquanto a camada 3 e camada 4 ataques inundam as camadas de rede e transporte com tráfego, camada 7 ataques são mais complexos e exploram vulnerabilidades nas próprias aplicações. Inundações HTTP e ataques Slowloris são exemplos de camada 7 ataques de negação de serviço. Medidas de combate contra esses ataques incluem limitação de taxa, listas negras, e firewalls de aplicações web. Identificar e conter ataques em tempo real requer uma estratégia de defesa abrangente, em múltiplas camadas que inclui monitoramento, detecção, e capacidades de resposta.

Além disso, os atacantes podem personalizar suas técnicas e adaptar seus ataques para evitar a detecção e contornar medidas de segurança. Portanto, é imperativo que as organizações implementem um abrangente, em múltiplas camadas que inclui monitoramento, detecção, e capacidades de resposta para identificar e conter ataques em tempo real. Isso pode incluir o uso de algoritmos avançados de aprendizado de máquina e análises comportamentais para detectar e bloquear padrões de tráfego malicioso.

Aviso de publicação

As opiniões, informação, as opiniões expressas são exclusivamente do autor e não representam necessariamente as do seu empregador ou das organizações com as quais está afiliado.

A informação contida neste artigo é apenas para fins informativos gerais. A informação é fornecida por Farhad Mofidi e, embora ele se esforce para manter a informação atualizada e precisa, ele não faz quaisquer declarações ou garantias de qualquer tipo, expressas ou implícitas, relativamente à integridade, precisão, fiabilidade, adequação ou disponibilidade do website. Farhad não faz quaisquer declarações ou garantias. ou sobre qualquer informação, produtos ou gráficos relacionados contidos em qualquer publicação para qualquer fim.

Também, A IA pode ser usada como uma ferramenta para fornecer sugestões e melhorar alguns dos conteúdos ou frases. As ideias, pensamentos, opiniões, e produtos finais são originais e feitos por humanos pelo autor.

 

Deixar uma resposta

O seu endereço de e-mail não será publicado. Os campos obrigatórios estão assinalados *