Integre sua infraestrutura existente de NPS (servidor de políticas de rede) com a autenticação multifator do Azure ADIntegrate your existing Network Policy Server (NPS) infrastructure with Azure AD Multi-Factor Authentication

A extensão do NPS (servidor de políticas de rede) para a autenticação multifator do Azure AD adiciona recursos de MFA baseados em nuvem à sua infraestrutura de autenticação usando seus servidores existentes.The Network Policy Server (NPS) extension for Azure AD Multi-Factor Authentication adds cloud-based MFA capabilities to your authentication infrastructure using your existing servers. Com a extensão do NPS, você pode adicionar verificação por chamada telefônica, mensagem de texto ou aplicativo ao fluxo de autenticação existente sem a necessidade de instalar, configurar e manter novos servidores.With the NPS extension, you can add phone call, text message, or phone app verification to your existing authentication flow without having to install, configure, and maintain new servers.

A extensão do NPS atua como um adaptador entre o RADIUS e a autenticação multifator do Azure AD baseada em nuvem para fornecer um segundo fator de autenticação para usuários federados ou sincronizados.The NPS extension acts as an adapter between RADIUS and cloud-based Azure AD Multi-Factor Authentication to provide a second factor of authentication for federated or synced users.

Como funciona a extensão do NPSHow the NPS extension works

Quando você usa a extensão NPS para a autenticação multifator do Azure AD, o fluxo de autenticação inclui os seguintes componentes:When you use the NPS extension for Azure AD Multi-Factor Authentication, the authentication flow includes the following components:

  1. Servidor VPN/NAS recebe solicitações de clientes VPN e converte-os em solicitações RADIUS para servidores NPS.NAS/VPN Server receives requests from VPN clients and converts them into RADIUS requests to NPS servers.
  2. O servidor NPS se conecta a Active Directory Domain Services (AD DS) para executar a autenticação primária para as solicitações RADIUS e, após o êxito, passa a solicitação para todas as extensões instaladas.NPS Server connects to Active Directory Domain Services (AD DS) to perform the primary authentication for the RADIUS requests and, upon success, passes the request to any installed extensions.
  3. A extensão do NPS dispara uma solicitação para a autenticação multifator do Azure ad para a autenticação secundária.NPS Extension triggers a request to Azure AD Multi-Factor Authentication for the secondary authentication. Quando a extensão receber a resposta, e se o desafio de MFA for bem-sucedido, ela concluirá a solicitação de autenticação, fornecendo ao servidor NPS os tokens de segurança que incluem uma declaração MFA, emitida pelo STS do Azure.Once the extension receives the response, and if the MFA challenge succeeds, it completes the authentication request by providing the NPS server with security tokens that include an MFA claim, issued by Azure STS.
  4. O MFA do Azure ad se comunica com o Azure Active Directory (Azure AD) para recuperar os detalhes do usuário e executa a autenticação secundária usando um método de verificação configurado para o usuário.Azure AD MFA communicates with Azure Active Directory (Azure AD) to retrieve the user's details and performs the secondary authentication using a verification method configured to the user.

O diagrama a seguir ilustra esse fluxo de solicitação de autenticação de alto nível:The following diagram illustrates this high-level authentication request flow:

Diagrama do fluxo de autenticação para autenticação de usuário por meio de um servidor VPN para o servidor NPS e a extensão NPS da autenticação multifator do Azure AD

Comportamento do protocolo RADIUS e a extensão do NPSRADIUS protocol behavior and the NPS extension

Como o RADIUS é um protocolo UDP, o remetente assume a perda de pacotes e aguarda uma resposta.As RADIUS is a UDP protocol, the sender assumes packet loss and awaits a response. Após um período de tempo, a conexão pode atingir o tempo limite. Nesse caso, o pacote é reenviado, pois o remetente assume que o pacote não alcançou o destino.After a period of time, the connection may time out. If so, the packet is resent as the sender assumes the packet didn't reach the destination. No cenário de autenticação neste artigo, os servidores VPN enviam a solicitação e aguardam uma resposta.In the authentication scenario in this article, VPN servers send the request and wait for a response. Se a conexão atingir o tempo limite, o servidor VPN enviará a solicitação novamente.If the connection times out, the VPN server sends the request again.

Diagrama de fluxo de pacotes UDP RADIUS e solicitações após o tempo limite de resposta do servidor NPS

O servidor NPS pode não responder à solicitação original do servidor VPN antes que a conexão expire, pois a solicitação de MFA ainda pode estar sendo processada.The NPS server may not respond to the VPN server's original request before the connection times out as the MFA request may still be being processed. O usuário pode não ter respondido com êxito ao prompt do MFA, portanto, a extensão do NPS da autenticação multifator do Azure AD está aguardando a conclusão desse evento.The user may not have successfully responded to the MFA prompt, so the Azure AD Multi-Factor Authentication NPS extension is waiting for that event to complete. Nessa situação, o servidor NPS identifica solicitações de servidor VPN adicionais como uma solicitação duplicada.In this situation, the NPS server identifies additional VPN server requests as a duplicate request. O servidor NPS descarta essas solicitações duplicadas do servidor VPN.The NPS server discards these duplicate VPN server requests.

Diagrama do servidor NPS descartando solicitações duplicadas do servidor RADIUS

Se você examinar os logs do servidor NPS, poderá ver essas solicitações adicionais sendo descartadas.If you look at the NPS server logs, you may see these additional requests being discarded. Esse comportamento é por design para proteger o usuário final de obter várias solicitações por uma única tentativa de autenticação.This behavior is by design to protect the end user from getting multiple requests for a single authentication attempt. As solicitações descartadas no log de eventos do servidor NPS não indicam que há um problema com o servidor NPS ou com a extensão NPS da autenticação multifator do Azure AD.Discarded requests in the NPS server event log don't indicate there's a problem with the NPS server or the Azure AD Multi-Factor Authentication NPS extension.

