Tutorial: Criar um gateway de aplicativo com um Firewall do Aplicativo Web usando o portal do Azure

Este tutorial mostra como usar o portal do Azure para criar um Gateway de Aplicativo com um WAF (Firewall do Aplicativo Web). O WAF usa as regras de OWASP para proteger o seu aplicativo. Essas regras incluem proteção contra ataques, como injeção de SQL, ataques de script entre sites e sequestros de sessão. Após criar o gateway de aplicativo, você vai testá-lo para verificar se está funcionando corretamente. Com Gateway de Aplicativo do Azure, você direciona o tráfego de aplicativo Web para recursos específicos, atribuindo ouvintes a portas, criando regras e adicionando recursos a um pool de back-end. Para simplificar, este tutorial usa uma configuração simples com um IP de front-end público, um ouvinte básico para hospedar um único site nesse gateway de aplicativo, duas máquinas virtuais usadas para o pool de back-end e uma regra de roteamento de solicitações básica.

Neste tutorial, você aprenderá como:

  • Criar um gateway de aplicativo com o WAF habilitado
  • Criar as máquinas virtuais usadas como servidores de back-end
  • Criar uma conta de armazenamento e configurar diagnósticos
  • Testar o gateway de aplicativo

Exemplo de Firewall do aplicativo Web

Observação

Para interagir com o Azure, é recomendável o módulo Azure Az do PowerShell. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Pré-requisitos

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

Entrar no Azure

Entre no Portal do Azure em https://portal.azure.com.

Criar um Gateway de Aplicativo

  1. Selecione Criar um recurso no menu esquerdo do portal do Azure. A janela Novo é exibida.

  2. Selecione Rede e depois Gateway de Aplicativo na lista em destaque.

Guia Básico

  1. Na página Básico, insira estes valores para as seguintes configurações de gateway de aplicativo:

    • Grupo de recursos: Selecione myResourceGroupAG para o grupo de recursos. Se ele não existir, selecione Criar novo para criá-lo.

    • Nome do gateway de aplicativo: Insira myAppGateway para o nome do gateway de aplicativo.

    • Camada: selecione WAF V2.

    • Política do WAF: selecione Criar novo, digite um nome para a nova política e selecione OK. Isso cria uma política básica do WAF com um CRS (Conjunto de Regras de Núcleo) gerenciado.

      Captura de tela da guia Criar gateway de aplicativo: Básico.

  2. Para que o Azure se comunique entre os recursos que você cria, ele precisa de uma rede virtual. Você pode criar uma nova rede virtual ou usar uma existente. Neste exemplo, você criará uma rede virtual ao mesmo tempo em que cria o gateway de aplicativo. As instâncias do Gateway de Aplicativo são criadas em sub-redes separadas. Crie duas sub-redes neste exemplo: uma para o gateway de aplicativo e outra para os servidores de back-end.

    Em Configurar rede virtual, selecione Criar para criar uma rede virtual. Na janela Criar rede virtual que é aberta, insira os seguintes valores para criar a rede virtual e duas sub-redes:

    • Name: Insira myVNet para o nome da rede virtual.

    • Nome da sub-rede (sub-rede do Gateway de Aplicativo): A grade Sub-redes mostrará uma sub-rede chamada Padrão. Altere o nome dessa sub-rede para myAGSubnet.
      A sub-rede de gateway de aplicativo pode conter apenas gateways de aplicativo. Nenhum outro recurso é permitido.

    • Nome da sub-rede (sub-rede do servidor de back-end): Na segunda linha da grade Sub-redes, insira myBackendSubnet na coluna Nome da sub-rede.

    • Intervalo de endereços (sub-rede do servidor de back-end): Na segunda linha da grade Sub-redes, insira um intervalo de endereços que não se sobreponha ao intervalo de endereços de myAGSubnet. Por exemplo, se o intervalo de endereços de myAGSubnet for 10.21.0.0/24, digite 10.21.1.0/24 para o intervalo de endereços de myBackendSubnet.

    Selecione OK para fechar a janela Criar rede virtual e salvar as configurações de rede virtual.

    Criar gateway de aplicativo: rede virtual

  3. Na guia Básico, aceite os valores padrão para as outras configurações e selecione Avançar: Front-ends.

