Implantação do Gateway de Aplicativo Privado (versão prévia)
Introdução
Historicamente, as SKUs do Gateway de Aplicativo v2 e, até certo ponto, a v1, exigiram o IP para permitir o gerenciamento do serviço. Esse requisito impôs várias limitações ao uso de controles de granularidade refinada em grupos de segurança de rede e tabelas de rotas. Especificamente, os seguintes desafios foram observados:
- Todas as implantações de Gateways de Aplicativo v2 devem conter a configuração de IP de front-end voltado para o público para habilitar a comunicação com a marca de serviço do Gerenciador de Gateway.
- As associações do grupo de segurança de rede exigem regras para permitir o acesso de entrada do GatewayManager e do acesso de saída à Internet.
- Ao introduzir uma rota padrão (0.0.0.0/0) para encaminhar o tráfego em qualquer lugar que não seja a Internet, as métricas, o monitoramento e as atualizações do gateway resultam em um status com falha.
O Gateway de Aplicativo v2 agora pode abordar cada um desses itens para eliminar ainda mais o risco de exfiltração de dados e controlar a privacidade da comunicação de dentro da rede virtual. Essas alterações incluem os seguintes recursos:
- Configuração de IP de front-end somente de endereço IP privado
- Nenhum recurso de IP necessário
- Eliminação do tráfego de entrada da marca de serviço GatewayManager por meio do grupo de segurança de rede
- Capacidade de definir uma regra do NSG (grupo de segurança de rede) de saída Negar Tudo para restringir o tráfego de saída para a Internet
- Capacidade de substituir a rota padrão para a Internet (0.0.0.0/0)
- Resolução de DNS por meio de resolvedores definidos na rede virtual Saiba mais, incluindo zonas DNS privadas de link privado.
Cada um desses recursos pode ser configurado de forma independente. Por exemplo, um IP pode ser usado para permitir a entrada de tráfego da Internet e você pode definir uma regra de saída Negar Tudo na configuração do grupo de segurança de rede para impedir a exfiltração de dados.
Integração à versão prévia pública
A funcionalidade dos novos controles da configuração de front-end de IP privado, o controle sobre as regras do NSG e o controle sobre tabelas de rotas estão atualmente em versão prévia pública. Para ingressar na versão prévia pública, você pode optar pela experiência usando o portal do Azure, o PowerShell, a CLI ou a API REST.
Quando você participa da visualização, todos os novos Gateways de Aplicativo são fornecidos com a capacidade de definir qualquer combinação dos recursos de configuração de NSG, Tabela de Rotas ou IP privado. Se quiser recusar a nova funcionalidade e retornar à funcionalidade atual do Gateway de Aplicativo de disponibilidade geral, você poderá fazer isso cancelando o registro da versão prévia.
Para mais informações sobre como adicionar versões prévias de recurso, confira Configurar versões prévias de recurso na assinatura do Azure
Registrar-se para a versão prévia
Use as seguintes etapas para se registrar na versão prévia pública para os controles de rede aprimorados do Gateway de Aplicativo por meio do portal do Azure:
Entre no portal do Azure.
Na caixa de pesquisa, insira assinaturas e selecione Assinaturas.
Selecione o link para o nome da sua assinatura.
No menu esquerdo, em Configurações, selecione Versões prévias do recurso.
Você verá uma lista de versões prévias dos recursos disponíveis e seu status de registro atual.
Em Versões prévias de recurso, digite na caixa de filtro EnableApplicationGatewayNetworkIsolation, marque o recurso e clique em Registrar.
Observação
O registro de recursos pode levar até 30 minutos para fazer a transição do registro para o status registrado.
Para mais informações sobre como adicionar versões prévias de recurso, confira Configurar versões prévias de recurso na assinatura do Azure
Cancelar o registro da versão prévia
Para recusar a versão prévia pública para os controles de rede aprimorados do Gateway de Aplicativo por meio do Portal, use as seguintes etapas:
Entre no portal do Azure.
Na caixa de pesquisa, insira assinaturas e selecione Assinaturas.
Selecione o link para o nome da sua assinatura.
No menu esquerdo, em Configurações, selecione Versões prévias do recurso.
Você verá uma lista de versões prévias dos recursos disponíveis e seu status de registro atual.
Em Versões prévias dos recursos, digite na caixa de filtro EnableApplicationGatewayNetworkIsolation, marque o recurso e clique em Cancelar registro.
Regiões e disponibilidade
A versão prévia do Gateway de Aplicativo privado está disponível para todas as regiões de nuvem pública onde o SKU do Gateway de Aplicativo v2 tem suporte.
Configuração de controles de rede
Após o registro na versão prévia pública, a configuração do NSG, da tabela de rotas e da configuração de front-end de endereço IP privado pode ser executada usando qualquer método. Por exemplo: API REST, Modelo do ARM, implantação do Bicep, Terraform, PowerShell, CLI ou Portal. Nenhuma alteração de API ou comando foi introduzida com essa versão prévia pública.
Alterações de recursos
Depois que o gateway é provisionado, uma marca de recurso é atribuída automaticamente com o nome de EnhancedNetworkControl e o valor de True. Consulte o seguinte exemplo:
A marca de recurso é cosmética e serve para confirmar que o gateway foi provisionado com os recursos para configurar qualquer combinação dos recursos de gateway somente privado. A modificação ou exclusão da marca ou do valor não altera a operação funcional do gateway.
Dica
A marca EnhancedNetworkControl pode ser útil quando os Gateways de Aplicativo existentes foram implantados na assinatura antes da habilitação do recurso e você quer diferenciar qual gateway pode utilizar a nova funcionalidade.
Sub-rede de Gateway de Aplicativo
Sub-rede do Gateway de Aplicativo é a sub-rede da Rede Virtual do Microsoft Azure em que os recursos do Gateway de Aplicativo serão implantados. Na configuração do IP Privado do Front-end, é importante que essa sub-rede possa alcançar de forma privada os recursos que querem se conectar ao seu aplicativo ou site exposto.
Conectividade com a Internet de saída
As implantações do Gateway de Aplicativo que possuem apenas uma configuração de IP de front-end privado (sem uma configuração de IP de front-end público associada a uma regra de roteamento de solicitações) não conseguem ejetar o tráfego destinado à Internet. Essa configuração afeta a comunicação com destinos de back-end que são publicamente acessíveis por meio da Internet.
Para habilitar a conectividade de saída do Gateway de Aplicativo para um destino de back-end voltado para a Internet, você pode utilizar a NAT da Rede Virtual ou encaminhar o tráfego para um dispositivo virtual que tenha acesso à Internet.
A NAT de Rede Virtual oferece controle sobre qual endereço IP ou prefixo deve ser usado, bem como tempo limite ocioso configurável. Para configurar, crie um novo Gateway da NAT com um IP ou prefixo público e associe-o à sub-rede que contém o Gateway de Aplicativo.
Se for necessário uma solução de virtualização para a saída da Internet, confira a seção de controle da tabela de rotas neste documento.
Cenários comuns em que o uso de IP é necessário:
- Comunicação com o cofre de chaves sem o uso de pontos de extremidade privados ou pontos de extremidade de serviço
- A comunicação de saída não é necessária para arquivos pfx carregados diretamente no Gateway de Aplicativo
- Comunicação com destinos de back-end via Internet
- Comunicação com pontos de extremidade de CRL ou OCSP voltados para a Internet
Controle do grupo de segurança de rede
Os grupos de segurança de rede associados a uma sub-rede do Gateway de Aplicativo não exigem mais regras de entrada para o GatewayManager e não exigem acesso de saída à Internet. A única regra necessária é Permitir entrada do AzureLoadBalancer para garantir que as investigações de integridade possam alcançar o gateway.
A configuração a seguir é um exemplo do conjunto mais restritivo de regras de entrada, negando todo o tráfego, exceto investigações de integridade do Azure. Além das regras definidas, as regras explícitas são definidas para permitir que o tráfego do cliente chegue ao ouvinte do gateway.
Observação
O Gateway de Aplicativo exibirá um alerta pedindo para garantir que a regra Permitir LoadBalanceRule seja especificada se uma regra DenyAll restringir inadvertidamente o acesso a investigações de integridade.
Cenário de exemplo
Este exemplo mostra a criação de um NSG usando o portal do Azure com as seguintes regras:
- Permitir o tráfego de entrada para as portas 80 e 8080 para o Gateway de Aplicativo a partir de solicitações de cliente provenientes da Internet
- Negar todos os outros tráfegos de entrada
- Permitir tráfego de saída para um destino de back-end em outra rede virtual
- Permitir o tráfego de saída para um destino de back-end acessível pela Internet
- Negar todos os outros tráfegos de saída
Primeiro, crie um grupo de segurança de rede. Esse grupo de segurança contém suas regras de entrada e saída.
Regras de entrada
Três regras padrão de entrada já estão provisionadas no grupo de segurança. Consulte o seguinte exemplo:
Em seguida, crie as quatro novas regras de segurança de entrada a seguir:
- Permitir a porta de entrada 80, TCP, da Internet (qualquer)
- Permitir a porta de entrada 8080, TCP, da Internet (qualquer)
- Permitir entrada do AzureLoadBalancer
- Negar Qualquer Entrada
Para criar estas regras:
- Selecione Regras de segurança de entrada
- Selecione Adicionar
- Insira as informações a seguir para cada regra no painel Adicionar regra de segurança de entrada.
- Ao inserir as informações, selecione Adicionar para criar a regra.
- A criação de cada regra leva um momento.
Nº da regra | Origem | Marca de serviço de origem | Intervalos de portas de origem | Destino | Serviço | Intervalos de porta de destino | Protocolo | Ação | Prioridade | Nome |
---|---|---|---|---|---|---|---|---|---|---|
1 | Qualquer | * | Qualquer | HTTP | 80 | TCP | Allow | 1028 | AllowWeb | |
2 | Qualquer | * | Qualquer | Personalizado | 8080 | TCP | Allow | 1029 | AllowWeb8080 | |
3 | Marca de serviço | AzureLoadBalancer | * | Qualquer | Personalizado | * | Qualquer | Allow | 1045 | AllowLB |
4 | Qualquer | * | Qualquer | Personalizado | * | Qualquer | Negar | 4095 | DenyAllInBound |
Selecione Atualizar para examinar todas as regras quando o provisionamento for concluído.
Regras de saída
Três regras de saída padrão com prioridade 65000, 65001 e 65500 já estão provisionadas.
Crie as três novas regras de segurança de saída a seguir:
- Permitir TCP 443 de 10.10.4.0/24 para o destino de back-end 203.0.113.1
- Permitir TCP 80 da origem 10.10.4.0/24 para o destino 10.13.0.4
- Regra de tráfego DenyAll
Essas regras recebem uma prioridade de 400, 401 e 4096, respectivamente.
Observação
- 10.10.4.0/24 é o espaço de endereço da sub-rede do Gateway de Aplicativo.
- 10.13.0.4 é uma máquina virtual em uma VNet emparelhada.
- 203.0.113.1 é uma VM de destino de back-end.
Para criar estas regras:
- Selecione Regras de segurança de saída
- Selecione Adicionar
- Insira as informações a seguir para cada regra no painel Adicionar regra de segurança de saída.
- Ao inserir as informações, selecione Adicionar para criar a regra.
- A criação de cada regra leva um momento.
Nº da regra | Origem | Endereços IP de origem/Intervalos de CIDR | Intervalos de portas de origem | Destino | Intervalos de CIDR /endereço IP de destino | Serviço | Intervalos de porta de destino | Protocolo | Ação | Prioridade | Nome |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | Endereços IP | 10.10.4.0/24 | * | Endereços IP | 203.0.113.1 | HTTPS | 443 | TCP | Allow | 400 | AllowToBackendTarget |
2 | Endereços IP | 10.10.4.0/24 | * | Endereços IP | 10.13.0.4 | HTTP | 80 | TCP | Allow | 401 | AllowToPeeredVnetVM |
3 | Qualquer | * | Qualquer | Personalizado | * | Qualquer | Negar | 4096 | DenyAll |
Selecione Atualizar para examinar todas as regras quando o provisionamento for concluído.
Associar o NSG à sub-rede
A última etapa é associar o grupo de segurança de rede à sub-rede que contém o Gateway de Aplicativo.
Resultado:
Importante
Tenha cuidado ao definir regras DenyAll, pois você pode inadvertidamente negar o tráfego de entrada de clientes para os quais você pretende permitir o acesso. Você também pode negar inadvertidamente o tráfego de saída para o destino do back-end, fazendo com que a integridade do back-end falhe e produza respostas 5XX.
Controle de tabela de rotas
Na oferta atual do Gateway de Aplicativo, a associação de uma tabela de rotas com uma regra (ou criação de regra) definida como 0.0.0.0/0 com um próximo salto como dispositivo virtual não tem suporte para garantir o gerenciamento adequado do Gateway de Aplicativo.
Após o registro da versão prévia do recurso pública, a capacidade de encaminhar o tráfego para uma solução de virtualização agora é possível por meio da definição de uma regra de tabela de rotas que define 0.0.0.0/0 com um próximo salto para a solução de virtualização.
O túnel forçado ou o aprendizado da rota 0.0.0.0/0 por meio da publicidade BGP não afeta a integridade do Gateway de Aplicativo e é respeitado pelo fluxo de tráfego. Esse cenário pode ser aplicável ao usar VPN, ExpressRoute, Servidor de Rota ou WAN Virtual.
Cenário de exemplo
No exemplo a seguir, criamos uma tabela de rotas e a associamos à sub-rede do Gateway de Aplicativo para garantir que o acesso à Internet de saída da sub-rede será retirado de uma solução de virtualização. Em um nível alto, o design a seguir é resumido na Figura 1:
- O Gateway de Aplicativo está na rede virtual spoke
- Há uma solução de virtualização de rede (uma máquina virtual) na rede do hub
- Uma tabela de rotas com uma rota padrão (0.0.0.0/0) para a solução de virtualização está associada à sub-rede do Gateway de Aplicativo
Figura 1: saída de acesso à Internet por meio de solução de virtualização
Para criar uma tabela de rotas e associá-la à sub-rede do Gateway de Aplicativo:
- Selecione Rotas e crie a regra de próximo salto para 0.0.0.0/0 e configure o destino para ser o endereço IP da VM:
- Selecione Sub-redes e associe a tabela de rotas à sub-rede do Gateway de Aplicativo:
- Valide se o tráfego está passando pela solução de virtualização.
Limitações/problemas conhecidos
As seguintes limitações são conhecidas durante a versão prévia pública.
Configuração do link privado
O suporte à configuração de link privado para túnel de tráfego por meio de pontos de extremidade privados para o Gateway de Aplicativo não é compatível com o gateway somente privado.
Limitação de taxa de WAF
No momento, não há suporte para regras personalizadas de limitação de taxa para o WAF v2 do Gateway de Aplicativo.
Configuração de front-end de IP privado somente com AGIC
O AGIC v1.7 deve ser usado para introduzir suporte somente para IP de front-end privado.
Conectividade de ponto de extremidade privado por meio do emparelhamento VNet global
Se o Gateway de Aplicativo tiver uma referência de destino de back-end ou cofre de chaves a um ponto de extremidade privado localizado em uma VNet acessível por meio do emparelhamento de VNet global, o tráfego será descartado, resultando em um status não íntegro.
Integração do Observador de Rede
A solução de problemas de conexão e o diagnóstico do NSG retornam um erro ao executarem testes de verificação e diagnóstico.
Gateways de aplicativos v2 coexistentes criados antes da habilitação do controle de rede aprimorado
Se uma sub-rede compartilhar implantações do Gateway de Aplicativo v2 que foram criadas antes e depois da habilitação da funcionalidade de controle de rede aprimorado, a funcionalidade do NSG (grupo de segurança de rede) e da Tabela de Rotas será limitada à implantação anterior do gateway. Os gateways de aplicativo provisionados antes da habilitação da nova funcionalidade devem ser reprovisionados ou os gateways recém-criados devem usar uma sub-rede diferente para habilitar recursos aprimorados de grupo de segurança de rede e tabela de rotas.
- Se um gateway implantado antes da habilitação da nova funcionalidade existir na sub-rede, você poderá ver erros como:
For routes associated to subnet containing Application Gateway V2, please ensure '0.0.0.0/0' uses Next Hop Type as 'Internet'
ao adicionar entradas de tabela de rotas. - Ao adicionar regras de grupo de segurança de rede à sub-rede, você poderá ver:
Failed to create security rule 'DenyAnyCustomAnyOutbound'. Error: Network security group \<NSG-name\> blocks outgoing Internet traffic on subnet \<AppGWSubnetId\>, associated with Application Gateway \<AppGWResourceId\>. This isn't permitted for Application Gateways that have fast update enabled or have V2 Sku.
Status de integridade de back-end desconhecido
Se a integridade do back-end for Desconhecida, você poderá ver o seguinte erro:
- Não foi possível recuperar o status de integridade do back-end. Isso acontece quando um NSG/UDR/Firewall na sub-rede do gateway do aplicativo bloqueia o tráfego nas portas 65503-65534, se houver SKU v1, e nas portas 65200-65535, se houver SKU v2, ou se o FQDN configurado no pool de back-end não puder ser resolvido em um endereço de IP. Para saber mais, consulte - https://aka.ms/UnknownBackendHealth.
Esse erro pode ser ignorado e será esclarecido em uma versão futura.
Próximas etapas
- Confira Linha de base de segurança do Azure para o Gateway de Aplicativo para obter melhores práticas de segurança.