Para minimizar as solicitações descartadas, recomendamos que os servidores VPN sejam configurados com um tempo limite de pelo menos 60 segundos.To minimize discarded requests, we recommend that VPN servers are configured with a timeout of at least 60 seconds. Se necessário, ou para reduzir solicitações descartadas nos logs de eventos, você pode aumentar o valor de tempo limite do servidor VPN para 90 ou 120 segundos.If needed, or to reduce discarded requests in the event logs, you can increase the VPN server timeout value to 90 or 120 seconds.

Devido a esse comportamento de protocolo UDP, o servidor NPS pode receber uma solicitação duplicada e enviar outro prompt de MFA, mesmo depois que o usuário já tiver respondido à solicitação inicial.Due to this UDP protocol behavior, the NPS server could receive a duplicate request and send another MFA prompt, even after the user has already responded to the initial request. Para evitar essa condição de temporização, a extensão NPS da autenticação multifator do Azure AD continua a filtrar e descartar solicitações duplicadas por até 10 segundos depois que uma resposta bem-sucedida foi enviada para o servidor VPN.To avoid this timing condition, the Azure AD Multi-Factor Authentication NPS extension continues to filter and discard duplicate requests for up to 10 seconds after a successful response has been sent to the VPN server.

O diagrama do servidor NPS continua a descartar solicitações duplicadas do servidor VPN por dez segundos depois que uma resposta bem-sucedida é retornada

Novamente, você poderá ver solicitações descartadas nos logs de eventos do servidor NPS, mesmo quando o prompt da autenticação multifator do Azure AD foi bem-sucedido.Again, you may see discarded requests in the NPS server event logs, even when the Azure AD Multi-Factor Authentication prompt was successful. Esse é o comportamento esperado e não indica um problema com o servidor NPS ou com a extensão NPS da autenticação multifator do Azure AD.This is expected behavior, and doesn't indicate a problem with the NPS server or Azure AD Multi-Factor Authentication NPS extension.

Planejar sua implantaçãoPlan your deployment

A extensão NPS controla automaticamente a redundância, de maneira que você não precisa de uma configuração especial.The NPS extension automatically handles redundancy, so you don't need a special configuration.

Você pode criar tantos servidores NPS habilitados para autenticação multifator do Azure AD quanto necessário.You can create as many Azure AD Multi-Factor Authentication-enabled NPS servers as you need. Se você instalar vários servidores, use um certificado de cliente diferente para cada um deles.If you do install multiple servers, you should use a difference client certificate for each one of them. A criação de um certificado para cada servidor significa que você pode atualizar cada certificado individualmente e não se preocupe com o tempo de inatividade em todos os servidores.Creating a certificate for each server means that you can update each cert individually, and not worry about downtime across all your servers.

Os servidores VPN roteiam solicitações de autenticação, portanto, precisam estar cientes dos novos servidores NPS habilitados para autenticação multifator do Azure AD.VPN servers route authentication requests, so they need to be aware of the new Azure AD Multi-Factor Authentication-enabled NPS servers.

Pré-requisitosPrerequisites

A extensão do NPS deve trabalhar com sua infraestrutura existente.The NPS extension is meant to work with your existing infrastructure. Verifique se você cumpre os seguintes pré-requisitos antes de iniciar.Make sure you have the following prerequisites before you begin.

LicençasLicenses

A extensão do NPS para a autenticação multifator do Azure AD está disponível para clientes com licenças para a autenticação multifator do Azure ad.The NPS Extension for Azure AD Multi-Factor Authentication is available to customers with licenses for Azure AD Multi-Factor Authentication. As licenças baseadas em consumo para a autenticação multifator do Azure AD, como licenças por usuário ou por autenticação, não são compatíveis com a extensão do NPS.Consumption-based licenses for Azure AD Multi-Factor Authentication, such as per user or per authentication licenses, aren't compatible with the NPS extension.

SoftwareSoftware

Windows Server 2012 ou superior.Windows Server 2012 or above.

BibliotecasLibraries

Você precisa instalar manualmente a biblioteca a seguir:You need to manually install the following library:

As bibliotecas a seguir são instaladas automaticamente com a extensão.The following libraries are installed automatically with the extension.

O Módulo Microsoft Azure Active Directory para Windows PowerShell também é instalado por meio de um script de configuração que você executa como parte do processo de instalação, se ainda não estiver presente.The Microsoft Azure Active Directory Module for Windows PowerShell is also installed through a configuration script you run as part of the setup process, if not already present. Não há necessidade de instalar esse módulo antecipadamente se ele ainda não estiver instalado.There's no need to install this module ahead of time if it's not already installed.

Azure Active DirectoryAzure Active Directory

Todos que usam a extensão NPS devem ser sincronizados com o Azure AD usando Azure AD Connect e devem ser registrados para MFA.Everyone using the NPS extension must be synced to Azure AD using Azure AD Connect, and must be registered for MFA.

Ao instalar a extensão, você precisará da ID do locatário e das credenciais de administrador para seu locatário do Azure AD.When you install the extension, you need the Tenant ID and admin credentials for your Azure AD tenant. Para obter a ID do locatário, conclua as seguintes etapas:To get the tenant ID, complete the following steps:

  1. Entre no Portal do Azure como administrador global do locatário do Azure.Sign in to the Azure portal as the global administrator of the Azure tenant.

  2. Procure e selecione o Azure Active Directory.Search for and select the Azure Active Directory.

  3. Na página visão geral , as informações do locatário são mostradas.On the Overview page, the Tenant information is shown. Ao lado da ID do locatário, selecione o ícone de cópia , conforme mostrado no seguinte exemplo de captura de tela:Next to the Tenant ID, select the Copy icon, as shown in the following example screenshot:

    Obtendo a ID do locatário do portal do Azure

