Интеграция существующей инфраструктуры NPS с Многофакторной идентификацией AzureIntegrate your existing NPS infrastructure with Azure Multi-Factor Authentication

Расширение сервера политики сети (NPS) для MFA Azure добавляет облачные функции многофакторной идентификации в инфраструктуру проверки подлинности на базе существующих серверов.The Network Policy Server (NPS) extension for Azure MFA adds cloud-based MFA capabilities to your authentication infrastructure using your existing servers. Расширение NPS позволяет добавить телефонный звонок, текстовое сообщение или запрос на подтверждение в мобильном приложении в существующий процесс аутентификации, позволяя обойтись без установки, настройки и поддержания новых серверов.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. 

Это расширение было создано для организаций, которым необходимо защитить VPN-подключения, не развертывая сервер Azure MFA.This extension was created for organizations that want to protect VPN connections without deploying the Azure MFA Server. Расширение NPS выполняет функции адаптера между RADIUS и облачной службой Azure MFA, предоставляя второй фактор проверки подлинности для федеративных или синхронизированных пользователей.The NPS extension acts as an adapter between RADIUS and cloud-based Azure MFA to provide a second factor of authentication for federated or synced users.

Если вы используете расширение NPS для многофакторной идентификации Azure, процесс проверки подлинности состоит из следующих компонентов:When using the NPS extension for Azure MFA, the authentication flow includes the following components: 

  1. NAS или VPN-сервер получает запросы от клиентов, использующих VPN-подключение, и преобразует их в запросы RADIUS, направляемые на серверы политики сети.NAS/VPN Server receives requests from VPN clients and converts them into RADIUS requests to NPS servers. 
  2. Сервер политики сети подключается к Active Directory и выполняет первичную проверку подлинности по запросам RADIUS. В случае успеха он передает запрос в установленные расширения.NPS Server connects to Active Directory to perform the primary authentication for the RADIUS requests and, upon success, passes the request to any installed extensions.  
  3. Расширение NPS активирует запрос к MFA Azure для проведения дополнительной проверки подлинности.NPS Extension triggers a request to Azure MFA for the secondary authentication. Когда расширение получает ответ (при условии, что запрос MFA выполнен успешно), расширение завершает процесс проверки подлинности, возвращая серверу NPS маркеры безопасности, которые включают утверждение многофакторной идентификации, выданное службой маркеров безопасности 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. Azure MFA обращается к Azure Active Directory для получения сведений о пользователе и выполняет дополнительную проверку подлинности по тому методу, который настроен для этого пользователя.Azure MFA communicates with Azure Active Directory to retrieve the user’s details and performs the secondary authentication using a verification method configured to the user.

На следующей схеме обобщенно представлен поток запросов на проверку подлинности.The following diagram illustrates this high-level authentication request flow: 

Схема процесса проверки подлинности

Планирование развертыванияPlan your deployment

Расширение NPS автоматически обрабатывает избыточность, поэтому специальная настройка не требуется.The NPS extension automatically handles redundancy, so you don't need a special configuration.

Можно создать столько NPS-серверов с поддержкой Azure MFA, сколько требуется.You can create as many Azure MFA-enabled NPS servers as you need. При установке нескольких серверов для каждого из них следует использовать отдельный сертификат клиента.If you do install multiple servers, you should use a difference client certificate for each one of them. Создание сертификата для каждого сервера означает, что можно обновлять каждый сертификат по отдельности и не беспокоиться об одновременных простоях всех серверов.Creating a cert for each server means that you can update each cert individually, and not worry about downtime across all your servers.

VPN-серверы перенаправляют запросы на аутентификацию, поэтому они должны знать о новых NPS-серверах с поддержкой Многофакторной идентификации Azure.VPN servers route authentication requests, so they need to be aware of the new Azure MFA-enabled NPS servers.

Технические условияPrerequisites