Guia Front-ends

  1. Na guia Front-ends, verifique se Tipo de endereço IP do front-end está definido como Público.
    É possível configurar o IP de front-end como Público ou Privado, de acordo com o caso de uso. Neste exemplo, você escolherá um IP público de front-end.

    Observação

    Para a SKU do Gateway de Aplicativo v2, você só pode escolher a configuração de IP de front-end Pública. A configuração de IP de front-end privado não está habilitada para esta SKU v2.

  2. Selecione Adicionar novo para o Endereço IP público, insira myAGPublicIPAddress para o nome do endereço IP público e clique em OK.

    Criar gateway de aplicativo: front-ends

  3. Selecione Avançar: Back-ends.

Guia Back-ends

O pool de back-end é usado para encaminhar solicitações aos servidores back-end que atendem à solicitação. Os pools de back-end podem ser formados por NICs, conjuntos de dimensionamento de máquinas virtuais, IPs públicos, IPs internos, FQDN (nomes de domínio totalmente qualificados) e back-ends multilocatário como Serviço de Aplicativo do Azure. Neste exemplo, você criará um pool de back-end vazio com o gateway de aplicativo e, posteriormente, adicionará destinos de back-end ao pool de back-end.

  1. Na guia Back-ends, selecione Adicionar um pool de back-end.

  2. Na janela Adicionar um pool de back-end que é aberta, insira os seguintes valores para criar um pool de back-end vazio:

    • Name: Insira myBackendPool para o nome do pool de back-end.
    • Adicionar pool de back-end sem destinos: Selecione Sim para criar um pool de back-end sem destinos. Você adicionará destinos de back-end depois de criar o gateway de aplicativo.
  3. Na janela Adicionar um pool de back-end, selecione Adicionar para salvar a configuração do pool de back-end e retornar à guia Back-ends.

    Criar gateway de aplicativo: back-ends

  4. Na guia Back-ends, selecione Avançar: Configuração.

Guia Configuração

Na guia Configuração, você conectará o front-end e o pool de back-end que você criou usando uma regra de roteamento.

  1. Selecione Adicionar uma regra de roteamento na coluna Regra de roteamento.

  2. Na janela Adicionar uma regra de roteamento que é aberta, insira myRoutingRule para o Nome da regra.

  3. Para Prioridade, digite um número de prioridade.

  4. Uma regra de roteamento requer um ouvinte. Na guia Ouvinte na janela Adicionar uma regra de roteamento, insira os seguintes valores para o ouvinte:

    • Nome do ouvinte: insira myListener para o nome do ouvinte.

    • IP de front-end: selecione Público para escolher o IP público que você criou para o front-end.

      Aceite os valores padrão para as outras configurações na guia Ouvinte e, em seguida, selecione a guia Destinos de back-end para configurar o restante da regra de roteamento.

    Captura de tela mostrando Criar gateway de aplicativo: ouvinte.

  5. Na guia Destinos de back-end, selecione myBackendPool para o Destino de back-end.

  6. Para as configurações de back-end, selecione Adicionar novo para criar uma nova configuração de back-end. Essa configuração determina o comportamento da regra de roteamento. Na janela Adicionar configuração de back-end que é aberta, insira myBackendSetting para o nome das configurações de back-end. Aceite os valores padrão para as outras configurações na janela e selecione Adicionar para retornar à janela Adicionar uma regra de roteamento.

    Captura de tela mostrando Criar gateway de aplicativo, configuração de back-end.

  7. Na janela Adicionar uma regra de roteamento, selecione Adicionar para salvar a regra de roteamento e retornar para a guia Configuração.

    Captura de tela mostrando Criar gateway de aplicativo: regra de roteamento.

  8. Selecione Avançar: Marcas e, em seguida, Avançar: Revisar + criar.

Guia Examinar + criar

Examine as configurações na guia Examinar + criar e selecione Criar para criar a rede virtual, o endereço IP público e o gateway de aplicativo. Pode levar vários minutos para que o Azure crie o gateway de aplicativo.

Aguarde até que a implantação seja concluída com êxito antes de passar para a próxima seção.

Adicionar destinos de back-end

Neste exemplo, você usará máquinas virtuais como o back-end de destino. Você pode criar máquinas virtuais ou usar as existentes. Você criará duas máquinas virtuais que o Azure usa como servidores de back-end para o gateway de aplicativo.

Para fazer isso, você precisará:

  1. Criar duas novas VMS, myVM e myVM2, para serem usadas como servidores back-end.
  2. Instale IIS nas máquinas virtuais para verificar se o gateway de aplicativo foi criado com êxito.
  3. Adicione os servidores back-end ao pool de back-end.