Requisitos de redeNetwork requirements

O servidor NPS deve ser capaz de se comunicar com as seguintes URLs nas portas 80 e 443:The NPS server must be able to communicate with the following URLs over ports 80 and 443:

  • https: / /adnotifications.WindowsAzure.comhttps://adnotifications.windowsazure.com
  • https: / /login.microsoftonline.comhttps://login.microsoftonline.com
  • https: / /Credentials.Azure.comhttps://credentials.azure.com

Além disso, a conectividade com as seguintes URLs é necessária para concluir a configuração do adaptador usando o script do PowerShell fornecido:Additionally, connectivity to the following URLs is required to complete the setup of the adapter using the provided PowerShell script:

  • https: / /login.microsoftonline.comhttps://login.microsoftonline.com
  • https: / /provisioningapi.microsoftonline.comhttps://provisioningapi.microsoftonline.com
  • https: / /aadcdn.msauth.nethttps://aadcdn.msauth.net

Prepare o seu ambientePrepare your environment

Antes de instalar a extensão NPS, prepare seu ambiente para lidar com o tráfego de autenticação.Before you install the NPS extension, prepare you environment to handle the authentication traffic.

Habilitar a função NPS em um servidor ingressado no domínioEnable the NPS role on a domain-joined server

O servidor NPS se conecta ao Azure AD e autentica as solicitações de MFA.The NPS server connects to Azure AD and authenticates the MFA requests. Escolha um servidor para essa função.Choose one server for this role. É recomendável escolher um servidor que não manipule solicitações de outros serviços, porque a extensão NPS gerará erros para solicitações que não sejam RADIUS.We recommend choosing a server that doesn't handle requests from other services, because the NPS extension throws errors for any requests that aren't RADIUS. O servidor NPS deve ser configurado como o servidor de autenticação primário e secundário para o seu ambiente.The NPS server must be set up as the primary and secondary authentication server for your environment. Ele não pode fazer proxy de solicitações RADIUS para outro servidor.It can't proxy RADIUS requests to another server.

  1. No servidor, abra Gerenciador do servidor.On your server, open Server Manager. Selecione Assistente de adição de funções e recursos no menu início rápido .Select Add Roles and Features Wizard from the Quickstart menu.
  2. Para o tipo de instalação, escolha instalação baseada em função ou recurso.For your installation type, choose Role-based or feature-based installation.
  3. Selecione a função de servidor Serviços de Acesso e Política de Rede.Select the Network Policy and Access Services server role. Uma janela pode ser exibida para informá-lo sobre recursos adicionais necessários para executar essa função.A window may pop up to inform you of additional required features to run this role.
  4. Continue no assistente até a página de confirmação .Continue through the wizard until the Confirmation page. Quando estiver pronto, selecione instalar.When ready, select Install.

Pode levar alguns minutos para instalar a função de servidor NPS.It may take a few minutes to install the NPS server role. Quando terminar, continue com as seções a seguir para configurar esse servidor para tratar as solicitações RADIUS de entrada da solução de VPN.When finished, continue with the following sections to configure this server to handle incoming RADIUS requests from the VPN solution.

Configurar a solução VPN para se comunicar com o servidor NPSConfigure your VPN solution to communicate with the NPS server

Dependendo da solução VPN que você usa, as etapas para configurar a política de autenticação RADIUS variam.Depending on which VPN solution you use, the steps to configure your RADIUS authentication policy vary. Configure sua política de VPN para apontar para o servidor NPS RADIUS.Configure your VPN policy to point to your RADIUS NPS server.

Sincronizar usuários de domínio com a nuvemSync domain users to the cloud

Esta etapa pode já estar concluída no seu locatário, mas é bom verificar se Azure AD Connect sincronizou recentemente os seus bancos de dados.This step may already be complete on your tenant, but it's good to double-check that Azure AD Connect has synchronized your databases recently.

  1. Entre no Portal do Azure como administrador.Sign in to the Azure portal as an administrator.
  2. Selecione Azure Active Directory > Azure AD ConnectSelect Azure Active Directory > Azure AD Connect
  3. Verifique se o status de sincronização está Habilitado e se a última sincronização foi há menos de uma hora.Verify that your sync status is Enabled and that your last sync was less than an hour ago.

Se você precisar iniciar uma nova rodada de sincronização, consulte Azure ad Connect sincronização: Agendador.If you need to kick off a new round of synchronization, see Azure AD Connect sync: Scheduler.

Determinar quais métodos de autenticação os usuários podem usarDetermine which authentication methods your users can use