Расширение NPS предназначено для работы с существующей инфраструктурой.The NPS extension is meant to work with your existing infrastructure. Прежде чем приступить к работе, убедитесь, что у вас есть следующие необходимые компоненты.Make sure you have the following prerequisites before you begin.

ЛицензииLicenses

Расширение NPS для Многофакторной идентификации Azure доступно для клиентов с лицензией Azure MFA (входит в состав отдельных лицензий Azure AD Premium, EMS и MFA).The NPS Extension for Azure MFA is available to customers with licenses for Azure Multi-Factor Authentication (included with Azure AD Premium, EMS, or an MFA stand-alone license). Лицензии на основе потребления Azure MFA, такие как лицензии на пользователя или лицензии на аутентификацию, несовместимы с расширением NPS.Consumption-based licenses for Azure MFA such as per user or per authentication licenses are not compatible with the NPS extension.

Программное обеспечениеSoftware

Windows Server 2008 R2 с пакетом обновления 1 (SP1) или более поздняя версия.Windows Server 2008 R2 SP1 or above.

БиблиотекиLibraries

Эти библиотеки устанавливаются автоматически вместе с расширением.These libraries are installed automatically with the extension.

Если модуль Microsoft Azure Active Directory для Windows PowerShell отсутствует, то он устанавливается с помощью сценария настройки, который запускается в процессе установки.The Microsoft Azure Active Directory Module for Windows PowerShell is installed, if it is not already present, through a configuration script you run as part of the setup process. Нет необходимости устанавливать этот модуль заранее.There is no need to install this module ahead of time if it is not already installed.

Azure Active DirectoryAzure Active Directory

Все пользователи, использующие расширение NPS, должны синхронизироваться с Azure Active Directory с помощью Azure AD Connect и должны быть зарегистрированы в службе MFA.Everyone using the NPS extension must be synced to Azure Active Directory using Azure AD Connect, and must be registered for MFA.

Для установки расширения потребуются учетные данные администратора и идентификатор каталога для вашего клиента Azure AD.When you install the extension, you need the directory ID and admin credentials for your Azure AD tenant. Идентификатор каталога вы можете найти на портале Azure.You can find your directory ID in the Azure portal. Войдите с учетными данными администратора, выберите значок Azure Active Directory слева, а затем выберите Свойства.Sign in as an administrator, select the Azure Active Directory icon on the left, then select Properties. Скопируйте значение GUID в поле Directory ID (Идентификатор каталога) и сохраните его.Copy the GUID in the Directory ID box and save it. Этот GUID используется как идентификатор клиента при установке расширения NPS.You use this GUID as the tenant ID when you install the NPS extension.

Поиск идентификатора каталога в разделе свойств для Azure Active Directory

Требования к сетиNetwork requirements

Необходимо обеспечить обмен данными между сервером NPS и указанными ниже URL-адресами через порты 80 и 443.The NPS server needs to 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

Кроме того, для завершения установки адаптера с помощью предоставленного сценария PowerShell требуется подключение к следующим URL-адресам.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 your environment

Прежде чем устанавливать расширение NPS, следует подготовить среду для обработки трафика аутентификации.Before you install the NPS extension, you want to prepare you environment to handle the authentication traffic.

Включение роли NPS на сервере, присоединенном к доменуEnable the NPS role on a domain-joined server

NPS-сервер подключается к Azure Active Directory и аутентифицирует запросы MFA.The NPS server connects to Azure Active Directory and authenticates the MFA requests. Выберите один сервер для этой роли.Choose one server for this role. Рекомендуется выбрать сервер, который не обрабатывает запросы от других служб, так как расширение NPS выдает ошибки для всех запросов, которые не являются запросами 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. NPS-сервер необходимо настроить как сервер основной и дополнительной аутентификации для вашей среды. Он не может передавать запросы RADIUS на другой сервер.The NPS server must be set up as the primary and secondary authentication server for your environment; it cannot proxy RADIUS requests to another server.

  1. Откройте на сервере мастер добавления ролей и компонентов, воспользовавшись меню быстрого запуска диспетчера сервера.On your server, open the Add Roles and Features Wizard from the Server Manager Quickstart menu.
  2. Щелкните Установка ролей или компонентов для используемого типа установки.Choose Role-based or feature-based installation for your installation type.
  3. Выберите роль сервера Службы политики сети и доступа.Select the Network Policy and Access Services server role. Может появиться окно, сообщающее о необходимых компонентах для выполнения этой роли.A window may pop up to inform you of required features to run this role.
  4. Следуйте дальнейшим указаниям мастера, пока не перейдете к странице подтверждения.Continue through the wizard until the Confirmation page. Щелкните Установить.Select Install.

