Planejar e implementar um Web Application Firewall (WAF)

Concluído

A Firewall de Aplicações Web (WAF) fornece uma proteção centralizada das suas aplicações Web contra exploits e vulnerabilidades comuns. As aplicações Web são cada vez mais alvo de ataques maliciosos que exploram vulnerabilidades comummente conhecidas. A injeção de SQL e o script entre sites estão entre os ataques mais comuns.

Diagrama mostrando como o Web Application Firewall (WAF) fornece proteção centralizada de seus aplicativos Web contra exploits e vulnerabilidades comuns.

Prevenir esses ataques no código do aplicativo é um desafio. Ele pode exigir manutenção, aplicação de patches e monitoramento rigorosos em várias camadas da topologia do aplicativo. Um firewall centralizado de aplicativos da Web ajuda a tornar o gerenciamento de segurança muito mais simples. Um WAF também oferece aos administradores de aplicativos uma melhor garantia de proteção contra ameaças e invasões.

Uma solução WAF pode reagir a uma ameaça de segurança mais rapidamente corrigindo centralmente uma vulnerabilidade conhecida, em vez de proteger cada aplicativo Web individual.

Serviço suportado

O WAF pode ser implantado com o Azure Application Gateway, o Azure Front Door e o serviço CDN (Rede de Entrega de Conteúdo) do Azure da Microsoft. O WAF na CDN do Azure está atualmente em visualização pública. O WAF tem recursos que são personalizados para cada serviço específico. Para obter mais informações sobre os recursos do WAF para cada serviço, consulte a visão geral de cada serviço.

O Firewall de Aplicativo Web do Azure (WAF) no Gateway de Aplicativo do Azure protege ativamente seus aplicativos Web contra explorações e vulnerabilidades comuns. À medida que os aplicativos da Web se tornam alvos mais frequentes de ataques mal-intencionados, esses ataques geralmente exploram vulnerabilidades bem conhecidas, como injeção de SQL e scripts entre sites.

O WAF no Application Gateway é baseado no CRS (Core Rule set) do Open Web Application Security Project (OWASP).

Todos os seguintes recursos do WAF existem dentro de uma política do WAF. Você pode criar várias políticas e elas podem ser associadas a um Gateway de Aplicativo, a ouvintes individuais ou a regras de roteamento baseadas em caminho em um Gateway de Aplicativo. Dessa forma, você pode ter políticas separadas para cada site por trás do seu Application Gateway, se necessário.

Diagrama mostrando um exemplo de firewall de aplicativo Web e funcionalidade de gateway de aplicativo Web.

O Application Gateway opera como um controlador de entrega de aplicativos (ADC). Ele oferece Transport Layer Security (TLS), anteriormente conhecido como Secure Sockets Layer (SSL), terminação, afinidade de sessão baseada em cookies, distribuição de carga round-robin, roteamento baseado em conteúdo, capacidade de hospedar vários sites e melhorias de segurança.

O Application Gateway melhora a segurança por meio do gerenciamento de políticas TLS e do suporte completo a TLS. Ao integrar o WAF ao Application Gateway, ele fortalece a segurança do aplicativo. Essa combinação defende ativamente seus aplicativos da Web contra vulnerabilidades comuns e oferece um local fácil de configurar e gerenciável centralmente.

Proteção

  • Proteja seus aplicativos da Web contra vulnerabilidades e ataques da Web sem modificar o código de back-end.
  • Proteja várias aplicações Web ao mesmo tempo. Uma instância do Application Gateway pode hospedar até 40 sites protegidos por um firewall de aplicativo Web.
  • Crie políticas WAF personalizadas para sites diferentes atrás do mesmo WAF.
  • Proteja seus aplicativos da Web contra bots mal-intencionados com o conjunto de regras de reputação de IP.
  • Proteja seu aplicativo contra ataques DDoS.

Monitorização

Monitore ataques contra seus aplicativos da Web usando um log WAF em tempo real. O log é integrado ao Azure Monitor para rastrear alertas WAF e monitorar facilmente tendências.

O Application Gateway WAF é integrado ao Microsoft Defender for Cloud. O Defender for Cloud fornece uma visão central do estado de segurança de todos os seus recursos do Azure, híbridos e multicloud.

Personalização

  • Personalize regras e grupos de regras do WAF para atender aos requisitos do seu aplicativo e eliminar falsos positivos.
  • Associe uma política WAF para cada site por trás do WAF para permitir a configuração específica do site
  • Crie regras personalizadas para atender às necessidades do seu aplicativo

Funcionalidades

  • Proteção contra injeção de SQL.
  • Proteção de scripts entre sites.
  • Proteção contra outros ataques comuns da Web, como injeção de comando, contrabando de solicitação HTTP, divisão de resposta HTTP e inclusão remota de arquivos.
  • Proteção contra violações do protocolo HTTP.
  • Proteção contra anomalias do protocolo HTTP, como falta de agente do usuário do host e cabeçalhos de aceitação.
  • Proteção contra rastreadores e scanners.
  • Deteção de configurações incorretas comuns de aplicativos (por exemplo, Apache e Serviços de Informações da Internet).
  • Limites de tamanho de solicitação configuráveis com limites inferiores e superiores.
  • As listas de exclusão permitem omitir determinados atributos de solicitação de uma avaliação WAF. Um exemplo comum são os tokens inseridos pelo ID do Microsoft Entra que são usados para campos de autenticação ou senha.
  • Crie regras personalizadas para atender às necessidades específicas de seus aplicativos.
  • Filtre geograficamente o tráfego para permitir ou bloquear o acesso de determinados países/regiões às suas aplicações.
  • Proteja seus aplicativos de bots com o conjunto de regras de mitigação de bots.
  • Inspecione JavaScript Object Notation (JSON) e Extensible Markup Language (XML) no corpo da solicitação

Política e regras do WAF

Para habilitar um Web Application Firewall no Application Gateway, você deve criar uma política WAF. Esta política é onde existem todas as regras gerenciadas, regras personalizadas, exclusões e outras personalizações, como limite de upload de arquivos.

Você pode configurar uma política WAF e associá-la a um ou mais gateways de aplicativos para proteção. Uma política WAF consiste em dois tipos de regras de segurança:

  • Regras personalizadas que você cria
  • Conjuntos de regras gerenciadas que são uma coleção de regras pré-configuradas gerenciadas pelo Azure

Quando ambos estão presentes, as regras personalizadas são processadas antes de processar as regras em um conjunto de regras gerenciado. Uma regra é feita de uma condição de correspondência, uma prioridade e uma ação. Os tipos de ação suportados são: ALLOW, BLOCK e LOG. Você pode criar uma política totalmente personalizada que atenda aos seus requisitos específicos de proteção de aplicativos combinando regras gerenciadas e personalizadas.

As regras dentro de uma política são processadas em uma ordem de prioridade. A prioridade é um número inteiro exclusivo que define a ordem das regras a serem processadas. Um valor inteiro menor denota uma prioridade mais alta e essas regras são avaliadas antes de regras com um valor inteiro mais alto. Quando uma regra é correspondida, a ação correspondente que foi definida na regra é aplicada à solicitação. Uma vez que essa correspondência é processada, as regras com prioridades mais baixas não são processadas.

Um aplicativo Web fornecido pelo Application Gateway pode ter uma política WAF associada a ele em nível global, por site ou por URI.

Conjuntos de regras principais

O Application Gateway suporta vários conjuntos de regras, incluindo CRS 3.2, CRS 3.1 e CRS 3.0. Essas regras protegem seus aplicativos da Web contra atividades maliciosas.

Regras personalizadas

O Application Gateway também oferece suporte a regras personalizadas. Com regras personalizadas, você pode criar suas próprias regras, que são avaliadas para cada solicitação que passa pelo WAF. Essas regras têm uma prioridade maior do que o resto das regras nos conjuntos de regras gerenciados. Se um conjunto de condições for atendido, uma ação será tomada para permitir ou bloquear.

Conjunto de regras de proteção de bot

Você pode habilitar um conjunto de regras de proteção de bot gerenciado para executar ações personalizadas em solicitações de todas as categorias de bot.

Três categorias de bot são suportadas:

  • Ruim - Os bots ruins incluem bots de endereços IP maliciosos e bots que falsificam suas identidades. Os bots maliciosos com IPs maliciosos são provenientes dos Indicadores de Compromisso IP de alta confiança do feed do Microsoft Threat Intelligence.
  • Bom - Bons bots incluem mecanismos de pesquisa validados, como Googlebot, bingbot e outros agentes de usuário confiáveis.
  • Desconhecido - Os bots desconhecidos são classificados através de agentes de utilizador publicados sem mais validação. Por exemplo, analisador de mercado, buscadores de ração e agentes de coleta de dados. Os bots desconhecidos também incluem endereços IP mal-intencionados que são provenientes dos Indicadores de Comprometimento de IP de confiança média do feed do Microsoft Threat Intelligence.

A plataforma WAF gerencia ativamente e atualiza dinamicamente as assinaturas de bots.

Screesnhot mostrando um exemplo de assinaturas de bot.

Você pode atribuir Microsoft_BotManagerRuleSet_1.0 usando a opção Atribuir em Conjuntos de regras gerenciados:

Screesnhot mostrando um exemplo de como atribuir conjuntos de regras gerenciadas.

Quando a proteção de Bot está ativada, ela bloqueia, permite ou registra solicitações de entrada que correspondem às regras do bot com base na ação que você configurou. Ele bloqueia bots mal-intencionados, permite rastreadores verificados de mecanismos de pesquisa, bloqueia rastreadores de mecanismos de pesquisa desconhecidos e registra bots desconhecidos por padrão. Você tem a opção de definir ações personalizadas para bloquear, permitir ou registrar diferentes tipos de bots.