Há dois fatores que afetam quais métodos de autenticação estão disponíveis com uma implantação de extensão do NPS:There are two factors that affect which authentication methods are available with an NPS extension deployment:

  • O algoritmo de criptografia de senha usado entre o cliente RADIUS (VPN, servidor Netscaler ou outros) e os servidores NPS.The password encryption algorithm used between the RADIUS client (VPN, Netscaler server, or other) and the NPS servers.

    • O PAP dá suporte a todos os métodos de autenticação da autenticação multifator do Azure ad na nuvem: chamada telefônica, mensagem de texto unidirecional, notificação de aplicativo móvel, tokens de hardware OATH e código de verificação de aplicativo móvel.PAP supports all the authentication methods of Azure AD Multi-Factor Authentication in the cloud: phone call, one-way text message, mobile app notification, OATH hardware tokens, and mobile app verification code.

    • CHAPV2 e EAP dão suporte a chamada telefônica e notificação de aplicativo móvel.CHAPV2 and EAP support phone call and mobile app notification.

      Observação

      Quando você implanta a extensão do NPS, use esses fatores para avaliar quais métodos estão disponíveis para os usuários.When you deploy the NPS extension, use these factors to evaluate which methods are available for your users. Se o cliente RADIUS dá suporte a PAP, mas a experiência do cliente não tem campos de entrada para um código de verificação, chamada telefônica e notificação do aplicativo móvel são as duas opções com suporte.If your RADIUS client supports PAP, but the client UX doesn't have input fields for a verification code, then phone call and mobile app notification are the two supported options.

      Além disso, independentemente do protocolo de autenticação usado (PAP, CHAP ou EAP), se o método de MFA for baseado em texto (SMS, código de verificação de aplicativo móvel ou token de hardware OATH) e exigir que o usuário insira um código ou texto no campo de entrada da interface do usuário do cliente VPN, a autenticação poderá ter sucesso.Also, regardless of the authentication protocol that's used (PAP, CHAP, or EAP), if your MFA method is text-based (SMS, mobile app verification code, or OATH hardware token) and requires the user to enter a code or text in the VPN client UI input field, the authentication might succeed. Mas todos os atributos RADIUS configurados na política de acesso à rede não são encaminhados para o cient RADIUS (o dispositivo de acesso à rede, como o gateway de VPN).But any RADIUS attributes that are configured in the Network Access Policy are not forwarded to the RADIUS cient (the Network Access Device, like the VPN gateway). Como resultado, o cliente VPN pode ter mais acesso do que você deseja que ele tenha ou menos acesso ou sem acesso.As a result, the VPN client might have more access than you want it to have, or less access or no access.

  • Os métodos de entrada que o aplicativo cliente (VPN, servidor Netscaler ou outros) pode manipular.The input methods that the client application (VPN, Netscaler server, or other) can handle. Por exemplo, o cliente VPN tem algum meio de permitir que o usuário digite um código de verificação de um texto ou aplicativo móvel?For example, does the VPN client have some means to allow the user to type in a verification code from a text or mobile app?

Você pode desabilitar métodos de autenticação sem suporte no Azure.You can disable unsupported authentication methods in Azure.

Registrar usuários para a MFARegister users for MFA

Antes de implantar e usar a extensão NPS, os usuários necessários para executar a autenticação multifator do Azure AD precisam ser registrados para MFA.Before you deploy and use the NPS extension, users that are required to perform Azure AD Multi-Factor Authentication need to be registered for MFA. Para testar a extensão ao implantá-la, você também precisa de pelo menos uma conta de teste totalmente registrada para a autenticação multifator do Azure AD.To test the extension as you deploy it, you also need at least one test account that is fully registered for Azure AD Multi-Factor Authentication.

Se você precisar criar e configurar uma conta de teste, use as seguintes etapas:If you need to create and configure a test account, use the following steps:

  1. Entre em https://aka.ms/mfasetup com uma conta de teste.Sign in to https://aka.ms/mfasetup with a test account.
  2. Siga os prompts para configurar um método de verificação.Follow the prompts to set up a verification method.
  3. Na portal do Azure como um usuário administrador, crie uma política de acesso condicional para exigir a autenticação multifator para a conta de teste.In the Azure portal as an admin user, create a Conditional Access policy to require multi-factor authentication for the test account.

Importante

Verifique se os usuários foram registrados com êxito para a autenticação multifator do Azure AD.Make sure that users have successfully registered for Azure AD Multi-Factor Authentication. Se os usuários tiverem sido registrados somente para SSPR (redefinição de senha por autoatendimento), StrongAuthenticationMethods será habilitado para a conta deles.If users have previously only registered for self-service password reset (SSPR), StrongAuthenticationMethods is enabled for their account. A autenticação multifator do Azure AD é imposta quando o StrongAuthenticationMethods é configurado, mesmo que o usuário seja registrado apenas para SSPR.Azure AD Multi-Factor Authentication is enforced when StrongAuthenticationMethods is configured, even if the user only registered for SSPR.

O registro de segurança combinado pode ser habilitado para configurar o SSPR e a autenticação multifator do Azure AD ao mesmo tempo.Combined security registration can be enabled that configures SSPR and Azure AD Multi-Factor Authentication at the same time. Para obter mais informações, confira Habilitar o registro de informações de segurança combinadas no Azure Active Directory.For more information, see Enable combined security information registration in Azure Active Directory.

Você também poderá forçar os usuários a registrar novamente os métodos de autenticação se eles tiverem habilitado anteriormente apenas SSPR.You can also force users to re-register authentication methods if they previously only enabled SSPR.

Instalar a extensão NPSInstall the NPS extension

Importante

Instale a extensão do NPS em um servidor diferente do ponto de acesso VPN.Install the NPS extension on a different server than the VPN access point.

Baixar e instalar a extensão NPS para MFA do Azure ADDownload and install the NPS extension for Azure AD MFA

Para baixar e instalar a extensão NPS, conclua as seguintes etapas:To download and install the NPS extension, complete the following steps:

  1. Baixe a extensão NPS do Centro de Download da Microsoft.Download the NPS Extension from the Microsoft Download Center.
  2. Copie o binário para o Servidor de Políticas de Rede que você deseja configurar.Copy the binary to the Network Policy Server you want to configure.
  3. Execute o arquivo setup.exe e siga as instruções de instalação.Run setup.exe and follow the installation instructions. Se você encontrar erros, certifique-se de que as bibliotecas da seção de pré-requisitos foram instaladas com êxito.If you encounter errors, make sure that the libraries from the prerequisite section were successfully installed.