Теперь назначенный NPS-сервер следует настроить для обработки входящих запросов RADIUS от решения VPN.Now that you have a server designated for NPS, you should also configure this server to handle incoming RADIUS requests from the VPN solution.

Настройка решения VPN для обмена данными с NPS-серверомConfigure your VPN solution to communicate with the NPS server

В зависимости от того, какое решение VPN используется, действия по настройке политики аутентификации RADIUS могут отличаться.Depending on which VPN solution you use, the steps to configure your RADIUS authentication policy vary. Настройте эту политику, указав NPS-сервер RADIUS.Configure this policy to point to your RADIUS NPS server.

Синхронизация пользователей домена с облакомSync domain users to the cloud

Возможно, этот шаг уже выполнен в клиенте, но рекомендуется еще раз убедиться, что служба Azure AD Connect недавно синхронизировала базы данных.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. Войдите на портал Azure с использованием учетной записи администратора.Sign in to the Azure portal as an administrator.
  2. Щелкните Azure Active Directory > Azure AD Connect.Select Azure Active Directory > Azure AD Connect
  3. Убедитесь в том, что синхронизация находится в состоянии Включена и последняя синхронизация была выполнена менее часа назад.Verify that your sync status is Enabled and that your last sync was less than an hour ago.

Если требуется начать новый цикл синхронизации, следуйте инструкциям в разделе Синхронизация Azure AD Connect: планировщик.If you need to kick off a new round of synchronization, us the instructions in Azure AD Connect sync: Scheduler.

Определение методов проверки подлинности, которые смогут использовать пользователиDetermine which authentication methods your users can use

Существует два фактора, влияющих на то, какие методы проверки подлинности доступны для развертывания расширения сервера политики сети (NPS):There are two factors that affect which authentication methods are available with an NPS extension deployment:

  1. Алгоритм шифрования пароля для обмена данными между клиентом RADIUS (VPN, сервером Netscaler или другим) и серверами NPS.The password encryption algorithm used between the RADIUS client (VPN, Netscaler server, or other) and the NPS servers.

    • PAP поддерживает все методы проверки подлинности Azure MFA в облаке: телефонный звонок, односторонняя текстовое сообщение, уведомление мобильного приложения, токены оборудования OATH и код проверки мобильного приложения.PAP supports all the authentication methods of Azure MFA in the cloud: phone call, one-way text message, mobile app notification, OATH hardware tokens, and mobile app verification code.

    • CHAPV2 и EAP поддерживают телефонный звонок или уведомление мобильного приложения.CHAPV2 and EAP support phone call and mobile app notification.

      Примечание

      При развертывании расширения NPS используйте эти факторы, чтобы оценить, какие методы будут доступны для пользователей.When you deploy the NPS extension, use these factors to evaluate which methods are available for your users. Если клиент RADIUS поддерживает протокол PAP, а клиент UX не имеет полей ввода для проверки кода, тогда телефонный звонок или уведомление мобильного приложения являются подходящими вариантами.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.

      Кроме того, если ваш интерфейс VPN-клиента поддерживает поле ввода и настроена политика сетевого доступа, проверка подлинности может быть выполнена успешно, однако ни один из атрибутов RADIUS, настроенных в политике сети, не будет применяться ни к каким устройствам доступа к сети, как и сервер RRAS, и VPN-клиент.In addition, if your VPN client UX does support input field and you have configured Network Access Policy - the authentication might succeed, however none of the RADIUS attributes configured in the Network Policy will be applied to neither the Network Access Device, like the RRAS server, nor the VPN client. В результате VPN-клиент может иметь больше доступа, чем требуется или меньше, чем без доступа.As a result, the VPN client might have more access than desired or less to no access.

  2. Методы ввода, которые может обработать клиентское приложение (VPN, сервер Netscaler или другое).The input methods that the client application (VPN, Netscaler server, or other) can handle. Например, может ли VPN-клиент разрешить пользователю вводить код проверки из мобильного приложения или текста?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?

