Proteção contra DDoS de aplicativos (camada 7)

O Azure WAF inclui vários mecanismos de defesa que ajudam a prevenir ataques de negação de serviço distribuída (DDoS). Os ataques DDoS podem visar tanto a camada de rede (L3/L4) como a camada de aplicação (L7). O Azure DDoS Protection defende-o contra ataques volumétricos em grandes camadas de rede. O WAF do Azure, a operar na camada 7, protege aplicações web contra ataques DDoS L7, como inundações HTTP. Estas defesas impedem que atacantes cheguem à sua aplicação e afetem a disponibilidade e o desempenho da sua aplicação.

Como pode proteger os seus serviços?

Mitigar estes ataques adicionando um Firewall de Aplicações Web (WAF) ou colocando proteção DDoS à frente do serviço para filtrar pedidos inadequados. O Azure oferece um WAF em execução na periferia da rede com o Azure Front Door e em centros de dados com o Application Gateway. Ajuste estes passos para se adequarem aos requisitos da sua candidatura.

  • Implante o Firewall de Aplicações Web do Azure (WAF) com o Azure Front Door Premium ou o Application Gateway WAF v2 SKU para proteger contra ataques da camada de aplicativos L7.
  • Aumente o número de instâncias de origem para que haja capacidade disponível suficiente.
  • Ative a Proteção DDoS do Azure nos IPs públicos de origem para proteger os seus IPs públicos contra ataques DDoS da camada 3 (L3) e da camada 4 (L4). As ofertas DDoS da Azure protegem automaticamente a maioria dos sites contra ataques volumétricos L3 e L4 que enviam grandes quantidades de pacotes para um site. O Azure também oferece proteção de nível de infraestrutura para todos os sites hospedados no Azure por padrão.

Azure WAF com Azure Front Door

O Azure WAF inclui muitas funcionalidades que pode usar para mitigar diferentes tipos de ataques, como inundações HTTP, bypass de cache e ataques lançados por botnets.

  • Use o conjunto de regras geridas por proteção de bots para proteger contra bots conhecidos como maus. Para obter mais informações, consulte Configurando a proteção de bot.

  • Aplique limites de taxa para evitar que os endereços IP liguem para o seu serviço com muita frequência. Para obter mais informações, consulte Limitação de taxa.

  • Bloqueie endereços IP e intervalos que identifica como maliciosos. Para obter mais informações, consulte Restrições de IP.

  • Bloqueie ou redirecione para uma página da Web estática qualquer tráfego de fora de uma região geográfica definida ou dentro de uma região definida que não se encaixe no padrão de tráfego do aplicativo. Para obter mais informações, consulte Filtragem geográfica.

  • Crie regras WAF personalizadas para bloquear e limitar automaticamente os ataques HTTP ou HTTPS que tenham assinaturas conhecidas. As assinaturas incluem um agente do utilizador específico ou um padrão de tráfego específico, como cabeçalhos, cookies, parâmetros da cadeia de consulta ou uma combinação de várias assinaturas.

Além do WAF, o Azure Front Door também oferece proteção DDoS predefinida da infraestrutura do Azure, que protege contra ataques DDoS L3/L4. Ativar o armazenamento em cache no Azure Front Door pode ajudar a absorver picos súbitos no volume de tráfego na periferia da rede e a proteger as origens de back-end contra ataques.

Para obter mais informações sobre recursos e proteção contra DDoS no Azure Front Door, consulte Proteção contra DDoS no Azure Front Door.

Azure WAF com o Gateway de Aplicação do Azure

Use o Application Gateway WAF SKU v2, que inclui as funcionalidades mais recentes, como mitigação de DDoS L7, para proteger contra ataques DDoS L7.