Atualizar a extensão NPSUpgrade the NPS extension

Se você atualizar posteriormente uma instalação de extensão de NPS existente, para evitar uma reinicialização do servidor subjacente, conclua as seguintes etapas:If you later upgrade an existing NPS extension install, to avoid a reboot of the underlying server, complete the following steps:

  1. Desinstale a versão existente.Uninstall the existing version.
  2. Execute o novo instalador.Run the new installer.
  3. Reinicie o serviço do servidor de diretivas de rede (IAS) .Restart the Network Policy Server (IAS) service.

Executar o script do PowerShellRun the PowerShell script

O instalador cria um script do PowerShell em C:\Program Files\Microsoft\AzureMfa\Config (onde C:\ é a sua unidade de instalação).The installer creates a PowerShell script at C:\Program Files\Microsoft\AzureMfa\Config (where C:\ is your installation drive). Esse script do PowerShell executa as seguintes ações cada vez que é executado:This PowerShell script performs the following actions each time it's run:

  • Cria um certificado autoassinado.Creates a self-signed certificate.
  • Associa a chave pública do certificado à entidade de serviço no Azure AD.Associates the public key of the certificate to the service principal on Azure AD.
  • Armazena o certificado no repositório de certificados do computador local.Stores the certificate in the local machine certificate store.
  • Concede acesso à chave privada do certificado para o usuário de rede.Grants access to the certificate's private key to Network User.
  • Reinicia o serviço NPS.Restarts the NPS service.

A menos que você queira usar seus próprios certificados (em vez dos certificados autoassinados gerados pelo script do PowerShell), execute o script do PowerShell para concluir a instalação da extensão do NPS.Unless you want to use your own certificates (instead of the self-signed certificates that the PowerShell script generates), run the PowerShell script to complete the NPS extension installation. Se você instalar a extensão em vários servidores, cada servidor deverá ter seu próprio certificado.If you install the extension on multiple servers, each server should have its own certificate.

Para fornecer recursos de balanceamento de carga ou redundância, repita essas etapas em servidores NPS adicionais, conforme desejado:To provide load-balancing capabilities or for redundancy, repeat these steps on additional NPS servers as desired:

  1. Abra um prompt do Windows PowerShell como administrador.Open a Windows PowerShell prompt as an administrator.

  2. Altere os diretórios para onde o instalador criou o script do PowerShell:Change directories to where the installer created the PowerShell script:

    cd "C:\Program Files\Microsoft\AzureMfa\Config"
    
  3. Execute o script do PowerShell criado pelo instalador.Run the PowerShell script created by the installer.

    Importante

    Para clientes que usam as nuvens Azure governamental ou Azure China 21Vianet, primeiro edite os Connect-MsolService cmdlets no script AzureMfaNpsExtnConfigSetup.ps1 para incluir os parâmetros de AzureEnvironment para a nuvem necessária.For customers that use the Azure Government or Azure China 21Vianet clouds, first edit the Connect-MsolService cmdlets in the AzureMfaNpsExtnConfigSetup.ps1 script to include the AzureEnvironment parameters for the required cloud. Por exemplo, especifique -AzureEnvironment USGovernment ou -AzureEnvironment AzureChinaCloud.For example, specify -AzureEnvironment USGovernment or -AzureEnvironment AzureChinaCloud.

    Para obter mais informações, veja referência de parâmetro Connect-MsolService.For more information, see Connect-MsolService parameter reference.

    .\AzureMfaNpsExtnConfigSetup.ps1
    
  4. Quando solicitado, entre no Azure AD como um administrador.When prompted, sign in to Azure AD as an administrator.

  5. O PowerShell solicitará a sua ID de locatário.PowerShell prompts for your tenant ID. Use o GUID da ID de locatário que você copiou do portal do Azure na seção pré-requisitos.Use the Tenant ID GUID that you copied from the Azure portal in the prerequisites section.

  6. Uma mensagem de êxito é mostrada quando o script é concluído.A success message is shown when the script is finished.

Se o certificado do computador anterior tiver expirado e um novo certificado tiver sido gerado, você deverá excluir todos os certificados expirados.If your previous computer certificate has expired, and a new certificate has been generated, you should delete any expired certificates. Ter certificados expirados pode causar problemas com a inicialização da extensão do NPS.Having expired certificates can cause issues with the NPS Extension starting.

Observação

Se você usar seus próprios certificados em vez de gerar certificados com o script do PowerShell, certifique-se de que eles estejam alinhados com a convenção de nomenclatura do NPS.If you use your own certificates instead of generating certificates with the PowerShell script, make sure that they align to the NPS naming convention. O nome da entidade deve ser CN = <TenantID> , ou = extensão NPS da Microsoft.The subject name must be CN=<TenantID>,OU=Microsoft NPS Extension.

Etapas adicionais do Microsoft Azure Governamental ou do Azure China 21VianetMicrosoft Azure Government or Azure China 21Vianet additional steps

Para clientes que usam as nuvens Azure governamental ou Azure China 21Vianet, as etapas de configuração adicionais a seguir são necessárias em cada servidor NPS.For customers that use the Azure Government or Azure China 21Vianet clouds, the following additional configuration steps are required on each NPS server.

Importante