Вы можете отключить неподдерживаемые методы проверки подлинности в Azure.You can disable unsupported authentication methods in Azure.

Регистрация пользователей для использования MFARegister users for MFA

Перед развертыванием и использованием расширения NPS нужно зарегистрировать пользователей, которые должны будут проходить двухфакторную проверку подлинности, в службе MFA.Before you deploy and use the NPS extension, users that are required to perform two-step verification need to be registered for MFA. Сейчас же, чтобы проверить расширения после развертывания, необходима по крайней мере одна тестовая учетная запись, полностью зарегистрированная для использования Многофакторной идентификации.More immediately, to test the extension as you deploy it, you need at least one test account that is fully registered for Multi-Factor Authentication.

Чтобы приступить к работе с тестовой учетной записью, выполните следующее.Use these steps to get a test account started:

  1. Войдите на сайт https://aka.ms/mfasetup с тестовой учетной записью.Sign in to https://aka.ms/mfasetup with a test account.
  2. Чтобы настроить методы проверки, следуйте инструкциям на экране.Follow the prompts to set up a verification method.
  3. Создайте политику условного доступа , чтобы требовать многофакторную проверку подлинности для тестовой учетной записи.Create a Conditional Access policy to require multi-factor authentication for the test account.

Установка расширения NPSInstall the NPS extension

Важно!

Установите расширение NPS на другом сервере, который не является точкой доступа VPN.Install the NPS extension on a different server than the VPN access point.

Скачивание и установка расширения NPS для MFA AzureDownload and install the NPS extension for Azure MFA

  1. Скачайте расширение NPS из Центра загрузки Майкрософт.Download the NPS Extension from the Microsoft Download Center.
  2. Скопируйте этот двоичный файл на сервер политики сети, который требуется настроить.Copy the binary to the Network Policy Server you want to configure.
  3. Запустите файл setup.exe и следуйте инструкциям по установке.Run setup.exe and follow the installation instructions. При возникновении ошибок проверьте, были ли успешно установлены две библиотеки из раздела необходимых компонентов.If you encounter errors, double-check that the two libraries from the prerequisite section were successfully installed.

Обновление расширения NPSUpgrade the NPS extension

При обновлении существующей установки расширения NPS во избежание перезагрузки базового сервера выполните следующие действия.When upgrading an existing NPS extension install, to avoid a reboot of the underlying server complete the following steps:

  1. Удалить существующую версиюUninstall the existing version
  2. Запуск нового установщикаRun the new installer
  3. Перезапуск службы сервера политики сети (IAS)Restart the Network Policy Server (IAS) service

Запуск сценария PowerShellRun the PowerShell script

Установщик создаст сценарий PowerShell в этом расположении: C:\Program Files\Microsoft\AzureMfa\Config (где C:\ — диск установки).The installer creates a PowerShell script in this location: C:\Program Files\Microsoft\AzureMfa\Config (where C:\ is your installation drive). При каждом запуске скрипт PowerShell выполняет следующие действия:This PowerShell script performs the following actions each time it is run:

  • Создать самозаверяющий сертификат.Create a self-signed certificate.
  • Связывает открытый ключ сертификата с субъектом-службой в Azure AD.Associate the public key of the certificate to the service principal on Azure AD.
  • Сохраняет сертификат в хранилище сертификатов на локальном компьютере.Store the cert in the local machine cert store.
  • Предоставляет пользователю в сети доступ к закрытому ключу сертификата.Grant access to the certificate’s private key to Network User.
  • Перезапускает расширение NPS.Restart the NPS.

