Trabalhar com servidores proxy locais existentes

Configure os conectores de rede privada do Microsoft Entra para usar servidores proxy de saída. O artigo pressupõe que o ambiente de rede já tenha um servidor proxy.

Começamos analisando este principais cenários de implantação:

  • Configure os conectores para ignorar os proxies de saída locais.
  • Configurar conectores para usar um proxy de saída para acessar o proxy de aplicativo do Microsoft Entra.
  • Configure usando um proxy entre o conector e o aplicativo de back-end.

Para saber mais sobre como os conectores funcionam, confira Entenda o que são conectores de rede privada do Microsoft Entra.

Ignorar proxies de saída

Conectores têm componentes subjacentes do sistema operacional que fazem solicitações de saída. Esses componentes automaticamente tentam localizar um servidor proxy na rede usando o WPAD (Serviço de Descoberta Automática de Proxy da Web).

Os componentes do SO tentam localizar um servidor proxy realizando uma pesquisa de DNS (Sistema de Nomes de Domínio) para wpad.domainsuffix. Se a pesquisa for resolvida no DNS, uma solicitação HTTP será feita para o endereço IP de wpad.dat. Essa solicitação se tornará o script de configuração do proxy em seu ambiente. O conector usará o script para selecionar um servidor proxy de saída. No entanto, o tráfego do conector pode continuar falhando porque mais configurações são necessárias no proxy.

Você pode configurar o conector para ignorar o proxy local para garantir que ele use conectividade direta com o serviço proxy de aplicativo do Microsoft Entra. As conexões diretas são recomendadas porque exigem menos configuração. No entanto, algumas políticas de rede exigem que o tráfego passe por um servidor proxy local.

Para desabilitar o uso de proxy de saída para o conector, edite o arquivo C:\Program Files\Microsoft Entra private network connector\MicrosoftEntraPrivateNetworkConnectorService.exe.config e adicione a seção system.net mostrada no exemplo de código:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.net>
    <defaultProxy enabled="false"></defaultProxy>
  </system.net>
  <runtime>
    <gcServer enabled="true"/>
  </runtime>
  <appSettings>
    <add key="TraceFilename" value="MicrosoftEntraPrivateNetworkConnector.log" />
  </appSettings>
</configuration>

Para garantir que o serviço Atualizador do Conector também ignore o proxy, faça uma alteração semelhante no arquivo MicrosoftEntraPrivateNetworkConnectorUpdaterService.exe.config. Esse arquivo está localizado em C:\Program Files\Microsoft Entra private network connector Updater.

Faça cópias dos arquivos originais, caso você precise voltar para os arquivos .config padrão.

Usar o servidor proxy de saída

Como mencionado antes, alguns ambientes requerem que todo o tráfego de saída passe por um proxy de saída, sem exceção. Consequentemente, ignorar o proxy não é uma opção.

Você pode configurar que o tráfego do conector passe pelo proxy de saída, como mostrado no diagrama a seguir:

Como configurar o tráfego do conector para passar por um proxy de saída para o proxy de aplicativo do Microsoft Entra

Como consequência de ter apenas o tráfego de saída, não há necessidade de configurar o acesso de entrada por meio de firewalls.

Observação

O proxy de aplicativo não dá suporte à autenticação com outros proxies. As contas de serviço de rede do atualizador/conector devem ser capazes de se conectarem ao proxy sem serem desafiadas para autenticação.

Se a WPAD estiver habilitada no ambiente e corretamente configurada, o conector descobrirá automaticamente o servidor proxy de saída e tentará usá-lo. No entanto, você pode configurar explicitamente o conector para passar por um proxy de saída.

Para fazer isso, edite o arquivo C:\Program Files\Microsoft Entra private network connector\MicrosoftEntraPrivateNetworkConnectorService.exe.config e adicione a seção system.net mostrada no exemplo de código. Altere proxyserver:8080 para refletir o nome do servidor proxy local ou o endereço IP e a porta. O valor precisará ter o prefixo http://, mesmo se você estiver usando um endereço IP.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.net>  
    <defaultProxy>   
      <proxy proxyaddress="http://proxyserver:8080" bypassonlocal="True" usesystemdefault="True"/>   
    </defaultProxy>  
  </system.net>
  <runtime>
    <gcServer enabled="true"/>
  </runtime>
  <appSettings>
    <add key="TraceFilename" value="MicrosoftEntraPrivateNetworkConnector.log" />
  </appSettings>
</configuration>

Em seguida, configure o serviço Atualizador do Conector para usar o proxy fazendo uma alteração semelhante ao arquivo C:\Program Files\Microsoft Entra private network connector Updater\MicrosoftEntraPrivateNetworkConnectorUpdaterService.exe.config.

