Integrar o Ambiente do Serviço de Aplicações ILB no Gateway de Aplicação 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 é chamada de ambiente do Serviço de Aplicativo (ASE) do balanceador de carga interno (ILB).
Os firewalls de aplicativos da Web ajudam a proteger seus aplicativos da Web inspecionando o tráfego da Web de entrada para bloquear injeções de SQL, scripts entre sites, uploads de malware ou DDoS de aplicativos e outros ataques. Você pode obter um dispositivo WAF do Azure Marketplace ou pode usar o Gateway de Aplicativo do Azure.
O Gateway de Aplicativo do Azure é um dispositivo virtual que fornece balanceamento de carga de camada 7, descarregamento de TLS/SSL e proteção de firewall de aplicativo Web (WAF). Ele pode ouvir em um endereço IP público e rotear o tráfego para o ponto de extremidade do seu aplicativo. As informações a seguir descrevem como integrar um gateway de aplicativo configurado pelo WAF a um aplicativo em um ambiente do ILB App Service.
A integração do gateway de aplicativo com o ambiente do Serviço de Aplicativo ILB ocorre em um nível de aplicativo. Ao configurar o gateway de aplicativo com seu ambiente do ILB App Service, você está fazendo isso para aplicativos específicos em seu ambiente do ILB App Service. Essa técnica permite hospedar aplicativos multilocatários seguros em um único ambiente ILB App Service.
Nestas instruções, irá:
- Crie um Gateway de Aplicativo do Azure.
- Configure o gateway de aplicativo para apontar para um aplicativo em seu ambiente do ILB App Service.
- Edite o nome de host DNS público que aponta para o gateway de aplicativo.
Pré-requisitos
Para integrar seu gateway de aplicativo ao ambiente do ILB App Service, você precisa:
- Um ambiente ILB App Service.
- Uma zona DNS privada para o ambiente do Serviço de Aplicativo ILB.
- Um aplicativo em execução no ambiente do Serviço de Aplicativo ILB.
- Um nome DNS público usado posteriormente para apontar para o gateway de aplicativo.
- Se você precisar usar a criptografia TLS/SSL para o gateway de aplicativo, será necessário um certificado público válido usado para vincular ao gateway de aplicativo.
Ambiente do Serviço de Aplicativo ILB
Para obter detalhes sobre como criar um ambiente do Serviço de Aplicativo ILB, consulte Criar um ASE no portal do Azure e Criar um modelo ASE com ARM.
Depois que o ILB ASE é criado, o domínio padrão é
<YourAseName>.appserviceenvironment.net
.Um balanceador de carga interno é provisionado para acesso de entrada. Você pode verificar o endereço de entrada nos endereços IP em Configurações ASE. Você pode criar uma zona DNS privada mapeada para esse endereço IP mais tarde.
Uma zona DNS privada
Você precisa de uma zona DNS privada para resolução de nomes internos. Crie-o usando o nome ASE usando os conjuntos de registros mostrados na tabela a seguir (para obter instruções, consulte Guia de início rápido - Criar uma zona DNS privada do Azure usando o portal do Azure).
Nome | Tipo | valor |
---|---|---|
* | A | Endereço de entrada ASE |
@ | A | Endereço de entrada ASE |
@ | SOA | Nome DNS ASE |
*.scm | A | Endereço de entrada ASE |
Serviço de aplicativo no ILB ASE
Você precisa criar um plano do Serviço de Aplicativo e um aplicativo em seu ILB ASE. Ao criar o aplicativo no portal, selecione seu ILB ASE como a Região.
Um nome DNS público para o gateway de aplicativo
Para se conectar ao gateway de aplicativo pela Internet, você precisa de um nome de domínio roteável. Nesse caso, usei um nome asabuludemo.com
de domínio roteável e planejei me conectar a um Serviço de Aplicativo com esse nome app.asabuludemo.com
de domínio. O endereço IP mapeado para este nome de domínio do aplicativo precisa ser definido como o endereço IP público do Application Gateway após a criação do gateway do aplicativo.
Com um domínio público mapeado para o gateway de aplicativo, você não precisa configurar um domínio personalizado no Serviço de Aplicativo. Você pode comprar um nome de domínio personalizado com Domínios do Serviço de Aplicativo.
Um certificado público válido
Para melhorar a segurança, é recomendável vincular o certificado TLS/SSL para criptografia de sessão. Para vincular o certificado TLS/SSL ao gateway de aplicativo, é necessário um certificado público válido com as seguintes informações. Com os certificados do Serviço de Aplicativo, você pode comprar um certificado TLS/SSL e exportá-lo no formato .pfx.
Nome | valor | Description |
---|---|---|
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 do assunto | <yourappname>.scm.<yourdomainname> Por exemplo: app.scm.asabuludemo.com ou *.scm.<yourdomainname> , por exemplo: *.scm.asabuludemo.com |
A SAN que permite conectar-se ao serviço kudu do Serviço de Aplicativo. É uma configuração opcional, se você não quiser publicar o serviço kudu do Serviço de Aplicativo na Internet. |
O arquivo de certificado deve ter uma chave privada e salvar no formato .pfx, ele será importado para o gateway de aplicativo mais tarde.
Criar um gateway de aplicação
Para a criação básica do gateway de aplicativo, consulte Tutorial: Criar um gateway de aplicativo com um Firewall de Aplicativo Web usando o portal do Azure.
Neste tutorial, usaremos o portal do Azure para criar um gateway de aplicativo com o ambiente do Serviço de Aplicativo ILB.
No portal do Azure, selecione Novo>Gateway de Aplicativo de Rede> para criar um gateway de aplicativo.
Configuração básica
Na lista suspensa Camada , você pode selecionar Standard V2 ou WAF V2 para habilitar o recurso WAF no gateway de aplicativo.
Configuração de front-ends
Selecione o tipo de endereço IP Frontend como Público, Privado ou Ambos. Se você definir como Privado ou Ambos, precisará 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 ponto de extremidade público.
Endereço IP público - Você precisa associar um endereço IP público para o acesso público do gateway de aplicativo. Grave este endereço IP, você precisa adicionar um registro em seu serviço DNS mais tarde.
Configuração de back-ends
Insira um nome de pool de back-end e selecione os Serviços de Aplicativo ou o endereço IP ou FQDN em Tipo de destino. Nesse caso, definimos como Serviços de aplicativo e selecionamos Nome do serviço de aplicativo na lista suspensa de destino.
Definição de configuração
Em Definição de configuração, você precisa adicionar uma regra de roteamento selecionando Adicionar um ícone de regra de roteamento.
Você precisa configurar destinos Listener e Backend em uma regra de roteamento. Você pode adicionar um ouvinte HTTP para 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, você pode criar um ouvinte com as seguintes configurações,
Parâmetro valor Description Nome da regra Por exemplo: http-routingrule
Nome do roteamento Nome do cliente de escuta Por exemplo: http-listener
Nome do cliente de escuta IP de Front-end Público Para acesso à Internet, defina como Público Protocolo HTTP Não use criptografia TLS/SSL Porta 80 Porta HTTP padrão Tipo de ouvinte Multi-site Permitir ouvir vários sites no gateway de aplicativo Host type Múltiplo/curinga Defina como nome de site múltiplo ou curinga se o tipo de ouvinte estiver definido como vários sites. Nome do anfitrião Por exemplo: app.asabuludemo.com
Definir como um nome de domínio roteável para o Serviço de Aplicativo Para se conectar ao gateway de aplicativo com criptografia TLS/SSL, você pode criar um ouvinte com as seguintes configurações,
Parâmetro valor Description Nome da regra Por exemplo: https-routingrule
Nome do roteamento Nome do cliente de escuta Por exemplo: https-listener
Nome do cliente de escuta IP de Front-end Público Para acesso à Internet, defina como Público Protocolo HTTPS Usar criptografia TLS/SSL Porta 443 Porta HTTPS padrão Definições de HTTPS Carregar um certificado Carregue um certificado que contém o CN e a chave privada com o formato .pfx. Tipo de ouvinte Multi-site Permitir ouvir vários sites no gateway de aplicativo Host type Múltiplo/curinga Defina como nome de site múltiplo ou curinga se o tipo de ouvinte estiver definido como vários sites. Nome do anfitrião Por exemplo: app.asabuludemo.com
Definir como um nome de domínio roteável para o Serviço de Aplicativo Você precisa configurar uma configuração de Pool de Back-end e HTTP em Destinos de back-end. O pool de back-end foi configurado em etapas anteriores. Selecione Adicionar novo link para adicionar uma configuração HTTP.
Configurações HTTP listadas abaixo:
Parâmetro valor Description Nome da configuração HTTP Por exemplo: https-setting
Nome da configuração HTTP Protocolo de back-end HTTPS Usar criptografia TLS/SSL Porta back-end 443 Porta HTTPS padrão Usar certificado de autoridade de certificação bem conhecido Sim O nome de domínio padrão do ILB ASE é .appserviceenvironment.net
, o certificado deste domínio é emitido por uma autoridade raiz pública confiável. Na configuração Certificado raiz confiável, você pode definir para usar o certificado raiz confiável de CA bem conhecido.Substituir por novo nome de host Sim O cabeçalho do nome do host será substituído ao conectar-se ao aplicativo no ILB ASE Substituição do nome do host Escolha o nome do host do destino de back-end Ao definir o pool de back-end para o Serviço de Aplicativo, você pode escolher o host do destino de back-end Criar testes personalizados Não Usar sonda de integridade padrão
Configurar uma integração de gateway de aplicativo com ILB ASE
Para acessar o ILB ASE a partir do gateway de aplicativo, você precisa verificar se há um link de rede virtual para a zona DNS privada. Se não houver nenhuma rede virtual vinculada à VNet do gateway de aplicativo, adicione um link de rede virtual com as etapas a seguir.
Configurar links de rede virtual com uma zona DNS privada
- Para configurar o link de rede virtual com a zona DNS privada, vá para o plano de configuração da zona DNS privada. Selecione os links>de rede virtual Adicionar
- Insira o nome do link e selecione a respetiva assinatura e rede virtual onde o gateway de aplicativo reside.
- Você pode confirmar o status de integridade do back-end em Integridade do back-end no plano do gateway de aplicativo.
Adicionar um registo DNS público
Você precisa configurar um mapeamento DNS adequado ao acessar o gateway de aplicativo pela Internet.
- O endereço IP público do gateway de aplicativo pode ser encontrado em Configurações de IP Frontend no plano de gateway de aplicativo.
- Use 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.
Validar conexão
- Em um acesso de máquina pela Internet, você pode verificar a resolução de nomes do nome de domínio do aplicativo para o endereço IP público do gateway de aplicativo.
- Em um acesso à máquina pela Internet, teste o acesso à Web a partir de um navegador.