Если вы не намерены использовать собственные сертификаты (вместо самозаверяющих сертификатов, которые создает скрипт PowerShell), запустите скрипт PowerShell для завершения установки.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 installation. Если установить расширение на нескольких серверах, каждый из них должен использовать собственный сертификат.If you install the extension on multiple servers, each one should have its own certificate.

  1. Запустите Windows PowerShell от имени администратора.Run Windows PowerShell as an administrator.

  2. Перейдите в соответствующий каталог.Change directories.

    cd "C:\Program Files\Microsoft\AzureMfa\Config"

  3. Запустите сценарий PowerShell, созданный установщиком.Run the PowerShell script created by the installer.

    .\AzureMfaNpsExtnConfigSetup.ps1

  4. Войдите в Azure AD как администратор.Sign in to Azure AD as an administrator.

  5. PowerShell запросит ваш идентификатор клиента.PowerShell prompts for your tenant ID. Введите GUID каталога, скопированный с портала Azure при выполнении предварительных требований.Use the Directory ID GUID that you copied from the Azure portal in the prerequisites section.

  6. PowerShell отобразит сообщение об успешном выполнении после завершения сценария.PowerShell shows a success message when the script is finished.

Повторите эти действия на всех дополнительных серверах NPS, которые необходимо настроить для балансировки нагрузки.Repeat these steps on any additional NPS servers that you want to set up for load balancing.

Если срок действия предыдущего сертификата компьютера истек, и был создан новый сертификат, следует удалить все сертификаты с истекшим сроком действия.If your previous computer certificate has expired, and a new certificate has been generated, you should delete any expired certificates. Наличие сертификатов с истекшим сроком действия может вызвать проблемы с запуском расширения NPS.Having expired certificates can cause issues with the NPS Extension starting.

Примечание

При использовании собственных сертификатов вместо их создания с помощью сценария PowerShell убедитесь, что они соответствуют соглашению об именовании сервера политики сети.If you use your own certificates instead of generating certificates with the PowerShell script, make sure that they align to the NPS naming convention. Имя субъекта-службы будет иметь значение CN <TenantID>, а OU — Microsoft NPS Extension.The subject name must be CN=<TenantID>,OU=Microsoft NPS Extension.

Смена сертификатовCertificate rollover

В выпуске 1.0.1.32 расширения NPS теперь поддерживается чтение нескольких сертификатов.With release 1.0.1.32 of the NPS extension, reading multiple certificates is now supported. Эта возможность поможет упростить обновление сертификатов до истечения срока их действия.This capability will help facilitate rolling certificate updates prior to their expiration. Если в вашей организации запущена предыдущая версия расширения NPS, следует выполнить обновление до версии 1.0.1.32 или более поздней.If your organization is running a previous version of the NPS extension, you should upgrade to version 1.0.1.32 or higher.

Сертификаты, созданные сценарием AzureMfaNpsExtnConfigSetup.ps1, действительны в течение 2 лет.Certificates created by the AzureMfaNpsExtnConfigSetup.ps1 script are valid for 2 years. ИТ организации должны отслеживать срок действия сертификатов.IT organizations should monitor certificates for expiration. Сертификаты для расширения NPS помещаются в хранилище сертификатов локального компьютера в папке личные и выдаются ИДЕНТИФИКАТОРу клиента, предоставленному сценарию.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 script.

Если сертификат приближается к дате окончания срока действия, для его замены должен быть создан новый сертификат.When a certificate is approaching the expiration date, a new certificate should be created to replace it. Этот процесс выполняется путем повторного запуска AzureMfaNpsExtnConfigSetup.ps1 и сохранения того же идентификатора клиента при появлении соответствующего запроса.This process is accomplished by running the AzureMfaNpsExtnConfigSetup.ps1 again and keeping the same tenant ID when prompted. Этот процесс должен повторяться на каждом сервере политики сети в вашей среде.This process should be repeated on each NPS server in your environment.

