Integrar o Ambiente do Serviço de Aplicativo do ILB com o Gateway de Aplicativo do Azure

O Ambiente do Serviço de Aplicativo é uma implantação do Serviço de Aplicativo do Azure na sub-rede da rede virtual do Azure de um cliente. Ele pode ser implantado com um ponto de extremidade externo ou interno para acesso ao aplicativo. A implantação do ambiente do Serviço de Aplicativo com um ponto de extremidade interno é chamado de ASE (ambiente do Serviço de Aplicativo) do ILB (balanceador de carga interno).

Firewalls do aplicativo Web ajudam na segurança do aplicativos Web ao inspecionar o tráfego de entrada da Web para bloquear injeções de SQL, script entre sites, uploads de malware, DDoS de aplicativo e outros ataques. Obtenha um dispositivo WAF no Microsoft Azure Marketplace ou use o Gateway de Aplicativo do Azure.

O Gateway de Aplicativo do Azure é uma solução de virtualização que fornece proteção de balanceamento de carga de camada 7, descarregamento de TLS/SSL e WAF (firewall do aplicativo Web). Ele pode escutar em um endereço IP público e rotear tráfego para o ponto de extremidade do aplicativo. As informações a seguir descrevem como integrar um gateway de aplicativo com WAF configurado a um aplicativo em um ambiente de Serviço de Aplicativo do ILB.

A integração do gateway de aplicativo com o ambiente de Serviço de Aplicativo do ILB acontece no nível do aplicativo. A configuração do gateway de aplicativo com o seu ambiente de Serviço de Aplicativo do ILB ocorre com aplicativos específicos desse ambiente. Essa técnica permite hospedar aplicativos multilocatário seguros em um único ambiente do Serviço de Aplicativo do ILB.

Screenshot of High level integration diagram

Neste passo a passo, você vai:

  • Criar um Gateway de Aplicativo do Azure.
  • Configurar o gateway de aplicativo para apontar para um aplicativo no ambiente do Serviço de Aplicativo do ILB.
  • Editar o nome do host DNS público que aponta para o gateway de aplicativo.

Pré-requisitos

Para integrar o gateway de aplicativo ao ambiente do Serviço de Aplicativo do ILB, é necessário:

  • Um ambiente do Serviço de Aplicativo do ILB.
  • Uma zona DNS privada para o ambiente do Serviço de Aplicativo do ILB.
  • Um aplicativo em execução no ambiente do Serviço de Aplicativo do ILB.
  • Um nome DNS público que é usado posteriormente para apontar para o gateway do seu aplicativo.
  • Se precisar usar a criptografia TLS/SSL para o gateway de aplicativo, será necessário um certificado público válido usado para se associar ao gateway de aplicativo.

Ambiente do Serviço de Aplicativo do ILB

Confira detalhes de como criar um ambiente do Serviço de Aplicativo do ILB em Criar um ASE no portal do Azure e Criar um ASE com um modelo do ARM.

  • Após a criação do ASE do ILB, o domínio padrão será <YourAseName>.appserviceenvironment.net.

    Screenshot of ILB ASE Overview

  • Um balanceador de carga interno é provisionado para acesso de entrada. O endereço de entrada pode ser verificado nos endereços IP nas Configurações do ASE. É possível criar uma zona DNS privada mapeada para esse endereço IP posteriormente.

    Screenshot of getting the inbound address from ILB ASE IP addresses settings.

Uma zona DNS privada

É necessário uma zona DNS privada para resolução interna de nomes. Crie uma usando o nome do ASE por meio dos conjuntos de registros mostrados na tabela a seguir. Confira instruções em Início Rápido – Criar uma zona DNS privada do Azure usando o portal do Azure.

Nome Tipo Valor
* Um Endereço de entrada do ASE
@ Um Endereço de entrada do ASE
@ SOA Nome DNS do ASE
*.scm Um Endereço de entrada do ASE

Serviço de Aplicativo no ASE do ILB

É preciso criar um Plano do Serviço de Aplicativo e um aplicativo no ASE do ILB. Ao criar o aplicativo no portal, selecione como Região o ASE do ILB.

Um nome DNS público para o gateway de aplicativo