Observação

O serviço Conector avalia a configuração de defaultProxy para uso em %SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config, se o defaultProxy não estiver configurado (por padrão) em MicrosoftEntraPrivateNetworkConnectorService.exe.config. O mesmo se aplica também ao serviço Atualizador do Conector (MicrosoftEntraPrivateNetworkConnectorUpdaterService.exe.config).

Há quatro aspectos a considerar no proxy de saída:

  • Regras de saída do proxy
  • Autenticação do proxy
  • Portas do proxy
  • Inspeção do protocolo TLS

Regras de saída do proxy

Permita o acesso às seguintes URLs:

URL Porta Use
* .msappproxy.net
*.servicebus.windows.net
443/HTTPS Comunicação entre o conector e o serviço de nuvem do proxy de aplicativo
crl3.digicert.com
crl4.digicert.com
ocsp.digicert.com
crl.microsoft.com
oneocsp.microsoft.com
ocsp.msocsp.com
80/HTTP O conector usa essas URLs para verificar certificados.
login.windows.net
Secure.aadcdn.microsoftonline p.com
*.microsoftonline.com
*.microsoftonline p.com
*.msauth.net
*.msauthimages.net
*.msecnd.net
*.msftauth.net
*.msftauthimages.net
*.phonefactor.net
enterpriseregistration.windows.net
management.azure.com
policykeyservice.dc.ad.msft.net
ctldl.windowsupdate.com
443/HTTPS O conector usa essas URLs durante o processo de registro.
ctldl.windowsupdate.com
www.microsoft.com/pkiops
80/HTTP O conector usa essas URLs durante o processo de registro.

Se o firewall ou o proxy permitir a configuração de listas de permissões de DNS, você poderá permitir conexões a *.msappproxy.net e *.servicebus.windows.net.

Se você não puder permitir a conectividade pelo FQDN (nome de domínio totalmente qualificado) e precisar especificar intervalos IP, use estas opções:

  • permitir o acesso de saída do conector para todos os destinos.
  • Permitir o acesso de saída do conector para os intervalos de IP do datacenter do Azure. O desafio de usar a lista de intervalos IP do datacenter do Azure é que eles são atualizados semanalmente. Você precisa implantar um processo para garantir que as regras de acesso sejam atualizadas de acordo. Usar apenas um subconjunto dos endereços IP pode interromper sua configuração. Os intervalos de IP mais recentes do Azure Data Center são baixados em https://download.microsoft.com. Use o termo de pesquisa, Azure IP Ranges and Service Tags. Certifique-se de selecionar a nuvem em questão. Por exemplo, os intervalos de IP de nuvem pública podem ser encontrados pesquisando por Azure IP Ranges and Service Tags – Public Cloud. A nuvem do Governo dos EUA pode ser encontrada pesquisando Azure IP Ranges and Service Tags – US Government Cloud.

Autenticação do proxy

Atualmente, não há suporte para autenticação de proxy. Nossa recomendação atual é permitir acesso anônimo ao conector aos destinos da Internet.

Portas do proxy

O conector faz conexões de saída baseadas em TLS usando o método CONNECT. Basicamente, esse método configura um túnel pelo proxy de saída. Configure o servidor proxy para permitir o túnel para as portas 443 e 80.

Observação

Quando o Barramento de Serviço for executado por HTTPS, ele usará a porta 443. No entanto, por padrão, o Barramento de Serviço tenta as conexões TCP diretas e voltará para o HTTPS somente se a conectividade direta falhar.

Inspeção TLS

Não use a inspeção TLS para o tráfego do conector, pois isso causa problemas nesse tráfego. O conector usa um certificado para se autenticar no serviço de proxy de aplicativo, e esse certificado pode ser perdido durante a inspeção TLS.

Configure usando um proxy entre o conector e o aplicativo de back-end

Usar um proxy de encaminhamento para a comunicação em direção ao aplicativo de back-end pode ser um requisito especial em alguns ambientes. Para habilitar um proxy de encaminhamento, siga estas etapas:

Etapa 1: adicionar o valor de Registro necessário ao servidor

  1. Para habilitar o uso do proxy padrão, adicione o valor do Registro (DWORD)UseDefaultProxyForBackendRequests = 1 à chave do Registro de configuração do conector localizada em HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Entra private network connector.