Настройка расширения NPSConfigure your NPS extension

Этот раздел содержит рекомендации по проектированию и успешному развертыванию расширения NPS.This section includes design considerations and suggestions for successful NPS extension deployments.

Ограничения конфигурацииConfiguration limitations

  • Расширение NPS для Azure MFA не включает в себя инструменты для переноса пользователей и настроек с сервера MFA в облако.The NPS extension for Azure MFA does not include tools to migrate users and settings from MFA Server to the cloud. По этой причине мы рекомендуем вам использовать расширение для новых развертываний, а не для существующего развертывания.For this reason, we suggest using the extension for new deployments, rather than existing deployment. При использовании расширения в существующем развертывании пользователям придется еще раз подтвердить свою личность, чтобы заполнить сведения для MFA в облаке.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.
  • Расширение NPS использует имя участника-пользователя из локального каталога Active Directory для идентификации пользователя в Azure MFA для выполнения вторичной проверки подлинности. Расширение можно настроить для использования другого идентификатора, например альтернативного имени входа или пользовательского Active Directory поля, отличного от имени участника-пользователя.The NPS extension uses the UPN from the on-premises Active directory to identify the user on Azure MFA for performing the Secondary Auth. The extension can be configured to use a different identifier like alternate login ID or custom Active Directory field other than UPN. Дополнительные сведения см. в статье Параметры расширенной конфигурации расширения NPS для Многофакторной идентификации.For more information, see the article, Advanced configuration options for the NPS extension for Multi-Factor Authentication.
  • Не все протоколы шифрования поддерживают все методы проверки.Not all encryption protocols support all verification methods.
    • PAP поддерживает такие методы: телефонный звонок, одностороннее текстовое сообщение, уведомление мобильного приложения и код проверки мобильного приложения.PAP supports phone call, one-way text message, mobile app notification, and mobile app verification code
    • CHAPV2 и EAP поддерживают телефонный звонок или уведомление мобильного приложения.CHAPV2 and EAP support phone call and mobile app notification

Управление клиентами RADIUS, для которых требуется MFAControl RADIUS clients that require MFA

Когда вы включаете для клиента RADIUS поддержку MFA с помощью расширения NPS, все сеансы проверки подлинности для этого клиента могут выполняться только с использованием MFA.Once you enable MFA for a RADIUS client using the NPS Extension, all authentications for this client are required to perform MFA. Если вы хотите включить MFA только для отдельных клиентов RADIUS, настройте два сервера NPS и установите расширение только на один из них.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. Затем настройте для клиентов RADIUS, которые должны использовать MFA, отправку запросов на сервер NPS, на котором установлено это расширение. Всех остальных клиентов RADIUS направьте на другой сервер NPS, для которого расширение не используется.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.

Подготовка к входу пользователей, не зарегистрированных для MFAPrepare for users that aren't enrolled for MFA

Если у вас есть пользователи, не зарегистрированные для MFA, вы можете выбрать действие, которое будет выполняться при попытке проверки подлинности.If you have users that aren't enrolled for MFA, you can determine what happens when they try to authenticate. Для управления этим поведением используйте параметр реестра REQUIRE_USER_MATCH, расположенный в пути HKLM\Software\Microsoft\AzureMFA.Use the registry setting REQUIRE_USER_MATCH in the registry path HKLM\Software\Microsoft\AzureMFA to control the feature behavior. Здесь есть только один параметр конфигурации:This setting has a single configuration option:

КлючKey ValueValue значение по умолчаниюDefault
REQUIRE_USER_MATCHREQUIRE_USER_MATCH True или falseTRUE/FALSE Не задано (эквивалентно значению True)Not set (equivalent to TRUE)