Defina essas configurações do registro somente se você for um cliente do Azure governamental ou do Azure China 21Vianet.Only configure these registry settings if you're an Azure Government or Azure China 21Vianet customer.

  1. Se você for um cliente do Azure governamental ou do Azure China 21Vianet, abra o Editor do registro no servidor NPS.If you're an Azure Government or Azure China 21Vianet customer, open Registry Editor on the NPS server.

  2. Navegue até HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureMfa.Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureMfa.

  3. Para clientes do Azure governamental, defina os seguintes valores de chave:For Azure Government customers, set the following key values.:

    Chave do RegistroRegistry key ValorValue
    AZURE_MFA_HOSTNAMEAZURE_MFA_HOSTNAME adnotifications.windowsazure.usadnotifications.windowsazure.us
    STS_URLSTS_URL https://login.microsoftonline.us/
  4. Para clientes do Azure China 21Vianet, defina os seguintes valores de chave:For Azure China 21Vianet customers, set the following key values:

    Chave do RegistroRegistry key ValorValue
    AZURE_MFA_HOSTNAMEAZURE_MFA_HOSTNAME adnotifications.windowsazure.cnadnotifications.windowsazure.cn
    STS_URLSTS_URL https://login.chinacloudapi.cn/
  5. Repita as duas etapas anteriores para definir os valores de chave do Registro para cada servidor NPS.Repeat the previous two steps to set the registry key values for each NPS server.

  6. Reinicie o serviço NPS para cada servidor NPS.Restart the NPS service for each NPS server.

    Para o mínimo de impacto, coloque cada servidor NPS fora da rotação NLB (um de cada vez) e aguarde a descarga de todas as conexões.For minimal impact, take each NPS server out of the NLB rotation one at a time and wait for all connections to drain.

Sobreposição de certificadoCertificate rollover

Com a versão 1.0.1.32 da extensão do NPS, agora há suporte para ler vários certificados.With release 1.0.1.32 of the NPS extension, reading multiple certificates is now supported. Essa funcionalidade ajuda a facilitar as atualizações de certificados sem interrupção antes de sua expiração.This capability helps facilitate rolling certificate updates prior to their expiration. Se sua organização estiver executando uma versão anterior da extensão do NPS, atualize para a versão 1.0.1.32 ou superior.If your organization is running a previous version of the NPS extension, upgrade to version 1.0.1.32 or higher.

Os certificados criados pelo script AzureMfaNpsExtnConfigSetup.ps1 são válidos por dois anos.Certificates created by the AzureMfaNpsExtnConfigSetup.ps1 script are valid for 2 years. Monitorar certificados para expiração.Monitor certificates for expiration. Os certificados para a extensão NPS são colocados no repositório de certificados do computador local em pessoal e são emitidos para a ID de locatário fornecida para o script de instalação.Certificates for the NPS extension are placed in the Local Computer certificate store under Personal and are Issued To the tenant ID provided to the installation script.

Quando a data de validade de um certificado está se aproximando, outro certificado deve ser criado para substituí-lo.When a certificate is approaching the expiration date, a new certificate should be created to replace it. Esse processo é realizado executando o AzureMfaNpsExtnConfigSetup.ps1 novamente e mantendo a mesma ID de locatário quando solicitado.This process is accomplished by running the AzureMfaNpsExtnConfigSetup.ps1 again and keeping the same tenant ID when prompted. Esse processo deve ser repetido em cada servidor NPS em seu ambiente.This process should be repeated on each NPS server in your environment.

Configurar sua extensão do NPSConfigure your NPS extension

Com seu ambiente preparado e a extensão NPS agora instalada nos servidores necessários, você pode configurar a extensão.With your environment prepared, and the NPS extension now installed on the required servers, you can configure the extension.

Esta seção inclui considerações sobre o design e sugestões para implantações bem-sucedidas da extensão do NPS.This section includes design considerations and suggestions for successful NPS extension deployments.

Limitações de configuraçãoConfiguration limitations

  • A extensão do NPS para a autenticação multifator do Azure AD não inclui ferramentas para migrar usuários e configurações do servidor MFA para a nuvem.The NPS extension for Azure AD Multi-Factor Authentication doesn't include tools to migrate users and settings from MFA Server to the cloud. Por esse motivo, é aconselhável usar a extensão para novas implantações, em vez da implantação existente.For this reason, we suggest using the extension for new deployments, rather than existing deployment. Se você usar a extensão em uma implantação existente, os usuários terão que executar a verificação novamente para preencher os detalhes de MFA na nuvem.If you use the extension on an existing deployment, your users have to perform proof-up again to populate their MFA details in the cloud.
  • A extensão do NPS usa o UPN do ambiente de AD DS local para identificar o usuário na autenticação multifator do Azure AD para executar a autenticação secundária. A extensão pode ser configurada para usar um identificador diferente, como a ID de logon alternativa ou o campo de AD DS personalizado diferente do UPN.The NPS extension uses the UPN from the on-premises AD DS environment to identify the user on Azure AD Multi-Factor Authentication for performing the Secondary Auth. The extension can be configured to use a different identifier like alternate login ID or custom AD DS field other than UPN. Consulte Opções de configuração avançadas da extensão NPS para a Autenticação Multifator para obter mais informações.For more information, see the article, Advanced configuration options for the NPS extension for Multi-Factor Authentication.
  • Nem todos os protocolos de criptografia dão suporte a todos os métodos de verificação.Not all encryption protocols support all verification methods.
    • O PAP dá suporte a chamadas telefônicas, mensagens de texto unidirecionais, notificações de aplicativo móvel e códigos de verificação de aplicativo móvelPAP supports phone call, one-way text message, mobile app notification, and mobile app verification code
    • CHAPV2 e EAP dão suporte a chamada telefônica e notificação do aplicativo móvelCHAPV2 and EAP support phone call and mobile app notification

Clientes RADIUS de controle que exigem MFAControl RADIUS clients that require MFA

