Protegendo Acesso Remoto com o Azure AD Application Proxy

Protegendo Acesso Remoto com o Azure AD Application Proxy

14/03/2025

Este artigo técnico e educativo tem como objetivo guiar analistas de segurança, administradores de TI e engenheiros de sistemas na implementação e configuração do Azure AD Application Proxy para proteger o acesso remoto a aplicações web on-premises. Em um ambiente de trabalho híbrido, onde usuários precisam acessar recursos internos de qualquer lugar, a segurança desse acesso é fundamental. O Azure AD Application Proxy oferece uma solução segura e simplificada para publicar aplicações web on-premises para usuários remotos sem a necessidade de VPNs complexas ou DMZs [1].

Introdução

Tradicionalmente, o acesso remoto a aplicações internas exigia a configuração de redes privadas virtuais (VPNs) ou a exposição de aplicações em redes de perímetro (DMZs), o que adicionava complexidade e potenciais vetores de ataque. Com a crescente adoção de modelos de trabalho remoto e híbrido, as organizações precisam de uma maneira mais segura e eficiente de fornecer acesso a aplicações legadas que ainda residem on-premises [2].

O Azure AD Application Proxy é um recurso do Azure Active Directory (agora Microsoft Entra ID) que permite que os usuários acessem aplicações web on-premises de forma segura a partir de qualquer local. Ele atua como um proxy reverso, roteando o tráfego de aplicações internas através do Azure AD, que lida com a autenticação e autorização. Isso significa que as aplicações on-premises podem ser acessadas como se fossem aplicações SaaS, aproveitando os recursos de segurança do Azure AD, como autenticação multifator (MFA) e acesso condicional [3].

Este guia prático abordará os pré-requisitos, a instalação e configuração de conectores do Application Proxy, a publicação de diferentes tipos de aplicações (web apps, Remote Desktop Web Client, SharePoint), a integração com políticas de Acesso Condicional, e como testar e validar o acesso remoto. Serão fornecidas instruções passo a passo, exemplos práticos, e explicações concisas para que o leitor possa implementar, testar e validar esses recursos. Além disso, serão discutidas dicas de segurança, verificação de conformidade e melhores práticas para garantir um acesso remoto seguro e eficiente, de forma autônoma, profissional e confiável.

Por que o Azure AD Application Proxy é crucial para o acesso remoto?

  • Segurança Aprimorada: Centraliza a autenticação e autorização no Azure AD, permitindo o uso de recursos de segurança como MFA, Acesso Condicional e Proteção de Identidade para aplicações on-premises.
  • Acesso Simplificado: Fornece uma experiência de logon único (SSO) para aplicações on-premises, tornando o acesso mais fácil para os usuários.
  • Redução de Complexidade: Elimina a necessidade de VPNs ou DMZs para acesso remoto, simplificando a arquitetura de rede e reduzindo a superfície de ataque.
  • Custo-benefício: Utiliza a infraestrutura existente do Azure AD, sem a necessidade de hardware ou software adicional para acesso remoto.
  • Publicação Flexível: Suporta a publicação de uma ampla gama de aplicações web, incluindo aplicações baseadas em cabeçalho, SharePoint, Remote Desktop Web Client e outras aplicações web personalizadas.

Pré-requisitos