Pode usar SKUs WAF do Application Gateway para mitigar muitos ataques DDoS L7:

  • Define o teu Application Gateway para autoescalar e não impões o número máximo de instâncias.

  • Use o conjunto de regras geridas por proteção de bots para proteger contra bots conhecidos como maus. Para obter mais informações, consulte Configurando a proteção de bot.

  • Aplique limites de taxa para evitar que os endereços IP liguem para o seu serviço com muita frequência. Para obter mais informações, consulte Configurando regras personalizadas de limitação de taxa.

  • Bloqueie endereços IP e intervalos que identifica como maliciosos. Para obter mais informações, consulte exemplos em Criar e usar regras personalizadas v2.

  • Bloqueie ou redirecione para uma página da Web estática qualquer tráfego de fora de uma região geográfica definida ou dentro de uma região definida que não se encaixe no padrão de tráfego do aplicativo. Para obter mais informações, consulte exemplos em Criar e usar regras personalizadas v2.

  • Crie regras WAF personalizadas para bloquear e limitar automaticamente os ataques HTTP ou HTTPS que tenham assinaturas conhecidas. As assinaturas incluem um user-agent específico ou um padrão de tráfego específico que inclui cabeçalhos, cookies, parâmetros de consulta ou uma combinação de várias assinaturas.

Outras considerações

  • Bloqueie o acesso a IPs públicos na origem e restrinja o tráfego de entrada de modo a permitir apenas tráfego do Azure Front Door ou do Application Gateway para a origem. Consulte as orientações sobre o Azure Front Door. Certifique-se de que não existem endereços IP publicamente expostos na rede virtual do Application Gateway.

  • Altere a política WAF para o modo de prevenção. A implementação da política no modo de deteção funciona apenas em modo de registo e não bloqueia o tráfego. Depois de verificar e testar a sua política de WAF com tráfego de produção e de a afinar para reduzir os falsos positivos, altere a política para o modo de prevenção (modo de bloqueio/defesa).

  • Monitore o tráfego usando os logs WAF do Azure para verificar se há anomalias. Pode criar regras personalizadas para bloquear qualquer tráfego ofensivo – IPs suspeitos a enviar um número incomumente elevado de pedidos, cadeias de utilizador-agente invulgares, padrões anómalos de sequências de consulta, entre outros.

  • Pode ignorar o WAF para tráfego legítimo conhecido, criando regras personalizadas de correspondência com a ação "Permitir", para reduzir os falsos positivos. Configure estas regras com uma prioridade elevada (valor numérico inferior) do que outras regras de limite de bloco e taxa.

  • No mínimo, tenha uma regra de limitação da taxa que bloqueie uma taxa elevada de pedidos de um único endereço IP. Por exemplo, você pode configurar uma regra de limite de taxa para não permitir que nenhum endereço IP do cliente envie mais de XXX tráfego por janela para seu site. O Azure WAF suporta duas janelas de tempo para monitorizar pedidos, de um e de cinco minutos. Use a janela de cinco minutos para melhorar a mitigação de ataques de HTTP Flood. Esta regra deve ser a regra com a prioridade mais baixa (as prioridades são ordenadas de modo que 1 corresponde à prioridade mais alta), para que regras mais específicas de limitação de taxa ou de correspondência possam ser criadas para corresponderem antes desta regra. Se você estiver usando o Application Gateway WAF v2, poderá usar outras configurações de limitação de taxa para rastrear e bloquear clientes por métodos diferentes do IP do cliente. Mais informações sobre limites de taxa no Application Gateway WAF podem ser encontradas em Visão geral da limitação de taxa.

    A consulta do Log Analytics a seguir pode ser útil para determinar o limite que você deve usar para a regra anterior. Para uma consulta semelhante, mas com o Application Gateway, substitua FrontdoorAccessLog por ApplicationGatewayAccessLog.

    AzureDiagnostics
    | where Category == "FrontdoorAccessLog"
    | summarize count() by bin(TimeGenerated, 5m), clientIp_s
    | summarize max(count_), percentile(count_, 99), percentile(count_, 95)
    
  • As regras geridas, embora não sejam diretamente direcionadas para defesas contra ataques DDoS, oferecem proteção contra outros ataques comuns. Para obter mais informações, consulte Regras gerenciadas (Azure Front Door) ou Regras gerenciadas (Application Gateway) para saber mais sobre vários tipos de ataque contra os quais essas regras podem ajudar a proteger.

Análise de log WAF

Pode analisar logs WAF no Log Analytics usando a seguinte consulta.

Azure Front Door

AzureDiagnostics
| where Category == "FrontdoorWebApplicationFirewallLog"

Para obter mais informações, consulte Azure WAF with Azure Front Door.

Gateway de Aplicação do Azure

AzureDiagnostics
| where Category == "ApplicationGatewayFirewallLog"

Para obter mais informações, consulte Azure WAF com o Gateway de Aplicação do Azure.