Depois de habilitar a MFA para um cliente RADIUS usando a extensão NPS, todas as autenticações desse cliente serão necessárias para executar a MFA.Once you enable MFA for a RADIUS client using the NPS extension, all authentications for this client are required to perform MFA. Se você deseja habilitar a MFA para alguns clientes RADIUS, mas outros não, você pode configurar dois servidores NPS e instalar a extensão em apenas um deles.If you want to enable MFA for some RADIUS clients but not others, you can configure two NPS servers and install the extension on only one of them.

Configure clientes RADIUS para os quais você deseja que a MFA envie solicitações ao servidor NPS configurado com a extensão e outros clientes RADIUS para o servidor NPS não configurado com a extensão.Configure RADIUS clients that you want to require MFA to send requests to the NPS server configured with the extension, and other RADIUS clients to the NPS server not configured with the extension.

Preparar usuários que não são registrados na MFAPrepare for users that aren't enrolled for MFA

Se você tiver usuários que não são registrados na MFA, determine o que acontece quando eles tentam fazer a autenticação.If you have users that aren't enrolled for MFA, you can determine what happens when they try to authenticate. Para controlar esse comportamento, use a configuração REQUIRE_USER_MATCH no caminho do registro HKLM\Software\Microsoft\AzureMFA.To control this behavior, use the setting REQUIRE_USER_MATCH in the registry path HKLM\Software\Microsoft\AzureMFA. Essa configuração tem uma opção de configuração única:This setting has a single configuration option:

ChaveKey ValorValue PadrãoDefault
REQUIRE_USER_MATCHREQUIRE_USER_MATCH TRUE/FALSETRUE/FALSE Não definido (equivalente a TRUE)Not set (equivalent to TRUE)

Essa configuração determina o que fazer quando um usuário não é registrado para MFA.This setting determines what to do when a user isn't enrolled for MFA. Quando a chave não existir, não estiver definida ou estiver definida como true e o usuário não estiver registrado, a extensão falhará no desafio de MFA.When the key doesn't exist, is not set, or is set to TRUE, and the user isn't enrolled, the extension fails the MFA challenge.

Quando a chave é definida como false e o usuário não está registrado, a autenticação prossegue sem executar a MFA.When the key is set to FALSE and the user isn't enrolled, authentication proceeds without performing MFA. Se um usuário estiver registrado no MFA, ele deverá se autenticar com o MFA, mesmo se REQUIRE_USER_MATCH estiver definido como false.If a user is enrolled in MFA, they must authenticate with MFA even if REQUIRE_USER_MATCH is set to FALSE.

Você pode optar por criar essa chave e defini-la como falsa enquanto os usuários estão integrados e talvez nem todos sejam registrados para a autenticação multifator do Azure ad ainda.You can choose to create this key and set it to FALSE while your users are onboarding, and may not all be enrolled for Azure AD Multi-Factor Authentication yet. Porém, como definir a chave permite que os usuários que não são registrados na MFA se conectem, você deve remover essa chave antes de ir para a produção.However, since setting the key permits users that aren't enrolled for MFA to sign in, you should remove this key before going to production.

Solução de problemasTroubleshooting

Script de verificação de integridade da extensão do NPSNPS extension health check script

O script a seguir está disponível para executar as etapas básicas de verificação de integridade ao solucionar problemas da extensão do NPS.The following script is available to perform basic health check steps when troubleshooting the NPS extension.

MFA_NPS_Troubleshooter.ps1MFA_NPS_Troubleshooter.ps1

Como verificar se o certificado do cliente está instalado conforme o esperado?How do I verify that the client cert is installed as expected?

Procure o certificado autoassinado criado pelo instalador no repositório de certificados e verifique se a chave privada tem permissões concedidas ao usuário NETWORK SERVICE.Look for the self-signed certificate created by the installer in the cert store, and check that the private key has permissions granted to user NETWORK SERVICE. O certificado tem um nome de assunto de CN <tenantid> , ou = extensão NPS da MicrosoftThe cert has a subject name of CN <tenantid>, OU = Microsoft NPS Extension

Os certificados autoassinados gerados pelo AzureMfaNpsExtnConfigSetup.ps1 script têm um tempo de vida útil de dois anos.Self-signed certificates generated by the AzureMfaNpsExtnConfigSetup.ps1 script have a validity lifetime of two years. Ao verificar se o certificado está instalado, você também deve verificar se o certificado não expirou.When verifying that the certificate is installed, you should also check that the certificate hasn't expired.

Como verificar se meu certificado de cliente está associado ao meu locatário no Azure AD?How can I verify that my client certificate is associated to my tenant in Azure AD?

Abra um prompt de comando no PowerShell e execute os seguintes comandos:Open PowerShell command prompt and run the following commands:

import-module MSOnline
Connect-MsolService
Get-MsolServicePrincipalCredential -AppPrincipalId "981f26a1-7f43-403b-a875-f8b09b8cd720" -ReturnKeyValues 1

Esses comandos imprimem todos os certificados associados ao seu locatário com a instância da extensão do NPS em sua sessão do PowerShell.These commands print all the certificates associating your tenant with your instance of the NPS extension in your PowerShell session. Procure seu certificado exportando o certificado do cliente como um arquivo X. 509 (. cer) codificado em base-64 sem a chave privada e compare-o com a lista do PowerShell.Look for your certificate by exporting your client cert as a Base-64 encoded X.509(.cer) file without the private key, and compare it with the list from PowerShell.

O comando a seguir criará um arquivo chamado npscertificate na raiz da unidade C: em Format . cer.The following command will create a file named npscertificate at the root of your C: drive in format .cer.

import-module MSOnline
Connect-MsolService
Get-MsolServicePrincipalCredential -AppPrincipalId "981f26a1-7f43-403b-a875-f8b09b8cd720" -ReturnKeyValues 1 | select -ExpandProperty "value" | out-file c:\npscertificate.cer

