Tutorial: Dimensione e proteja rapidamente um aplicativo Web usando o Azure Front Door e o Azure Web Application Firewall (WAF)

Importante

O Azure Front Door (clássico) será desativado em 31 de março de 2027. Para evitar qualquer interrupção do serviço, é importante migrar seus perfis do Azure Front Door (clássico) para a camada Azure Front Door Standard ou Premium até março de 2027. Para obter mais informações, consulte Aposentadoria (clássica) do Azure Front Door.

Muitas aplicações Web experimentam um rápido aumento de tráfego ao longo do tempo. Esses aplicativos da Web também estão experimentando um aumento no tráfego mal-intencionado, incluindo ataques de negação de serviço. Há uma maneira eficaz de dimensionar seu aplicativo para picos de tráfego e se proteger de ataques: configure o Azure Front Door com o Azure WAF como uma camada de aceleração, cache e segurança na frente do seu aplicativo Web. Este artigo fornece orientação sobre como configurar o Azure Front Door com o Azure WAF para qualquer aplicativo Web executado dentro ou fora do Azure.

Estamos usando a CLI do Azure para configurar o WAF neste tutorial. Você pode fazer a mesma coisa usando o portal do Azure, o Azure PowerShell, o Azure Resource Manager ou as APIs REST do Azure.

Neste tutorial, irá aprender a:

  • Crie uma porta da frente.
  • Crie uma política WAF do Azure.
  • Configure conjuntos de regras para uma política WAF.
  • Associe uma política WAF ao Front Door.
  • Configure um domínio personalizado.

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

Pré-requisitos

  • As instruções neste tutorial usam a CLI do Azure. Veja este guia para começar a usar a CLI do Azure.

    Gorjeta

    Uma maneira fácil e rápida de começar a usar a CLI do Azure é com o Bash no Azure Cloud Shell.

  • Verifique se a extensão foi adicionada front-door à CLI do Azure:

    az extension add --name front-door
    

Nota

Para obter mais informações sobre os comandos usados neste tutorial, consulte Referência da CLI do Azure para Front Door.

Criar um recurso do Azure Front Door

az network front-door create --backend-address <>  --accepted-protocols <> --name <> --resource-group <>

--backend-address: O nome de domínio totalmente qualificado (FQDN) do aplicativo que você deseja proteger. Por exemplo, myapplication.contoso.com.

--accepted-protocols: Especifica os protocolos que você deseja que o Azure Front Door ofereça suporte para seu aplicativo Web. Por exemplo, --accepted-protocols Http Https.

--name: O nome do seu recurso Azure Front Door.

--resource-group: O grupo de recursos no qual você deseja colocar esse recurso da Porta da Frente do Azure. Para saber mais sobre grupos de recursos, consulte Gerenciar grupos de recursos no Azure.

Na resposta que obtém quando executa este comando, procure a chave hostName. Você precisa desse valor em uma etapa posterior. O hostName é o nome DNS do recurso Azure Front Door que você criou.

Criar um perfil WAF do Azure para usar com os recursos da Porta da Frente do Azure

az network front-door waf-policy create --name <>  --resource-group <>  --disabled false --mode Prevention

--name: O nome da nova política WAF do Azure.

--resource-group: O grupo de recursos no qual você deseja colocar este recurso WAF.

O código CLI anterior cria uma política WAF no modo de prevenção.

Nota

Talvez você queira criar a política WAF no modo de deteção e observar como ela deteta e registra solicitações maliciosas (sem bloqueá-las) antes de decidir usar o modo de proteção.

Na resposta que obtém quando executa este comando, procure a chave ID. Você precisa desse valor em uma etapa posterior.

O ID campo deve estar neste formato:

/subscriptions/subscription id/resourcegroups/resource group name/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/WAF policy name

Adicionar conjuntos de regras gerenciadas à política WAF

Você pode adicionar conjuntos de regras gerenciadas a uma política WAF. Um conjunto de regras geridas é um conjunto de regras criado e gerido pela Microsoft que ajuda a protegê-lo contra uma classe de ameaças. Neste exemplo, estamos adicionando dois conjuntos de regras:

  • O conjunto de regras padrão, que ajuda a protegê-lo contra ameaças comuns da Web.
  • O conjunto de regras de proteção de bot, que ajuda a protegê-lo contra bots mal-intencionados.