Você pode acessar logs WAF de uma conta de armazenamento, hub de eventos, análise de logs ou enviar logs para uma solução de parceiro.

Modos WAF

O WAF do Application Gateway pode ser configurado para ser executado nos dois modos a seguir:

  • Modo de deteção: Monitoriza e regista todos os alertas de ameaças. Você ativa o diagnóstico de log para o Application Gateway na seção Diagnóstico. Você também deve certificar-se de que o log WAF está selecionado e ativado. O firewall do aplicativo Web não bloqueia solicitações de entrada quando está operando no modo de Deteção.
  • Modo de prevenção: bloqueia intrusões e ataques que as regras detetam. O invasor recebe uma exceção de "acesso não autorizado 403" e a conexão é fechada. O modo de prevenção registra esses ataques nos logs do WAF.

Motores WAF

O mecanismo WAF (firewall de aplicativo Web) do Azure é o componente que inspeciona o tráfego e determina se uma solicitação inclui uma assinatura que representa um ataque potencial. Quando utiliza o CRS 3.2 ou posterior, o WAF executa o novo motor WAF, que lhe proporciona um desempenho superior e um conjunto melhorado de funcionalidades. Quando você usa versões anteriores do CRS, seu WAF é executado em um mecanismo mais antigo. Os novos recursos só estão disponíveis no novo mecanismo WAF do Azure.

Ações do WAF

Você pode escolher qual ação será executada quando uma solicitação corresponder a uma condição de regra. São apoiadas as seguintes ações:

  • Permitir: a solicitação passa pelo WAF e é encaminhada para o back-end. Nenhuma outra regra de prioridade inferior pode bloquear este pedido. As ações de permissão só são aplicáveis ao conjunto de regras do Bot Manager e não são aplicáveis ao Conjunto de Regras Principais.
  • Bloquear: A solicitação é bloqueada e o WAF envia uma resposta ao cliente sem encaminhar a solicitação para o back-end.
  • Log: A solicitação é registrada nos logs do WAF e o WAF continua avaliando as regras de prioridade mais baixa.
  • Pontuação de anomalia: Esta é a ação padrão para o conjunto de regras CRS onde a pontuação total de anomalia é incrementada quando uma regra com essa ação é correspondida. A pontuação de anomalias não é aplicável ao conjunto de regras do Bot Manager.

Modo de pontuação de anomalias

O Open Web Application Security Project (OWASP) tem dois modos para decidir se deseja bloquear o tráfego: modo tradicional e modo de pontuação de anomalias.

No modo Tradicional, o tráfego que corresponde a qualquer regra é considerado independentemente de qualquer outra correspondência de regra. Este modo é fácil de entender. Mas a falta de informação sobre quantas regras correspondem a um pedido específico é uma limitação. Assim, o modo Anomaly Scoring foi introduzido. É o padrão para OWASP 3.x.

No modo de Pontuação de Anomalias, o tráfego que corresponde a qualquer regra não é imediatamente bloqueado quando o firewall está no modo de Prevenção. As regras têm uma certa gravidade: Crítica, Erro, Aviso ou Aviso. Essa gravidade afeta um valor numérico para a solicitação, que é chamado de Pontuação de Anomalia. Por exemplo, uma correspondência de regra de aviso contribui com 3 para a pontuação. Uma correspondência de regra crítica contribui 5.

Gravidade Valor
Crítico 5
Erro 4
Aviso 3
Aviso 2

Há um limite de 5 para que a Pontuação de Anomalia bloqueie o tráfego. Portanto, uma única correspondência de regra crítica é suficiente para que o WAF do Application Gateway bloqueie uma solicitação, mesmo no modo de prevenção. Mas uma correspondência de regra de Aviso só aumenta a Pontuação de Anomalia em 3, o que por si só não é suficiente para bloquear o tráfego.

Configuração

Você pode configurar e implantar todas as políticas WAF usando o portal do Azure, APIs REST, modelos do Azure Resource Manager e Azure PowerShell.

Monitorização WAF

É importante monitorar a integridade do gateway de aplicativos. Você pode dar suporte a isso integrando seu WAF e os aplicativos que ele protege com os logs do Microsoft Defender for Cloud, Azure Monitor e Azure Monitor.

Diagrama mostrando um exemplo de uma funcionalidade de monitoramento de firewall de aplicativo Web do Azure.

Azure Monitor

Os logs do Gateway de Aplicativo são integrados ao Azure Monitor. Isso permite rastrear informações de diagnóstico, incluindo alertas e logs do WAF. Você pode acessar esse recurso na guia Diagnóstico no recurso Gateway de Aplicativo no portal ou diretamente por meio do Azure Monitor.