Этот параметр определяет, что нужно делать при проверке подлинности пользователя, не зарегистрированного для MFA.The purpose of this setting is to determine what to do when a user is not enrolled for MFA. Если этот ключ не существует, не задан или имеет значение True, то для незарегистрированного пользователя проверка MFA считается не пройденной.When the key does not exist, is not set, or is set to TRUE, and the user is not enrolled, then the extension fails the MFA challenge. Если этот ключ имеет значение False, то для незарегистрированного пользователя проверка подлинности выполняется без MFA.When the key is set to FALSE and the user is not enrolled, authentication proceeds without performing MFA. Если пользователь зарегистрирован в службе MFA, он должен проходить аутентификацию с помощью MFA, даже если REQUIRE_USER_MATCH имеет значение FALSE.If a user is enrolled in MFA, they must authenticate with MFA even if REQUIRE_USER_MATCH is set to FALSE.

Вы можете создать этот ключ и присвоить ему значение False, если пользователи подключаются, но еще не зарегистрированы для Azure MFA.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 MFA yet. Однако такая настройка ключа разрешает вход всем пользователям, которые не зарегистрированы для MFA, поэтому этот ключ следует удалить до начала использования в рабочей среде.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.

Устранение неисправностейTroubleshooting

Скрипт проверки работоспособности расширения NPSNPS extension health check script

Следующий скрипт доступен в коллекции TechNet для выполнения основных шагов проверки работоспособности при устранении неполадок расширения NPS.The following script is available on the TechNet Gallery to perform basic health check steps when troubleshooting the NPS extension.

MFA_NPS_Troubleshooter. ps1MFA_NPS_Troubleshooter.ps1


Как проверить, правильно ли установлен сертификат клиента?How do I verify that the client cert is installed as expected?

Найдите самозаверяющий сертификат, созданный установщиком в хранилище сертификатов, и убедитесь, что его закрытый ключ имеет разрешения, предоставленные пользователю 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. У этого сертификата имя субъекта-службы будет иметь значение CN <tenantid>, а OU — Microsoft NPS Extension.The cert has a subject name of CN <tenantid>, OU = Microsoft NPS Extension

Самозаверяющие сертификаты, создаваемые сценарием азуремфанпсекстнконфигсетуп. ps1 , также имеют срок действия в два года.Self-signed certificates generated by the AzureMfaNpsExtnConfigSetup.ps1 script also have a validity lifetime of two years. При проверке установки сертификата также следует убедиться, что срок действия сертификата не истек.When verifying that the certificate is installed, you should also check that the certificate has not expired.


Как проверить, связан ли сертификат клиента с правильным клиентом в Azure Active Directory?How can I verify that my client cert is associated to my tenant in Azure Active Directory?

Откройте командную строку PowerShell и выполните следующие команды:Open PowerShell command prompt and run the following commands:

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

Эти команды выводят в сеанс PowerShell все сертификаты, благодаря которым ваш клиент связывается с экземпляром расширения NPS.These commands print all the certificates associating your tenant with your instance of the NPS extension in your PowerShell session. Экспортируйте сертификат клиента в файл в кодировке Base-64 X.509 (CER) без закрытого ключа и сравните его со списком в 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.

Следующая команда создаст файл с именем "npscertificate" на диске "C:" в формате CER.The following command will create a file named "npscertificate" on 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:\npscertficicate.cer

После выполнения этой команды перейдите на диск C, найдите файл и дважды щелкните его.Once you run this command, go to your C drive, locate the file and double-click on it. Перейдите к подробным сведениям и прокрутите вниз до раздела thumbprint. Сравните отпечаток сертификата, установленного на сервере, с этим отпечатком.Go to details and scroll down to "thumbprint", compare the thumbprint of the certificate installed on the server to this one. Отпечатки сертификатов должны совпадать.The certificate thumbprints should match.

Метки времени Valid-From и Valid-Until, которые имеют понятный для человека формат, позволят отфильтровать очевидные несоответствия, если команда возвращает более одного сертификата.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.