Etapa 2: Configurar o servidor proxy manualmente usando o comando netsh

  1. Habilite a política de grupo Make proxy settings per-machine. A política de grupo é encontrada em: Computer Configuration\Policies\Administrative Templates\Windows Components\Internet Explorer. A política de grupo precisa ser definida, em vez de deixar essa política definida como "por usuário".
  2. Execute gpupdate /force no servidor. Como alternativa, para garantir que a política de grupo seja atualizada, reinicie o servidor.
  3. Inicie um prompt de comandos com privilégios elevados com direitos de administrador e insira control inetcpl.cpl.
  4. Defina as configurações de proxy necessárias.

As configurações fazem com que o conector use o mesmo proxy de encaminhamento para a comunicação com o Azure e para o aplicativo de back-end. Modifique o arquivo MicrosoftEntraPrivateNetworkConnectorService.exe.config para alterar o proxy de encaminhamento. A configuração de proxy de encaminhamento é descrita nas seções Ignorar proxies de saída e Usar o servidor proxy de saída.

Observação

Há várias maneiras de configurar o proxy da Internet no sistema operacional. As definições de proxy configuradas por meio de NETSH WINHTTP (execute NETSH WINHTTP SHOW PROXY para verificar) substituem as definições de proxy que você configurou na etapa 2.

O serviço atualizador do conector usa o proxy do computador. A configuração é encontrada no arquivo MicrosoftEntraPrivateNetworkConnectorUpdaterService.exe.config.

Solucionar problemas do proxy do conector e problemas de conectividade do serviço

Agora, você deve ver todo o tráfego fluindo pelo proxy. Se você tiver problemas, as seguintes informações de solução de problemas deverão ajudar.

A melhor maneira de identificar e solucionar os problemas de conectividade do conector é usar uma captura da rede ao iniciar o serviço do conector. Aqui estão algumas dicas rápidas sobre capturar e filtrar os rastreamentos de rede.

Você pode usar a ferramenta de monitoramento de sua preferência. Para este artigo, usamos o Microsoft Message Analyzer.

Observação

O MMA (analisador de mensagens da Microsoft) foi desativado e os pacotes de download dele foram removidos dos sites microsoft.com em 25 de novembro de 2019. No momento, não há substituição da Microsoft para o analisador de mensagens da Microsoft em desenvolvimento no momento. Para uma funcionalidade semelhante, considere o uso de uma ferramenta de analisador de protocolo de rede de terceiros, como o Wireshark.

Os exemplos a seguir são específicos para o Message Analyzer, mas os princípios podem ser aplicados a qualquer ferramenta de análise.

Fazer uma captura do tráfego do conector

Para a solução de problemas inicial, execute as seguintes etapas:

  1. No services.msc, pare o serviço do conector de rede privada do Microsoft Entra.

    Serviço do conector de rede privada do Microsoft Entra em services.msc

  2. Execute o Message Analyzer como administrador.

  3. Selecione Iniciar rastreamento local.

  4. Inicie o serviço do conector de rede privada do Microsoft Entra.

  5. Pare a captura de rede.

    Captura de tela mostrando o botão Parar captura de rede

Verifique se o tráfego do conector ignorou proxies de saída

Se você espera que o conector faça conexões diretas com serviços de proxy de aplicativo, as respostas SynRetransmit na porta 443 são uma indicação de que você tem um problema de rede ou firewall.

Use o filtro do Message Analyzer para identificar tentativas de conexão de protocolo TCP com falha. Insira property.TCPSynRetransmit na caixa de filtro e selecione Aplicar.

Um pacote SYN (sincronização) é o primeiro pacote enviado para estabelecer uma conexão TCP. Se o pacote não retornar uma resposta, o SYN fará uma nova tentativa. Você pode usar o filtro para ver os pacotes SYN retransmitidos. Assim, você pode verificar se esses pacotes SYN correspondem ao tráfego relacionado a algum conector.

Verifique se o tráfego do conector usa os proxies de saída

Se você configurou o tráfego do seu conector de rede privada para passar pelos servidores de proxy, procure as conexões https com seu proxy que apresentaram falha.

Use o filtro do Message Analyzer para identificar tentativas de conexão HTTPS com falha ao seu proxy. Insira (https.Request or https.Response) and tcp.port==8080 no filtro do Message Analyzer, substituindo 8080 pela porta do serviço proxy. Selecione Aplicar para ver os resultados do filtro.

O filtro anterior mostra apenas as solicitações e respostas HTTPs para/da porta do proxy. Você está procurando as solicitações CONNECT que mostram a comunicação com o servidor proxy. No caso de êxito, você obterá uma resposta HTTP OK (200).

Caso sejam exibidos outros códigos de resposta, como 407 ou 502, isso indica que o proxy está exigindo autenticação ou não está permitindo o tráfego por algum outro motivo. Neste ponto, você interage com a equipe de suporte do servidor proxy.

Próximas etapas