Depois de executar esse comando, vá para a raiz da unidade C: , localize o arquivo e clique duas vezes nele.After you run this command, go to the root of your C: drive, locate the file, and double-click on it. Vá para detalhes e role para baixo até "impressão digital".Go to details, and scroll down to "thumbprint". Compare a impressão digital do certificado instalado no servidor com esta.Compare the thumbprint of the certificate installed on the server to this one. As impressões digitais do certificado devem corresponder.The certificate thumbprints should match.

Válidos-de e válido-até os carimbos de data/hora, que estão no formato legível, podem ser usados para filtrar inadequadamente os inadequados se o comando retornar mais de um certificado.Valid-From and Valid-Until timestamps, which are in human-readable form, can be used to filter out obvious misfits if the command returns more than one cert.

Por que não consigo entrar?Why cannot I sign in?

Verifique se sua senha não expirou.Check that your password hasn't expired. A extensão do NPS não dá suporte à alteração de senhas como parte do fluxo de trabalho de entrada.The NPS extension doesn't support changing passwords as part of the sign-in workflow. Entre em contato com a equipe de TI da sua organização para obter mais assistência.Contact your organization's IT Staff for further assistance.

Por que minhas solicitações estão falhando, com erro de token ADAL?Why are my requests failing with ADAL token error?

Esse erro pode ser causado por vários motivos.This error could be due to one of several reasons. Use as seguintes etapas para solucionar problemas:Use the following steps to troubleshoot:

  1. Reinicie o servidor NPS.Restart your NPS server.
  2. Verifique se o certificado do cliente está instalado conforme o esperado.Verify that client cert is installed as expected.
  3. Verifique se o certificado está associado ao seu locatário no Azure AD.Verify that the certificate is associated with your tenant on Azure AD.
  4. Verifique se https://login.microsoftonline.com/ pode ser acessado no servidor que está executando a extensão.Verify that https://login.microsoftonline.com/ is accessible from the server running the extension.

Por que a autenticação falha, com um erro nos logs de HTTP, informando que o usuário não foi encontrado?Why does authentication fail with an error in HTTP logs stating that the user is not found?

Verifique se o AD Connect está em execução e se o usuário está presente no ambiente de AD DS local e no Azure AD.Verify that AD Connect is running, and that the user is present in both the on-premises AD DS environment and in Azure AD.

Por que vejo erros de conexão HTTP nos logs, com todas as minhas autenticações falhando?Why do I see HTTP connect errors in logs with all my authentications failing?

Verifique se https://adnotifications.windowsazure.com pode ser alcançado no servidor que está executando a extensão NPS.Verify that https://adnotifications.windowsazure.com is reachable from the server running the NPS extension.

Por que a autenticação não está funcionando, apesar de um certificado válido estar presente?Why is authentication not working, despite a valid certificate being present?

Se o certificado do computador anterior tiver expirado e um novo certificado tiver sido gerado, exclua todos os certificados expirados.If your previous computer certificate has expired, and a new certificate has been generated, delete any expired certificates. Os certificados expirados podem causar problemas com a extensão do NPS iniciando.Expired certificates can cause issues with the NPS extension starting.

Para verificar se você tem um certificado válido, verifique o repositório de certificados da conta do computador local usando o MMC e certifique-se de que o certificado não tenha passado sua data de expiração.To check if you have a valid certificate, check the local Computer Account's Certificate Store using MMC, and ensure the certificate hasn't passed its expiry date. Para gerar um certificado recentemente válido, execute novamente as etapas em executar o script do instalador do PowerShell.To generate a newly valid certificate, rerun the steps from Run the PowerShell installer script.

Por que vejo solicitações descartadas nos logs do servidor NPS?Why do I see discarded requests in the NPS server logs?

Um servidor VPN pode enviar solicitações repetidas para o servidor NPS se o valor de tempo limite for muito baixo.A VPN server may send repeated requests to the NPS server if the timeout value is too low. O servidor NPS detecta essas solicitações duplicadas e as descarta.The NPS server detects these duplicate requests and discards them. Esse comportamento é por design e não indica um problema com o servidor NPS ou com a extensão NPS da autenticação multifator do Azure AD.This behavior is by design, and doesn't indicate a problem with the NPS server or the Azure AD Multi-Factor Authentication NPS extension.

Para obter mais informações sobre por que você vê pacotes descartados nos logs do servidor NPS, consulte comportamento do protocolo RADIUS e a extensão do NPS no início deste artigo.For more information on why you see discarded packets in the NPS server logs, see RADIUS protocol behavior and the NPS extension at the start of this article.

Como gerenciar protocolos TLS/SSL e conjuntos de codificaçãoManaging the TLS/SSL Protocols and Cipher Suites

É recomendável que pacotes de codificação antigos e mais fracos sejam desabilitados ou removidos, a menos que sejam exigidos pela sua organização.It's recommended that older and weaker cipher suites be disabled or removed unless required by your organization. Informações sobre como concluir essa tarefa podem ser encontradas no artigo Gerenciando protocolos SSL/TLS e conjuntos de codificação para AD FSInformation on how to complete this task can be found in the article, Managing SSL/TLS Protocols and Cipher Suites for AD FS

Soluções de problemas adicionaisAdditional troubleshooting

Diretrizes de solução de problemas adicionais e possíveis soluções podem ser encontradas no artigo resolver mensagens de erro da extensão do NPS para a autenticação multifator do Azure ad.Additional troubleshooting guidance and possible solutions can be found in the article, Resolve error messages from the NPS extension for Azure AD Multi-Factor Authentication.

Próximas etapasNext steps