Почему не удается войти?Why cant I sign in?

Проверьте, не истек ли срок действия пароля.Check that your password hasn't expired. Расширение NPS не поддерживает изменение паролей при входе в систему.The NPS Extension does not support changing passwords as part of the sign-in workflow. Обратитесь за помощью к ИТ-специалистам Организации.Contact your organization's IT Staff for further assistance.


Почему запросы завершаются сбоем с ошибкой маркера ADAL?Why are my requests failing with ADAL token error?

Эта ошибка может быть вызвана одной из нескольких причин.This error could be due to one of several reasons. Выполните следующие действия для устранения неполадок.Use these steps to help troubleshoot:

  1. Перезагрузите сервер политики сети.Restart your NPS server.
  2. Убедитесь, что сертификат клиента установлен правильно.Verify that client cert is installed as expected.
  3. Убедитесь, что сертификат связан с клиентом в Azure AD.Verify that the certificate is associated with your tenant on Azure AD.
  4. Убедитесь, что адрес https://login.microsoftonline.com/ доступен с сервера, на котором выполняется расширение.Verify that https://login.microsoftonline.com/ is accessible from the server running the extension.

Почему проверка подлинности завершается ошибкой, а в журналы HTTP заносится ошибка с сообщением о том, что пользователь не найден?Why does authentication fail with an error in HTTP logs stating that the user is not found?

Убедитесь, что служба AD Connect работает, а нужный пользователь присутствует как в Windows Active Directory, так и в Azure Active Directory.Verify that AD Connect is running, and that the user is present in both Windows Active Directory and Azure Active Directory.


Почему в журналах отображаются ошибки подключения HTTP для всех попыток проверки подлинности?Why do I see HTTP connect errors in logs with all my authentications failing?

Убедитесь, что адрес https://adnotifications.windowsazure.com доступен с сервера, на котором выполняется расширение NPS.Verify that https://adnotifications.windowsazure.com is reachable from the server running the NPS extension.


Почему проверка подлинности не работает, несмотря на наличие действительного сертификата?Why is authentication not working, despite a valid certificate being present?

Если срок действия предыдущего сертификата компьютера истек, и был создан новый сертификат, следует удалить все сертификаты с истекшим сроком действия.If your previous computer certificate has expired, and a new certificate has been generated, you should delete any expired certificates. Наличие сертификатов с истекшим сроком действия может вызвать проблемы с запуском расширения NPS.Having expired certificates can cause issues with the NPS Extension starting.

Чтобы проверить наличие действительного сертификата, проверьте хранилище сертификатов учетной записи локального компьютера с помощью MMC и убедитесь, что срок действия сертификата не прошел.To check if you have a valid certificate, check the local Computer Account's Certificate Store using MMC, and ensure the certificate has not passed its expiry date. Чтобы создать новый действительный сертификат, повторно выполните действия, описанные в разделе "Запуск сценария PowerShell".To generate a newly valid certificate, rerun the steps under the section "Run the PowerShell script"

Управление протоколами TLS и SSL, а также комплектами шифровManaging the TLS/SSL Protocols and Cipher Suites

Рекомендуем отключить или удалить прежние, менее надежные комплекты шифров (если они не требуются в организации).It is recommended that older and weaker cipher suites be disabled or removed unless required by your organization. Соответствующие инструкции см. в статье, посвященной управлению протоколами SSL и TLS, а также комплектами шифров для AD FS.Information on how to complete this task can be found in the article Managing SSL/TLS Protocols and Cipher Suites for AD FS

Дополнительные способы устранения неполадокAdditional troubleshooting

Дополнительные рекомендации по устранению неполадок и возможные решения см. в статье Устранение сообщений об ошибках из расширения NPS для многофакторной идентификации Azure.Additional troubleshooting guidance and possible solutions can be found in the article Resolve error messages from the NPS extension for Azure Multi-Factor Authentication.

Дальнейшие действияNext steps