Configurar o F5 BIG-IP Access Policy Manager para SSO baseado em formulário
Aprenda a configurar o F5 BIG-IP Access Policy Manager (APM) e o Microsoft Entra ID para acesso híbrido seguro (SHA) para aplicativos baseados em formulários. Os serviços publicados pelo BIG-IP para o logon único (SSO) do Microsoft Entra têm benefícios:
- Governança Zero Trust aprimorada por meio da pré-autenticação e acesso condicional do Microsoft Entra
- Consulte O que é Acesso Condicional?
- Veja a segurança do Zero Trust
- SSO completo entre o Microsoft Entra ID e os serviços publicados pelo BIG-IP
- Identidades gerenciadas e acesso a partir de um plano de controle
- Consulte o Centro de administração do Microsoft Entra
Saiba mais:
Descrição do cenário
Para o cenário, há um aplicativo herdado interno configurado para autenticação baseada em formulário (FBA). Idealmente, o Microsoft Entra ID gerencia o acesso ao aplicativo, porque o legado não possui protocolos de autenticação modernos. A modernização requer tempo e esforço, introduzindo o risco de tempo de inatividade. Em vez disso, implante um BIG-IP entre a Internet pública e o aplicativo interno. Essa configuração cancela o acesso de entrada ao aplicativo.
Com um BIG-IP na frente do aplicativo, você pode sobrepor o serviço com a pré-autenticação do Microsoft Entra e o SSO baseado em cabeçalho. A sobreposição melhora a postura de segurança do aplicativo.
Arquitetura de cenário
A solução SHA tem os seguintes componentes:
- Aplicação - Serviço publicado BIG-IP protegido por SHA.
- O aplicativo valida as credenciais do usuário
- Use qualquer diretório, código aberto e assim por diante
- Microsoft Entra ID - Provedor de identidade (IdP) SAML (Security Assertion Markup Language) que verifica as credenciais do usuário, Acesso Condicional e SSO para o BIG-IP.
- Com o SSO, o Microsoft Entra ID fornece atributos para o BIG-IP, incluindo identificadores de usuário
- BIG-IP - proxy reverso e provedor de serviços SAML (SP) para o aplicativo.
- BIG-IP delegando autenticação ao IdP SAML e, em seguida, executa SSO baseado em cabeçalho para o aplicativo back-end.
- O SSO usa as credenciais de usuário armazenadas em cache em outros aplicativos de autenticação baseados em formulários
O SHA suporta fluxos iniciados por SP e IdP. O diagrama a seguir ilustra o fluxo iniciado pelo SP.
- O usuário se conecta ao ponto de extremidade do aplicativo (BIG-IP).
- A política de acesso BIG-IP APM redireciona o usuário para o Microsoft Entra ID (SAML IdP).
- O Microsoft Entra pré-autentica o usuário e aplica políticas de Acesso Condicional impostas.
- O usuário é redirecionado para BIG-IP (SAML SP) e o SSO ocorre usando o token SAML emitido.
- O BIG-IP solicita ao usuário uma senha de aplicativo e a armazena no cache.
- O BIG-IP envia uma solicitação para o aplicativo e recebe um formulário de login.
- O script APM preenche o nome de usuário e a senha e, em seguida, envia o formulário.
- O servidor Web serve a carga útil do aplicativo e a envia para o cliente.
Pré-requisitos
Você precisa dos seguintes componentes:
- Uma assinatura do Azure
- Se não tiver uma, obtenha uma conta gratuita do Azure
- Uma das seguintes funções: Administrador de aplicativos na nuvem ou Administrador de aplicativos
- Um BIG-IP ou implantar um BIG-IP Virtual Edition (VE) no Azure
- Qualquer uma das seguintes licenças F5 BIG-IP:
- F5 BIG-IP® Melhor pacote
- Licença autónoma F5 BIG-IP Access Policy Manager™ (APM)
- F5 BIG-IP Access Policy Manager™ (APM) licença complementar em um BIG-IP F5 BIG-IP® Local Traffic Manager™ (LTM)
- Versão experimental completa de 90 dias do BIG-IP. Ver versões experimentais gratuitas
- Identidades de usuário sincronizadas de um diretório local para o ID do Microsoft Entra
- Um certificado SSL para publicar serviços por HTTPS ou usar certificados padrão durante o teste
- Ver perfil SSL
- Um aplicativo de autenticação baseada em formulário ou configurar um aplicativo FBA (autenticação baseada em formulário) do IIS (Serviços de Informações da Internet) para teste
- Consulte Autenticação baseada em formulários
Configuração BIG-IP
A configuração neste artigo é uma implementação SHA flexível: criação manual de objetos de configuração BIG-IP. Use essa abordagem para cenários que os modelos de Configuração Guiada não cobrem.
Observação
Substitua cadeias de caracteres ou valores de exemplo pelos do seu ambiente.
Registrar F5 BIG-IP no Microsoft Entra ID
Dica
As etapas neste artigo podem variar ligeiramente com base no portal a partir do qual você começou.
O registro BIG-IP é o primeiro passo para o SSO entre entidades. O aplicativo criado a partir do modelo de galeria F5 BIG-IP é a terceira parte confiável, representando a controladora de armazenamento SAML para o aplicativo publicado BIG-IP.
- Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
- Navegue até Identity>Applications>Enterprise applications>Todos os aplicativos.
- No painel Todos os aplicativos, selecione Novo aplicativo.
- O painel Procurar Galeria do Microsoft Entra é aberto.
- Os blocos aparecem para plataformas de nuvem, aplicativos locais e aplicativos em destaque. Os ícones de aplicativos em destaque indicam suporte a SSO federado e provisionamento.
- Na galeria do Azure, procure F5.
- Selecione F5 BIG-IP APM Microsoft Entra ID integration.
- Insira um Nome que o novo aplicativo usa para reconhecer a instância do aplicativo.
- Selecione Adicionar.
- Selecione Criar.
Habilitar SSO para F5 BIG-IP
Configure o registro BIG-IP para atender aos tokens SAML solicitados pelo BIG-IP APM.
- No menu à esquerda, na seção Gerenciar , selecione Logon único.
- O painel Logon único é exibido.
- Na página Selecione um método de logon único, selecione SAML.
- Selecione Não, vou salvar mais tarde.
- No painel Configurar logon único com SAML, selecione o ícone da caneta.
- Para Identifier, substitua o valor pela URL do aplicativo publicado BIG-IP.
- Para URL de resposta, substitua o valor, mas mantenha o caminho para o ponto de extremidade SAML SP do aplicativo. Com essa configuração, o fluxo SAML opera no modo iniciado pelo IdP.
- Microsoft Entra ID emite uma asserção SAML e, em seguida, o usuário é redirecionado para o ponto de extremidade BIG-IP.
- Para o modo iniciado pelo SP, para URL de logon, insira a URL do aplicativo.
- Para URL de Logout, insira o ponto de extremidade de logout único (SLO) do BIG-IP APM precedido pelo cabeçalho do host de serviço.
- Em seguida, as sessões de usuário do BIG-IP APM terminam quando os usuários saem do ID do Microsoft Entra.
- Selecione Salvar.
- Feche o painel de configuração SAML.
- Ignore o prompt de teste SSO.
- Anote as propriedades da seção Atributos do Usuário & Declarações . O Microsoft Entra ID emite as propriedades para autenticação BIG-IP APM e SSO para o aplicativo back-end.
- No painel Certificado de Assinatura SAML , selecione Download.
- O arquivo XML de metadados de federação é salvo no seu computador.
Observação
Do TMOS (Traffic Management Operating System) v16 em diante, o ponto de extremidade SAML SLO é /saml/sp/profile/redirect/slo
.
Observação
Os certificados de assinatura SAML do Microsoft Entra têm uma vida útil de três anos.
Saiba mais: Tutorial: Gerenciar certificados para logon único federado
Atribuir usuários e grupos
O Microsoft Entra ID emite tokens para usuários que recebem acesso a um aplicativo. Para conceder acesso a aplicativos específicos de usuários e grupos:
- No painel de visão geral do aplicativo F5 BIG-IP, selecione Atribuir usuários e grupos.
- Selecione + Adicionar usuário/grupo.
- Selecione os usuários e grupos desejados.
- Selecione Atribuir.
Configuração avançada BIG-IP
Use as instruções a seguir para configurar o BIG-IP.
Definir configurações do provedor de serviços SAML
As configurações da controladora de armazenamento SAML definem as propriedades da controladora de armazenamento SAML que o APM usa para sobrepor o aplicativo herdado com a pré-autenticação SAML. Para configurá-los:
Selecione Access>Federation>SAML Service Provider.
Selecione Serviços de SP Local.
Selecione Criar.
Em Criar Novo Serviço de SP SAML, para Nome e ID de Entidade, insira o nome definido e o ID da entidade.
Observação
Os valores de Configurações de Nome da controladora de armazenamento serão necessários se o ID da entidade não corresponder à parte do nome do host da URL publicada. Ou, os valores são necessários se o ID da entidade não estiver no formato de URL baseado em nome de host regular.
Se o ID da entidade for
urn:myvacation:contosoonline
, insira o esquema externo do aplicativo e o nome do host.
Configurar um conector IdP externo
Um conector IdP SAML define configurações para o BIG-IP APM confiar no Microsoft Entra ID como seu IdP SAML. As configurações conectam o provedor de serviços SAML a um IdP SAML, que estabelece a confiança de federação entre o APM e o ID do Microsoft Entra.
Para configurar o conector:
Selecione o novo objeto do provedor de serviços SAML.
Selecione Bind/UnbBind IdP Connectors.
Na lista Criar novo conector IdP, selecione Dos metadados.
No painel Criar Novo Conector IdP SAML, procure o arquivo XML de Metadados de Federação que você baixou.
Insira um Nome do Provedor de Identidade para o objeto APM que representa o IdP SAML externo. Por exemplo, MyVacation_EntraID.
Selecione Adicionar nova linha.
Selecione o novo conector IdP SAML.
Selecione Atualizar.
Selecione OK.
Configurar SSO baseado em formulários
Crie um objeto APM SSO para FBA SSO para aplicativos back-end.
Execute o SSO do FBA no modo iniciado pelo cliente ou no modo iniciado pelo BIG-IP. Ambos os métodos emulam um logon de usuário injetando credenciais nas tags de nome de usuário e senha. O formulário é enviado. Os usuários fornecem senha para acessar um aplicativo FBA. A senha é armazenada em cache e reutilizada para outros aplicativos FBA.
Selecione Acessar>Logon Único.
Selecione Baseado em formulários.
Selecione Criar.
Em Nome, insira um nome descritivo. Por exemplo, Contoso\FBA\sso.
Em Usar modelo de SSO, selecione Nenhum.
Em Username Source, insira o username source para pré-preencher o formulário de coleta de senha. O padrão
session.sso.token.last.username
funciona bem, porque ele tem o usuário conectado Microsoft Entra User Principal Name (UPN).Para Password Source, mantenha o padrão
session.sso.token.last.password
que a variável APM BIG-IP usa para armazenar senhas de usuário em cache.Para Iniciar URI, insira o URI de logon do aplicativo FBA. Se o URI da solicitação corresponder a esse valor de URI, a autenticação baseada em formulário APM executará o SSO.
Para Ação de formulário, deixe-o em branco. Em seguida, a URL de solicitação original é usada para SSO.
Para Form Parameter for Username, insira o elemento de campo de nome de usuário do formulário de login. Use as ferramentas de desenvolvimento do navegador para determinar o elemento.
Para Parâmetro de formulário para senha, insira o elemento de campo de senha do formulário de login. Use as ferramentas de desenvolvimento do navegador para determinar o elemento.
Para saber mais, vá para techdocs.f5.com para Capítulo Manual: Métodos de logon único.
Configurar um perfil de acesso
Um perfil de acesso vincula os elementos APM que gerenciam o acesso aos servidores virtuais BIG-IP, incluindo políticas de acesso, configuração de SSO e configurações de interface do usuário.
Selecione Perfis / Políticas de Acesso>.
Selecione Perfis de acesso (políticas por sessão).
Selecione Criar.
Insira um Nome.
Em Tipo de perfil, selecione Todos.
Para Configuração de SSO, selecione o objeto de configuração de SSO FBA que você criou.
Em Idioma aceito, selecione pelo menos um idioma.
Na coluna Política por sessão, para o perfil, selecione Editar.
O APM Visual Policy Editor é iniciado.
Em fallback, selecione o + sinal.
- No pop-up, selecione Autenticação.
- Selecione Autenticação SAML.
- Selecione Adicionar item.
- No SP, altere o Nome para Microsoft Entra auth.
- Na lista suspensa Servidor AAA, insira o objeto do provedor de serviços SAML que você criou.
- Na ramificação Bem-sucedida, selecione o + sinal.
- No pop-up, selecione Autenticação.
- Selecione Página de Logon.
- Selecione Adicionar item.
- Para nome de usuário, na coluna Somente leitura, selecione Sim.
Para o fallback da página de login, selecione o + sinal. Esta ação adiciona um objeto de mapeamento de credenciais SSO.
No pop-up, selecione a guia Atribuição .
Selecione Mapeamento de credenciais SSO.
Selecione Adicionar item.
Em Atribuição de variáveis: mapeamento de credenciais SSO, mantenha as configurações padrão.
Selecione Salvar.
Na caixa superior Negar , selecione o link.
A ramificação Bem-sucedida muda para Permitir.
Selecione Salvar.
(Opcional) Configurar mapeamentos de atributos
Você pode adicionar uma configuração LogonID_Mapping. Em seguida, a lista de sessões ativas do BIG-IP tem o UPN do usuário conectado, não um número de sessão. Use essas informações para analisar logs ou solucionar problemas.
Para a ramificação SAML Auth Successful (Autenticação SAML bem-sucedida ), selecione o + sinal.
No pop-up, selecione Atribuição.
Selecione Atribuição de variáveis.
Selecione Adicionar item.
Na guia Propriedades, insira um Nome. Por exemplo, LogonID_Mapping.
Em Atribuição de variáveis, selecione Adicionar nova entrada.
Selecione alterar.
Para Variável personalizada, use
session.logon.last.username
.Para variável de sessão, usuário
session.saml.last.identity
.Selecione Concluído.
Selecione Salvar.
Selecione Aplicar política de acesso.
Feche o Editor de Política Visual.
Configurar um pool de back-end
Para permitir que o BIG-IP encaminhe o tráfego do cliente corretamente, crie um objeto de nó BIG-IP que represente o servidor back-end que hospeda seu aplicativo. Em seguida, coloque esse nó em um pool de servidores BIG-IP.
Selecione Pools de tráfego> local.
Selecione Lista de Piscinas.
Selecione Criar.
Insira um Nome para um objeto de pool de servidores. Por exemplo, MyApps_VMs.
Em Nome do Nó, insira um nome de exibição do servidor. Este servidor hospeda o aplicativo Web back-end.
Em Endereço, insira o endereço IP do host do servidor de aplicativos.
Para Porta de serviço, insira a porta HTTP/S na qual o aplicativo está escutando.
Observação
Os monitores de integridade exigem configuração que este artigo não aborda. Vá para support.f5.com para K13397: Visão geral da formatação de solicitação de monitor de integridade HTTP para o sistema BIG-IP DNS.
Configurar um servidor virtual
Um servidor virtual é um objeto de plano de dados BIG-IP representado por um endereço IP virtual. O servidor escuta as solicitações do cliente para o aplicativo. Qualquer tráfego recebido é processado e avaliado em relação ao perfil de acesso APM associado ao servidor virtual. O tráfego é direcionado de acordo com a política.
Para configurar um servidor virtual:
Selecione Servidores Virtuais de Tráfego>Local.
Selecione Lista de Servidores Virtuais.
Selecione Criar.
Insira um Nome.
Em Endereço de Destino/Máscara, selecione Host e insira um endereço IPv4 ou IPv6. O endereço recebe tráfego de cliente para o aplicativo back-end publicado.
Em Porta de serviço, selecione Porta, digite 443 e selecione HTTPS.
Para Perfil HTTP (Cliente), selecione http.
Para Perfil SSL (Cliente), selecione o perfil que você criou ou deixe o padrão para teste. Essa opção permite que um servidor virtual para TLS (Transport Layer Security) publique serviços por HTTPS.
Para Tradução de Endereço de Origem, selecione Mapa Automático.
Em Política de Acesso, na caixa Perfil de Acesso , introduza o nome que criou. Esta ação vincula o perfil de pré-autenticação SAML do Microsoft Entra e a política de SSO FBA ao servidor virtual.
- Em Recursos, para Pool Padrão, selecione os objetos do pool de back-end que você criou.
- Selecione Concluído.
Definir configurações de gerenciamento de sessão
As configurações de gerenciamento de sessão BIG-IP definem condições para o término e a continuação das sessões. Criar uma política nesta área.
- Vá para Política de Acesso.
- Selecione Perfis de acesso.
- Selecione Perfil de acesso.
- Na lista, selecione seu aplicativo.
Se você definiu um único valor de URI de logout no Microsoft Entra ID, o logout iniciado pelo IdP de MyApps encerra o cliente e a sessão BIG-IP APM. O arquivo XML de metadados de federação de aplicativos importados fornece ao APM o ponto de extremidade SAML do Microsoft Entra para saída iniciada pelo SP. Verifique se o APM responde corretamente à saída de um usuário.
Se não houver um portal da Web BIG-IP, os usuários não poderão instruir o APM a sair. Se o usuário sair do aplicativo, o BIG-IP será esquecido. A sessão de aplicação pode ser restabelecida através de SSO. Para sair iniciado pelo SP, certifique-se de que as sessões sejam encerradas com segurança.
Você pode adicionar uma função SLO ao botão de saída do aplicativo. Esta função redireciona o cliente para o ponto de extremidade de saída do Microsoft Entra SAML. Para localizar o ponto de extremidade de saída do SAML, vá para Pontos de extremidade de registros de > aplicativos.
Se você não puder alterar o aplicativo, peça ao BIG-IP para ouvir a chamada de saída do aplicativo e acionar o SLO.
Saiba mais:
- K42052145: Configurando o encerramento automático da sessão (logout) com base em um nome de arquivo referenciado por URI
- K12056: Visão geral da opção Incluir URI de logout
Aplicação publicada
Seu aplicativo é publicado e acessível com SHA com a URL do aplicativo ou portais da Microsoft.
O aplicativo aparece como um recurso de destino no Acesso Condicional. Saiba mais: Criando uma política de Acesso Condicional.
Para maior segurança, bloqueie o acesso direto ao aplicativo, impondo um caminho através do BIG-IP.
Teste
O usuário se conecta à URL externa do aplicativo, ou em Meus Aplicativos, e seleciona o ícone do aplicativo.
O usuário se autentica no Microsoft Entra ID.
O usuário é redirecionado para o ponto de extremidade BIG-IP do aplicativo.
O prompt de senha é exibido.
O APM preenche o nome de usuário com o UPN do ID do Microsoft Entra. O nome de usuário é somente leitura para consistência da sessão. Oculte este campo, se necessário.
As informações são enviadas.
O usuário está conectado ao aplicativo.
Solução de problemas
Ao solucionar problemas, considere as seguintes informações:
O BIG-IP executa o SSO do FBA enquanto analisa o formulário de entrada no URI
- O BIG-IP procura as tags de elemento de nome de usuário e senha de sua configuração
Confirme se as tags de elemento são consistentes ou se o SSO falhar
Formulários complexos gerados dinamicamente podem exigir análise da ferramenta de desenvolvimento para entender o formulário de login
A iniciação do cliente é melhor para iniciar sessão em páginas com vários formulários
- Você pode selecionar o nome do formulário e personalizar a lógica do manipulador de formulários JavaScript
Os métodos de SSO do FBA ocultam interações de formulário para otimizar a experiência e a segurança do usuário:
- Você pode validar se as credenciais forem injetadas
- No modo iniciado pelo cliente, desative o envio automático de formulários em seu perfil de SSO
- Use ferramentas de desenvolvimento para desabilitar as duas propriedades de estilo que impedem que a página de entrada apareça
Aumentar a verborragia do log
Os logs BIG-IP contêm informações para isolar problemas de autenticação e SSO. Aumente o nível de verbosidade do log:
- Vá para Visão geral da política>de acesso.
- Selecione Logs de eventos.
- Selecione Configurações.
- Selecione a linha do seu aplicativo publicado.
- Selecione Editar.
- Selecione Acessar logs do sistema.
- Na lista SSO, selecione Depurar.
- Selecione OK.
- Reproduza o problema.
- Revise os logs.
Reverta as configurações, caso contrário, há dados excessivos.
Mensagem de erro BIG-IP
Se aparecer um erro BIG-IP após a pré-autenticação do Microsoft Entra, o problema poderá estar relacionado com o Microsoft Entra ID e o BIG-IP SSO.
- Vá para Visão geral do acesso>.
- Selecione Acessar relatórios.
- Execute o relatório na última hora.
- Revise os logs para obter pistas.
Use o link Exibir variáveis de sessão para sua sessão para determinar se o APM recebe declarações esperadas do Microsoft Entra.
Nenhuma mensagem de erro BIG-IP
Se nenhuma mensagem de erro BIG-IP for exibida, o problema pode estar relacionado à solicitação de back-end ou ao SSO BIG-IP para aplicativo.
- Selecione Visão geral da política de>acesso.
- Selecione Sessões ativas.
- Selecione o link da sessão ativa.
Use o link Exibir variáveis neste local para ajudar a determinar a causa raiz, especialmente se o APM não conseguir obter o identificador de usuário e a senha corretos.
Para saber mais, vá para techdocs.f5.com para Capítulo Manual: Variáveis de sessão.