É necessário um nome de domínio roteável para se conectar ao gateway de aplicativo na Internet. Nesse caso, usei um nome de domínio estável asabuludemo.com e planejamento para me conectar a um Serviço de Aplicativo com este nome de domínio app.asabuludemo.com. O endereço IP mapeado para este nome de domínio de aplicativo precisa ser definido como o endereço IP público do gateway de aplicativo após a criação do gateway de aplicativo. Com um domínio público mapeado para o gateway de aplicativo, não é preciso configurar um domínio personalizado no Serviço de Aplicativo. É possível comprar um nome de domínio personalizado nos Domínios do Serviço de Aplicativo.

Um certificado público válido

Para aprimoramento da segurança, é recomendável associar o certificado TLS/SSL à criptografia de sessão. Para associar o certificado TLS/SSL ao gateway de aplicativo, é necessário um certificado público válido com as informações a seguir. Com os Certificados do Serviço de Aplicativo, pode-se comprar um certificado TLS/SSL e exportá-lo no formato .pfx.

Nome Valor Descrição
Nome comum <yourappname>.<yourdomainname>, por exemplo: app.asabuludemo.com
ou *.<yourdomainname>, por exemplo: *.asabuludemo.com
Um certificado padrão ou um certificado curinga para o gateway de aplicativo
Nome Alternativo da Entidade <yourappname>.scm.<yourdomainname>, por exemplo: app.scm.asabuludemo.com
ou *.scm.<yourdomainname>, por exemplo: *.scm.asabuludemo.com
A rede SAN que permite se conectar ao serviço kudu do Serviço de Aplicativo. Trata-se de uma configuração opcional caso não queira publicar o serviço kudu do Serviço de Aplicativo na Internet.

O arquivo de certificado deve ter uma chave privada e ser salvo no formato .pfx. Ele será importado para o gateway de aplicativo posteriormente.

Criar um Gateway de Aplicativo

Confira uma criação básica do gateway de aplicativo no Tutorial: Criar um gateway de aplicativo com um Firewall de Aplicativo Web usando o portal do Azure.

Neste tutorial, vamos usar o portal do Azure para criar um gateway de aplicativo com o ambiente do Serviço de Aplicativo do ILB.