Para configurar o Azure AD Application Proxy, você precisará dos seguintes itens:

  1. Licenciamento: Uma assinatura Azure AD Premium P1 ou P2 (ou uma licença que inclua esses recursos, como Microsoft 365 E3/E5) [4].
  2. Acesso Administrativo: Uma conta com a função de Administrador Global ou Administrador de Aplicações no portal do Azure (https://portal.azure.com).
  3. Servidor Windows para o Conector: Um servidor Windows Server (2012 R2 ou posterior) dentro da sua rede on-premises que tenha conectividade com as aplicações que você deseja publicar e com o Azure AD. Este servidor deve ter acesso de saída à internet (portas 80 e 443 para o Azure AD e 443 para o Azure AD Application Proxy service) [5].
  4. Aplicações Web On-premises: Aplicações web internas que você deseja tornar acessíveis remotamente.
  5. Domínio Personalizado (Opcional): Um domínio personalizado verificado no Azure AD, se você quiser usar URLs amigáveis para suas aplicações publicadas.

Passo a Passo: Configurando o Azure AD Application Proxy

Vamos configurar o Application Proxy e publicar uma aplicação.

1. Instalação e Configuração do Conector do Application Proxy

O conector é um agente leve que se conecta ao Azure AD e às suas aplicações on-premises.

  1. Abra seu navegador e navegue até o portal do Azure: https://portal.azure.com.
  2. Faça login com uma conta que tenha as permissões necessárias.
  3. No campo de pesquisa superior, digite Azure Active Directory e selecione-o nos resultados.
  4. No painel de navegação esquerdo, selecione Application Proxy em Gerenciar.
  5. Clique em Baixar o serviço do conector.

  6. No servidor Windows on-premises que você designou para o conector:

    • Baixe e execute o instalador do conector (AADApplicationProxyConnectorInstaller.exe).
    • Siga as instruções do assistente de instalação. Durante a instalação, você será solicitado a fazer login com suas credenciais de administrador global do Azure AD.
    • Após a instalação bem-sucedida, o serviço do conector será iniciado automaticamente.
  7. De volta ao portal do Azure, na página Application Proxy, verifique se o conector recém-instalado aparece na lista de Conectores com status Ativo.

    • Explicação: É recomendável instalar pelo menos dois conectores para alta disponibilidade e balanceamento de carga. Os conectores se atualizam automaticamente, garantindo que você sempre tenha a versão mais recente.

2. Publicando uma Aplicação Web On-premises

Vamos publicar uma aplicação web interna. Para este exemplo, imagine que temos uma aplicação web interna chamada MinhaAppInterna acessível em http://minhaappinterna.local:8080.

  1. No painel de navegação esquerdo do Azure Active Directory, selecione Aplicações empresariais em Gerenciar.
  2. Clique em + Nova aplicação.
  3. Clique em Integrar qualquer outra aplicação que você não encontre na galeria (Não-galeria).
  4. Noções básicas:
    • Nome: Dê um nome significativo (ex: MinhaAppInterna-Proxy).
    • Tipo de aplicação: Selecione Aplicação on-premises.
  5. Clique em Adicionar.

  6. Após a criação da aplicação, você será redirecionado para a página de gerenciamento da aplicação. No painel de navegação esquerdo, selecione Application Proxy em Gerenciar.

  7. Configurações básicas:

    • URL interna: Insira a URL interna da sua aplicação (ex: http://minhaappinterna.local:8080). Certifique-se de que o conector pode resolver e acessar esta URL.
    • URL externa: Esta URL será gerada automaticamente com base no seu domínio padrão do Azure AD (ex: minhaappinterna-proxy.msappproxy.net). Você pode configurar um domínio personalizado se tiver um.
    • Método de pré-autenticação: Selecione Azure Active Directory (recomendado para segurança máxima).
    • Grupo de Conectores: Selecione o grupo de conectores padrão ou um grupo personalizado se você tiver vários conectores.
  8. Clique em Salvar.

  9. No painel de navegação esquerdo, selecione Usuários e grupos em Gerenciar.

  10. Clique em + Adicionar usuário/grupo e atribua usuários ou grupos do Azure AD que terão permissão para acessar esta aplicação.

    • Explicação: A atribuição de usuários e grupos é crucial para controlar quem pode acessar a aplicação publicada. O Azure AD Application Proxy garante que apenas usuários autenticados e autorizados possam alcançar a aplicação interna.

3. Configurando Acesso Condicional para Aplicações Publicadas

O Acesso Condicional permite impor políticas de segurança adicionais, como MFA, para o acesso à aplicação.

  1. No painel de navegação esquerdo do Azure Active Directory, selecione Segurança > Acesso Condicional.
  2. Clique em + Nova política.
  3. Noções básicas:
    • Nome: Dê um nome significativo (ex: MFA_para_MinhaAppInterna).
  4. Atribuições:
    • Usuários ou cargas de trabalho de identidade: Selecione os usuários e grupos que serão afetados pela política (ex: Grupo_Usuarios_MinhaAppInterna).
    • Aplicações na nuvem ou ações: Selecione MinhaAppInterna-Proxy.
  5. Controles de acesso:
    • Conceder: Selecione Conceder acesso e Exigir autenticação multifator.
  6. Habilitar política: Selecione Ativado.
  7. Clique em Criar.

    • Explicação: Esta política garantirá que qualquer usuário que tente acessar a MinhaAppInterna-Proxy seja solicitado a realizar a autenticação multifator, mesmo que a aplicação on-premises não suporte MFA nativamente.

4. Publicando Outros Tipos de Aplicações

O Application Proxy pode ser usado para publicar outros tipos de recursos, como Remote Desktop Web Client e SharePoint.

4.1. Publicando Remote Desktop Web Client

  1. Siga os passos da Seção 2 para criar uma nova aplicação empresarial.
  2. Na configuração do Application Proxy:
    • URL interna: Insira a URL do seu servidor de Remote Desktop Web Client (ex: https://rdweb.contoso.com/RDWeb).
    • URL externa: Será gerada automaticamente.
    • Método de pré-autenticação: Azure Active Directory.
    • Tipo de cabeçalho de tradução de URL: Cabeçalhos de URL de back-end.
  3. Atribua usuários/grupos.

4.2. Publicando SharePoint On-premises

  1. Siga os passos da Seção 2 para criar uma nova aplicação empresarial.
  2. Na configuração do Application Proxy:
    • URL interna: Insira a URL do seu site SharePoint (ex: https://sharepoint.contoso.local).
    • URL externa: Será gerada automaticamente.
    • Método de pré-autenticação: Azure Active Directory.
    • Tipo de cabeçalho de tradução de URL: Cabeçalhos de URL de back-end.
  3. Atribua usuários/grupos.

Validação e Teste

É crucial testar o acesso remoto para garantir que as aplicações estão acessíveis de forma segura.

1. Testando o Acesso à Aplicação Publicada

  1. Cenário: De um computador fora da rede corporativa (ex: sua casa), abra um navegador e navegue até a URL externa da MinhaAppInterna-Proxy (ex: https://minhaappinterna-proxy.msappproxy.net).
  2. Ação Esperada: Você deve ser redirecionado para a página de login do Azure AD. Após inserir suas credenciais do Azure AD e, se configurado, completar o MFA, você deve ser redirecionado para a MinhaAppInterna on-premises.
  3. Verificação:
    • Confirme que a aplicação carrega corretamente e que você pode interagir com ela.
    • Verifique os logs de login do Azure AD para confirmar que o acesso foi autenticado através do Application Proxy e que o MFA foi aplicado.

2. Verificando Logs de Login no Azure AD

  1. No portal do Azure, navegue até Azure Active Directory > Monitoramento > Logs de entrada.
  2. Filtre os logs pela Aplicação (MinhaAppInterna-Proxy).
  3. Verifique os detalhes do login, incluindo o Status de Acesso Condicional (deve mostrar Sucesso e indicar que o MFA foi aplicado).

Dicas de Segurança e Melhores Práticas

  • Sempre Use Pré-autenticação do Azure AD: A pré-autenticação do Azure AD é o método mais seguro, pois garante que apenas usuários autenticados e autorizados cheguem à sua rede interna. Evite Pass-through a menos que seja estritamente necessário para aplicações que não podem lidar com a pré-autenticação.
  • Acesso Condicional: Utilize o Acesso Condicional para impor políticas de segurança adicionais, como MFA, restrições de localização, conformidade do dispositivo, etc., para todas as aplicações publicadas via Application Proxy.
  • Grupos de Conectores: Organize seus conectores em grupos para isolar aplicações ou para ter conectores mais próximos de aplicações específicas para melhor desempenho.
  • Alta Disponibilidade: Instale pelo menos dois conectores em servidores separados para garantir alta disponibilidade e resiliência. Considere a instalação em diferentes regiões ou zonas de disponibilidade, se aplicável.
  • Manutenção do Conector: Embora os conectores se atualizem automaticamente, monitore seu status no portal do Azure para garantir que estejam sempre ativos e saudáveis.
  • Segurança do Servidor do Conector: Proteja o servidor onde o conector está instalado. Mantenha-o atualizado, aplique o princípio do privilégio mínimo e monitore-o para atividades suspeitas.
  • Otimização de Desempenho: Para aplicações com alto tráfego ou que exigem baixa latência, considere a localização dos conectores em relação aos servidores de aplicações e a largura de banda disponível.
  • Monitoramento: Monitore os logs de login do Azure AD e os logs do conector para detectar atividades suspeitas ou problemas de acesso.

Troubleshooting Comum

  • Erro de Acesso (404, 500, etc.):
    • Verifique a URL interna: Certifique-se de que a URL interna configurada no Application Proxy está correta e que o conector pode acessá-la diretamente do servidor onde está instalado.
    • Verifique o conector: Confirme se o conector está Ativo no portal do Azure. Reinicie o serviço do conector no servidor.
    • Verifique o grupo de conectores: Certifique-se de que o grupo de conectores atribuído à aplicação tem pelo menos um conector ativo.
    • Firewall local: Verifique se o firewall no servidor do conector ou no servidor da aplicação está bloqueando o tráfego.
  • Aplicações não carregam corretamente (problemas de renderização):
    • Tradução de cabeçalhos: Para algumas aplicações, pode ser necessário ajustar o Tipo de cabeçalho de tradução de URL nas configurações do Application Proxy para Cabeçalhos de URL de back-end ou Cabeçalhos de URL de front-end.
    • Links codificados: Aplicações com links codificados (hardcoded) para URLs internas podem ter problemas. Considere usar o Link Translation do Application Proxy ou reconfigurar a aplicação, se possível.
  • Problemas de SSO:
    • Configuração de SSO: Verifique as configurações de SSO na aplicação empresarial. Para aplicações que não são federadas, pode ser necessário configurar SSO baseado em senha ou SSO de cabeçalho.
    • Kerberos Constrained Delegation (KCD): Para aplicações que usam autenticação Windows integrada (IWA), verifique se o KCD está configurado corretamente no Active Directory para o conector.
  • Acesso Condicional bloqueando usuários legítimos:
    • Revise cuidadosamente as políticas de Acesso Condicional. Verifique se os usuários ou grupos estão incluídos ou excluídos corretamente.
    • Use a ferramenta What If no Acesso Condicional para simular o acesso e entender por que uma política está sendo aplicada ou bloqueada.
  • Conector offline:
    • Verifique a conectividade de rede do servidor do conector com o Azure AD (portas 80 e 443 de saída) e com o serviço do Application Proxy (porta 443 de saída).
    • Verifique os logs de eventos do Windows no servidor do conector para erros relacionados ao serviço.
    • Certifique-se de que o serviço Microsoft AAD Application Proxy Connector está em execução.

Conclusão

O Azure AD Application Proxy é uma ferramenta poderosa e segura para estender o acesso a aplicações web on-premises para usuários remotos, alinhando-se com os princípios do modelo Zero Trust. Ao centralizar a autenticação e autorização no Azure AD e eliminar a necessidade de infraestruturas de acesso remoto complexas, as organizações podem simplificar sua arquitetura de segurança e, ao mesmo tempo, fortalecer a proteção contra ameaças. A implementação cuidadosa, a integração com o Acesso Condicional e o monitoramento contínuo são essenciais para maximizar os benefícios de segurança e garantir uma experiência de usuário fluida. Com este guia prático, os profissionais de segurança e administradores de TI estarão bem equipados para configurar, validar e gerenciar o Azure AD Application Proxy, protegendo o acesso remoto a aplicações críticas e fortalecendo a postura de segurança de suas organizações.


Referências:

[1] Microsoft Learn. Publicar aplicativos locais com o proxy de aplicativo do Microsoft Entra. Disponível em: https://learn.microsoft.com/pt-br/entra/identity/app-proxy/overview-what-is-app-proxy [2] Microsoft Learn. Adicionar um aplicativo local para acesso remoto por meio do proxy de aplicativo do Microsoft Entra. Disponível em: https://learn.microsoft.com/pt-br/entra/identity/app-proxy/application-proxy-add-on-premises-application [3] Microsoft Learn. Publicar o Remote Desktop com o proxy de aplicativo do Microsoft Entra. Disponível em: https://learn.microsoft.com/pt-br/entra/identity/app-proxy/application-proxy-integrate-with-remote-desktop-services [4] Microsoft Learn. Licenciamento do Microsoft Entra ID. Disponível em: https://learn.microsoft.com/pt-br/entra/identity/licensing-azure-active-directory [5] Microsoft Learn. Conectores do proxy de aplicativo do Microsoft Entra. Disponível em: https://learn.microsoft.com/pt-br/entra/identity/app-proxy/application-proxy-connectors [6] Microsoft Learn. Acesso Condicional no Microsoft Entra ID. Disponível em: https://learn.microsoft.com/pt-br/entra/identity/conditional-access/overview [7] Microsoft Learn. Solucionar problemas de conectores do proxy de aplicativo do Microsoft Entra. Disponível em: https://learn.microsoft.com/pt-br/entra/identity/app-proxy/application-proxy-troubleshoot-connectors