Criar uma máquina virtual

  1. No portal do Azure, selecione Criar um recurso. A janela Novo é exibida.

  2. Selecione Windows Server 2019 Datacenter na lista Popular. A página Criar uma máquina virtual é exibida.
    O Gateway de Aplicativo pode rotear o tráfego para qualquer tipo de máquina virtual usada no pool de back-end. Neste exemplo, você usa um Windows Server 2019 Datacenter.

  3. Insira esses valores na guia Noções básicas para as seguintes configurações de máquina virtual:

    • Grupo de recursos: Selecione myResourceGroupAG para o nome do grupo de recursos.
    • Nome da máquina virtual: Insira myVM para o nome da máquina virtual.
    • Nome de usuário: Insira um nome para o nome de usuário do administrador.
    • Senha: insira uma senha para a senha do administrador.
    • Portas de entrada públicas: selecione Nenhum.
  4. Aceite os outros padrões e selecione Próximo: Discos.

  5. Aceite os padrões na guia Discos e selecione Próximo: Rede.

  6. Na guia Rede, verifique se myVNet está selecionado para a Rede virtual e se a Sub-rede está definida como myBackendSubnet.

  7. Em IP Público, selecione Nenhum.

  8. Aceite os outros padrões e selecione Próximo: Gerenciamento.

  9. Na guia Gerenciamento, defina Diagnóstico de inicialização como Desabilitar. Aceite os outros padrões e selecione Revisar + criar.

  10. Na guia Revisar + criar, examine as configurações, corrija os erros de validação e selecione Criar.

  11. Aguarde a criação da máquina virtual concluir antes de continuar.

Instalar IIS para teste

Neste exemplo, você instala IIS nas máquinas virtuais apenas para verificar se o Azure criou o gateway de aplicativo com êxito.

  1. Abra o PowerShell do Azure. Para fazer isso, selecione Cloud Shell na barra de navegação superior do portal do Azure e selecione PowerShell na lista suspensa.

    Instalar a extensão personalizada

  2. Defina o parâmetro de localização do ambiente e execute o seguinte comando para instalar o IIS na máquina virtual:

    $location = 'east us'
    
    Set-AzVMExtension `
      -ResourceGroupName myResourceGroupAG `
      -ExtensionName IIS `
      -VMName myVM `
      -Publisher Microsoft.Compute `
      -ExtensionType CustomScriptExtension `
      -TypeHandlerVersion 1.4 `
      -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
      -Location $location
    
  3. Crie uma segunda máquina virtual e instale o IIS usando as etapas que você concluiu anteriormente. Use myVM2 para o nome da máquina virtual e a configuração VMName do cmdlet Set-AzVMExtension.

Adicionar servidores back-end ao pool de back-end

  1. Selecione Todos os recursos e, em seguida, myAppGateway.

  2. Selecione Pools de back-end no menu esquerdo.

  3. Selecione myBackendPool.

  4. Em Tipo de destino, selecione Máquina virtual na lista suspensa.

  5. Em Destino, selecione o adaptador de rede associado em myVM na lista suspensa.

  6. Repita essa etapa para a myVM2.

    Adicionar servidores de back-end

  7. Clique em Salvar.

  8. Aguarde a conclusão da implantação antes de prosseguir para a próxima etapa.

Testar o gateway de aplicativo

Embora o IIS não seja necessário para criar o gateway de aplicativo, você o instalou para verificar se o Azure criou o gateway de aplicativo com êxito. Use o IIS para testar o gateway de aplicativo:

  1. Localize o endereço IP público do gateway de aplicativo na página Visão Geral..Record application gateway public IP address

    Ou você pode selecionar Todos os recursos, inserir myAGPublicIPAddress na caixa de pesquisa e, em seguida, selecioná-lo nos resultados da pesquisa. O Azure exibe o endereço IP público na página Visão geral.

  2. Copie o endereço IP público e cole-o na barra de endereços do seu navegador.

  3. Verifique a resposta. Uma resposta válida verifica se o gateway de aplicativo foi criado com êxito e é capaz de conectar-se com êxito ao back-end.

    Teste o gateway de aplicativo

Limpar os recursos

Quando não precisar mais dos recursos que você criou com o gateway de aplicativo, remova o grupo de recursos. Ao remover o grupo de recursos, você também remove o gateway de aplicativo e todos os recursos relacionados.

Para remover o grupo de recursos:

  1. No menu esquerdo do portal do Azure, selecione Grupos de recursos.
  2. Na página Grupos de recursos, pesquise por myResourceGroupAG na lista e, em seguida, selecione.
  3. Na página Grupo de recursos, selecione Excluir grupo de recursos.
  4. Insira myResourceGroupAG para DIGITAR O NOME DO GRUPO DE RECURSOS e selecione Excluir.

Próximas etapas