No portal do Azure, selecione Novo>Rede>Gateway de Aplicativo para criar um gateway de aplicativo.

  1. Configuração básica

    Na lista suspensa Camada, selecione Standard V2 ou WAF V2 para habilitar o recurso WAF no gateway de aplicativo.

  2. Configuração de front-ends

    Selecione o tipo de endereço IP de front-end como Público, Privado ou Ambos. Se definir como Privado ou Ambos, será preciso atribuir um endereço IP estático no intervalo de sub-rede do gateway de aplicativo. Nesse caso, definimos como IP público apenas para o ponto de extremidade público.

    • Endereço IP público – é preciso associar um endereço IP público para o acesso público do gateway de aplicativo. Grave esse endereço IP, pois será preciso adicionar um registro em seu serviço DNS posteriormente.

      Screenshot of getting a public IP address from the application gateway frontends setting.

  3. Configuração de back-ends

    Digite um nome de pool de back-end e selecione os Serviços de Aplicativos ou o endereço IP ou o FQDN no Tipo de destino. Nesse caso, definimos como Serviços de aplicativos e selecionamos o nome do Serviço de Aplicativo na lista suspensa de destino.

    Screenshot of adding a backend pool name in backends setting.

  4. Definição de configuração

    Na definição de Configuração, é preciso adicionar uma regra de roteamento selecionando o ícone Adicionar uma regra de roteamento.

    Screenshot of adding a routing rule in configuration setting.

    É necessário configurar um Ouvinte e Destinos de back-end em uma regra de roteamento. É possível adicionar um ouvinte HTTP para a implantação de prova de conceito ou adicionar um ouvinte HTTPS para aprimoramento de segurança.

    • Para se conectar ao gateway de aplicativo com o protocolo HTTP, pode-se criar um ouvinte com as seguintes configurações:

      Parâmetro Valor Descrição
      Nome da regra Por exemplo: http-routingrule Nome do roteamento
      Nome do ouvinte Por exemplo: http-listener Nome do ouvinte
      IP de front-end Público Para acesso à Internet, defina como Público
      Protocolo HTTP Não use a criptografia TLS/SSL
      Porta 80 Porta HTTP padrão
      Tipo de ouvinte Vários sites Permite a escuta de vários sites no gateway de aplicativo
      Tipo de Host Múltiplos/Curinga Defina como vários ou nome de site curinga se o tipo de ouvinte estiver definido como vários sites.
      Nome do host Por exemplo: app.asabuludemo.com Defina como um nome de domínio roteável para o Serviço de Aplicativo

      Screenshot of HTTP Listener of the application gateway Routing Rule.

    • Para se conectar ao gateway de aplicativo com a criptografia TLS/SSL, pode-se criar um ouvinte com as seguintes configurações:

      Parâmetro Valor Descrição
      Nome da regra Por exemplo: https-routingrule Nome do roteamento
      Nome do ouvinte Por exemplo: https-listener Nome do ouvinte
      IP de front-end Público Para acesso à Internet, defina como Público
      Protocolo HTTPS Use a criptografia TLS/SSL
      Porta 443 Porta HTTPS padrão
      Configurações de https Carregar um certificado Carregar um certificado contém o CN e a chave privada com o formato .pfx.
      Tipo de ouvinte Vários sites Permite a escuta de vários sites no gateway de aplicativo
      Tipo de Host Múltiplos/Curinga Defina como vários ou nome de site curinga se o tipo de ouvinte estiver definido como vários sites.
      Nome do host Por exemplo: app.asabuludemo.com Defina como um nome de domínio roteável para o Serviço de Aplicativo

      HTTPS listener of the application gateway Routing Rule.

    • É preciso configurar um Pool de back-end e uma configuração http em Destinos de back-end. O pool de back-end foi configurado em etapas anteriores. Selecione o link Adicionar novo para adicionar uma configuração HTTP.

      Screenshot of adding new link to add an H T T P setting.

    • Configurações de HTTP listadas conforme os detalhes abaixo:

      Parâmetro Valor Descrição
      Nome da configuração de HTTP Por exemplo: https-setting Nome da configuração de HTTP
      Protocolo de back-end HTTPS Use a criptografia TLS/SSL
      Porta de back-end 443 Porta HTTPS padrão
      Usar um Certificado de Autoridade de Certificação conhecido Sim O nome de domínio padrão do ASE do ILB é .appserviceenvironment.net, o certificado desse domínio é emitido por uma autoridade de raiz confiável pública. Na configuração de certificado raiz confiável, pode-se definir o uso de um certificado raiz confiável bem conhecido de autoridade de certificação.
      Substituir por um novo nome do host Sim O cabeçalho do nome do host será substituído na conexão com o aplicativo no ASE do ILB
      Substituir o nome do host Escolher o nome do host do destino de back-end Ao definir o pool de back-end para o Serviço de Aplicativo, o host pode ser escolhido no destino de back-end
      Criar investigações personalizadas Não Use investigação de integridade padrão

      Screenshot of **Add an H T T P setting** dialog.

Configurar uma integração do gateway de aplicativo com o ASE do ILB

Para acessar o ASE do ILB no gateway de aplicativo, é preciso verificar se uma rede virtual está vinculada a uma zona DNS privada. Se não houver nenhuma rede virtual vinculada à VNet do seu gateway de aplicativo, adicione um link de rede virtual seguindo as próximas etapas.

  • Para configurar o link de rede virtual com a zona DNS privada, acesse o plano de configuração da zona DNS privada. Selecione os Links da rede virtual>Adicionar

Add a virtual network link to private DNS zone.

  • Insira o Nome do link e selecione a assinatura e rede virtual respectiva em que o gateway de aplicativo reside.

Screenshot of input link name details to virtual network links setting in private DNS zone.

  • O status de integridade do back-end pode ser confirmado na Integridade do back-end no plano do gateway de aplicativo.

Screenshot of confirm the backend health status from backend health.

Adicionar um registro DNS público

É preciso configurar um mapeamento DNS adequado ao acessar um gateway de aplicativo da Internet.

  • O endereço IP público do gateway de aplicativo pode ser encontrado em Configurações de IP de front-end no plano do gateway de aplicativo.

Application gateway frontend IP address can be found in Frontend IP configuration.

  • Tomando o serviço DNS do Azure como exemplo, você pode adicionar um conjunto de registros para mapear o nome de domínio do aplicativo para o endereço IP público do gateway de aplicativo.

Screenshot of adding a record set to map the app domain name to the public IP address of the application gateway.

Validar conexão

  • Em um acesso por computador da Internet, você pode verificar a resolução de nome do nome de domínio do aplicativo para o endereço IP público do gateway de aplicativo.

validate the name resolution from a command prompt.

  • Em um acesso por computador da Internet, teste o acesso à Web em um navegador.

Screenshot of opening a browser, access to the web.