Adicione o conjunto de regras padrão:

az network front-door waf-policy managed-rules add --policy-name <> --resource-group <> --type DefaultRuleSet --version 1.0

Adicione o conjunto de regras de proteção de bot:

az network front-door waf-policy managed-rules add --policy-name <> --resource-group <> --type Microsoft_BotManagerRuleSet --version 1.0

--policy-name: O nome especificado para seu recurso WAF do Azure.

--resource-group: O grupo de recursos no qual você colocou o recurso WAF.

Associar a política WAF ao recurso Azure Front Door

Nesta etapa, associamos a política WAF que criamos ao recurso Azure Front Door que está na frente do seu aplicativo Web:

az network front-door update --name <> --resource-group <> --set frontendEndpoints[0].webApplicationFirewallPolicyLink='{"id":"<>"}'

--name: O nome que você especificou para seu recurso Azure Front Door.

--resource-group: O grupo de recursos no qual você colocou o recurso Porta da Frente do Azure.

--set: É onde você atualiza o WebApplicationFirewallPolicyLink atributo para o frontendEndpoint associado ao seu recurso Azure Front Door com a nova política WAF. Você deve ter a ID da política WAF da resposta que obteve quando criou o perfil WAF anteriormente neste tutorial.

Nota

O exemplo anterior é aplicável quando você não está usando um domínio personalizado. Se você não estiver usando nenhum domínio personalizado para acessar seus aplicativos Web, poderá pular a próxima seção. Nesse caso, você dará aos seus clientes o que hostName obteve quando criou o recurso Porta da Frente do Azure. Eles usarão isso hostName para ir para seu aplicativo Web.

Configurar o domínio personalizado para seu aplicativo Web

O nome de domínio personalizado do seu aplicativo Web é aquele que os clientes usam para se referir ao seu aplicativo. Por exemplo, www.contoso.com. Inicialmente, esse nome de domínio personalizado estava apontando para o local onde estava sendo executado antes de você introduzir o Azure Front Door. Depois de adicionar o Azure Front Door e o WAF à frente do aplicativo, a entrada DNS que corresponde a esse domínio personalizado deve apontar para o recurso Azure Front Door. Você pode fazer essa alteração remapeando a entrada em seu servidor DNS para a Porta da Frente hostName do Azure que você anotou quando criou o recurso Porta da Frente do Azure.

As etapas específicas para atualizar seus registros DNS dependem do seu provedor de serviços DNS. Se você usar o DNS do Azure para hospedar seu nome DNS, poderá consultar a documentação para obter as etapas para atualizar um registro DNS e apontar para a Porta da Frente hostNamedo Azure.

Há uma coisa importante a observar se você precisar que seus clientes acessem seu site usando o apex da zona (por exemplo, contoso.com). Nesse caso, você precisa usar o DNS do Azure e seu tipo de registro de alias para hospedar seu nome DNS.

Você também precisa atualizar sua configuração do Azure Front Door para adicionar o domínio personalizado a ele para que ele esteja ciente desse mapeamento.

Finalmente, se você estiver usando um domínio personalizado para acessar seu aplicativo Web e quiser habilitar o protocolo HTTPS. Você precisa configurar os certificados para seu domínio personalizado no Azure Front Door.

Bloqueie seu aplicativo Web

Recomendamos que você garanta que apenas as bordas da Porta da Frente do Azure possam se comunicar com seu aplicativo Web. Isso garante que ninguém possa ignorar a proteção da Porta da Frente do Azure e acessar seu aplicativo diretamente. Para realizar esse bloqueio, consulte Como bloquear o acesso ao meu back-end apenas para o Azure Front Door?.

Clean up resources (Limpar recursos)

Quando não precisar mais dos recursos usados neste tutorial, use o comando az group delete para remover a política de grupo de recursos, Front Door e WAF:

  az group delete \
    --name <>

--name: O nome do grupo de recursos para todos os recursos usados neste tutorial.

Próximos passos

Para saber como solucionar problemas do Front Door, consulte os guias de solução de problemas: