Настройка nps windows server 2012 r2

Обновлено: 06.07.2024

В статье описывается настройка Microsoft Network Policy Server для включения двухфакторной аутентификации с одноразовым кодом доступа или PUSH уведомлением при подключении VPN клиентов, таких как Cisco AnyConnect, FortiClient VPN и других.

Применимо к версиям:

  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019

Возможные способы аутентификации:

  • Мобильное приложение MultiFactor
  • СМС
  • Аппаратные OTP токены
  • Приложения OTP: Google Authenticator или Яндекс.Ключ
  • Telegram

Для настройки второго фактора аутентификации вам потребуется установить и настроить MultiFactor Radius Adapter в режиме RADIUS прокси между клиентом и сервером NPS.

Обратите внимание, в большинстве случаев вы можете отказаться от использования NPS, полностью заменив его на Radus Adapter.

  1. Radius клиент подключается к компоненту Radius Adapter.
  2. Компонент выполняет аутентификацию клиента в Network Policy Service.
  3. В случае успешной аутентификации запрашивает у пользователя подтверждение доступа вторым фактором.

Настройка компонента MultiFactor Radius Adapter

Разверните компонент MultiFactor Radius Adapter на отдельном сервере, настройте файл конфигурации следующим образом:

Значение SHARED_SECRET должно быть одинаковое на VPN устройстве, адаптере и сервере NPS, чтоб компонент мог корректно проксировать запросы.

Если вы планируете установить адаптер на одном сервере с NPS, необходимо будет изменить порт, который слушает адаптер, чтоб не было конфликтов.

Настройка RADIUS сервера (NPS)

В разделе "RADIUS Clients" измените адрес клиента на адрес адаптера.

Настройка RADIUS клиента

Поменяйте адрес радиус сервера на адрес адаптера и увеличьте таймаут ожидания запроса до 40 секунд, чтоб у пользователя было достаточно времени для подтверждения аутентификации.

На этом шаге вы установите сервер политики сети (NPS) для обработки запросов на подключение, отправленных VPN-сервером:

  • Выполните авторизацию, чтобы убедиться, что у пользователя есть разрешение на подключение.
  • Выполнение проверки подлинности для проверки удостоверения пользователя.
  • Выполнение учета для регистрации аспектов запроса на подключение, выбранного при настройке учета RADIUS в NPS.

Действия, описанные в этом разделе, позволяют выполнить следующие операции:

На компьютере или виртуальной машине, запланированной для сервера политики сети и установленной в организации или корпоративной сети, можно установить NPS.

Если в сети уже имеется один или несколько серверов NPS, вам не нужно выполнять установку сервера NPS — вместо этого можно использовать этот раздел для обновления конфигурации существующего сервера NPS.

службу сервера политики сети нельзя установить на Windows Server Core.

  1. На корпоративном сервере политики Организации или организации сервер политики сети можно настроить на выполнение в качестве сервера RADIUS, который обрабатывает запросы на подключение, получаемые от VPN-сервера.

Установка сервера политики сети

в этой процедуре выполняется установка сервера политики сети с помощью Windows PowerShell или мастера диспетчер сервера добавление ролей и компонентов. Сервер политики сети — это служба роли сервера службы политики сети и доступа.

По умолчанию сервер политики сети прослушивает RADIUS-трафик на портах 1812, 1813, 1645 и 1646 для всех установленных сетевых адаптеров. при установке NPS и включении Windows брандмауэре в повышенной безопасности исключения брандмауэра для этих портов создаются автоматически для трафика IPv4 и IPv6. если серверы сетевого доступа настроены на отправку трафика radius через порты, отличные от этих по умолчанию, удалите исключения, созданные в Windows брандмауэре с повышенной безопасностью во время установки NPS, и создайте исключения для портов, используемых для трафика RADIUS.

Процедура для Windows PowerShell:

чтобы выполнить эту процедуру с помощью Windows PowerShell, запустите Windows PowerShell от имени администратора и введите следующий командлет:

Процедура для диспетчер сервера:

В диспетчер сервера выберите Управление, а затем выберите Добавить роли и компоненты. Откроется мастер добавления ролей и компонентов.

В окне перед началом нажмите кнопку Далее.

В списке выберите тип установки убедитесь, что установлен флажок установить на основе ролей или компонентов , и нажмите кнопку Далее.

Убедитесь, что на странице Выбор целевого сервера выбран параметр выбрать сервер из пула серверов .

В поле пул серверов убедитесь, что выбран локальный компьютер, и нажмите кнопку Далее.

в окне выбор ролей сервера в списке роли выберите политика сети и службы Access. откроется диалоговое окно с запросом на добавление компонентов, необходимых для сетевой политики и службы Access.

Выберите Добавить компоненты, а затем нажмите кнопку Далее .

на странице выбор компонентов выберите далее, в политике сети и службы Access просмотрите предоставленные сведения, а затем нажмите кнопку далее.

В окне Выбор служб ролей выберите сервер политики сети.

Для компонентов, необходимых для сервера политики сети, выберите Добавить компоненты, а затем нажмите кнопку Далее.

В поле Подтверждение установки установите флажок автоматически перезагружать сервер назначения при необходимости.

Выберите Да для подтверждения выбранного, а затем нажмите кнопку установить.

Выберите Закрыть.

Настройка NPS

После установки NPS настройте NPS для выполнения всех операций проверки подлинности, авторизации и учета для запроса на подключение, полученного от VPN-сервера.

В этой процедуре сервер регистрируется в Active Directory, чтобы он получил разрешение на доступ к сведениям об учетных записях пользователей во время обработки запросов на подключение.

PROCEDURE

В диспетчере сервера щелкните Средства, а затем щелкните Сервер политики сети. Откроется консоль NPS.

В консоли NPS щелкните правой кнопкой мыши элемент NPS (локальный) и выберите пункт зарегистрировать сервер в Active Directory.

Откроется диалоговое окно Сервер политики сети.

В диалоговом окне сервер политики сети дважды нажмите кнопку ОК .

Настройка учета сервера политики сети

В этой процедуре необходимо настроить учет сервера политики сети с помощью одного из следующих типов ведения журнала:

Ведение журнала событий. Используется в основном для аудита и устранения неполадок при попытках подключения. Ведение журнала событий NPS можно настроить, получая свойства NPS Server в консоли NPS.

регистрация запросов проверки подлинности и учетных записей пользователей в базе данных, совместимой с XML Microsoft SQL Server. Используется, чтобы разрешить нескольким серверам службы NPS иметь один источник данных. Также предоставляет преимущества использования реляционной базы данных. вы можете настроить ведение журнала SQL Server с помощью мастера настройки учета.

Сведения о настройке учета сервера политики сети см. в разделе Настройка учета сервера политики сети.

Добавление VPN-сервера в качестве RADIUS-клиента

В разделе Настройка сервера удаленного доступа для Always on VPN вы установили и настроили VPN-сервер. Во время настройки VPN-сервера вы добавили общий секрет RADIUS на VPN-сервере.

В этой процедуре используется текстовая строка общего секрета для настройки VPN-сервера в качестве RADIUS-клиента в NPS. Используйте ту же текстовую строку, которая использовалась на VPN-сервере, или происходит сбой связи между сервером NPS и VPN-сервером.

При добавлении нового сервера доступа к сети (VPN-сервера, точки беспроводного доступа, коммутатора с проверкой подлинности или сервера удаленного доступа) в сеть необходимо добавить сервер в качестве RADIUS-клиента на сервере политики сети, чтобы сервер политики сети знал об этом и мог взаимодействовать с сервером доступа к сети.

PROCEDURE

На сервере NPS в консоли NPS дважды щелкните RADIUS-клиенты и серверы.

Щелкните правой кнопкой мыши клиенты RADIUS и выберите создать. Откроется диалоговое окно Новый RADIUS-клиент.

Убедитесь, что флажок включить этот клиент RADIUS установлен.

В поле понятное имя введите отображаемое имя VPN-сервера.

В поле адрес (IP или DNS) введите IP-адрес NAS или полное доменное имя.

Если вы вводите полное доменное имя, выберите проверить , если вы хотите убедиться в правильности имени и сопоставляется с ДОПУСТИМЫМ IP-адресом.

В общем секрете выполните следующие действия.

Убедитесь, что выбрано вручную .

Введите строгую текстовую строку, которая также была введена на VPN-сервере.

Повторно введите общий секрет в поле Подтверждение общего секрета.

Настройка сервера политики сети в качестве RADIUS для VPN-подключений

В этой процедуре вы настраиваете сервер политики сети в качестве сервера RADIUS в сети Организации. На сервере политики сети необходимо определить политику, которая разрешает доступ к Организации или корпоративной сети только пользователям из определенной группы через VPN-сервер, а затем только при использовании действительного сертификата пользователя в запросе проверки подлинности PEAP.

PROCEDURE

В консоли NPS в стандартной конфигурации убедитесь, что выбран RADIUS-сервер для подключений удаленного доступа или VPN .

Выберите Настройка VPN или удаленный доступ.

Откроется мастер настройки VPN или коммутируемого подключения.

Выберите подключения виртуальной частной сети (VPN) и нажмите кнопку Далее.

В поле Укажите сервер удаленного доступа или VPN-клиенты выберите имя VPN-сервера, добавленного на предыдущем шаге. Например, если NetBIOS-имя VPN-сервера — RAS1, выберите RAS1.

Выберите Далее.

В разделе Настройка методов проверки подлинности выполните следующие действия.

Снимите флажок Microsoft encrypted Authentication версии 2 (MS-CHAPv2) .

Установите флажок Протокол расширенной проверки подлинности , чтобы выбрать его.

В поле Тип (на основе метода доступа и конфигурации сети) выберите Microsoft: Protected EAP (PEAP), а затем щелкните настроить.

Откроется диалоговое окно Изменение свойств защищенного EAP.

Выберите Удалить , чтобы удалить тип EAP Secure Password (EAP-MSCHAP v2).

Выберите Добавить. Откроется диалоговое окно Добавление EAP.

Выберите смарт-карта или иной сертификат, а затем нажмите кнопку ОК.

Выберите Далее.

В разделе Указание групп пользователей выполните следующие действия.

Выберите Добавить. Откроется диалоговое окно Выбор пользователей, компьютеров, учетных записей служб или групп.

Введите VPN-пользователей, а затем нажмите кнопку ОК.

Выберите Далее.

В окне укажите IP-фильтры нажмите кнопку Далее.

в окне укажите Параметры шифрования нажмите кнопку далее. Не вносите никаких изменений.

Эти параметры применяются только к подключениям шифрования "точка-точка" (MPPE), которые не поддерживаются этим сценарием.

В окне укажите имя области нажмите кнопку Далее.

Выберите Готово, чтобы закрыть мастер.

Автоматическая регистрация сертификата сервера политики сети

В этой процедуре вы вручную обновляете групповая политика на локальном сервере NPS. Когда групповая политика обновляется, если автоматическая регистрация сертификатов настроена и работает правильно, локальный компьютер автоматически регистрирует сертификат центром сертификации (ЦС).

Групповая политика обновляется автоматически при перезагрузке компьютера, который является членом домена, или при входе пользователя в систему компьютера, который является членом домена. Кроме того, групповая политика периодически обновляет. По умолчанию это периодическое обновление происходит каждые 90 минут со случайным смещением в течение 30 минут.

Членство в группах « Администраторы» или «эквивалентное» является минимальным требованием для выполнения этой процедуры.

PROCEDURE

На сервере политики сети откройте Windows PowerShell.

в командной строке Windows PowerShell введите gpupdate и нажмите клавишу ввод.

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

Шаг 5. Настройте параметры DNS и брандмауэра для Always On VPN. на этом шаге настройте DNS и параметры брандмауэра для VPN-подключения.

Рассмотрим настройку Radius аутентификации на Cisco устройствах, посредством службы Политики сети и доступа (Network Policy Server) на Windows Server 2012 R2.

Добавление роли, настройка Active Directory

Выбираем роль (Службы политики сети и доступа):

Выбираем службу ролей (Сервер политики сети):

Для завершения установки роли, нажимаем Установить и дожидаемся установки компонента, после чего нажимаем Завершить.

В Active Directory необходимо создать группу безопасности (прим. NPS_Cisco) и включить в нее пользователей кому будет разрешена аутентификации на маршрутизаторах и коммутаторах Cisco.

Настройка Network Policy Server

Открываем оснастку Сервер политики сети (Network Policy Server).

Для полноценного использования функций NPS-сервера в домене, выполним регистрацию его в Active Directory. В оснастке на NPS (Локально), нажимаем правой кнопкой мыши и выбираем Зарегистрировать сервер в Active Directory (Register server in Active Directory):

Подтверждаем регистрацию сервера в Active Directory:

После регистрации NPS в Active Directory, добавим клиента RADIUS. На строке RADIUS-клиенты и серверы (RADIUS Clients and Servers) щелкаем правой кнопкой мыши и выбираем Новый документ (NEW):


Значение в поле Понятное имя (Friendly name) может отличаться от DNS имени. Оно потребуется нам в дальнейшем для идентификации конкретного сетевого устройства при создании политик доступа. Опираясь на это имя мы сможем задавать например маску по которой будут обрабатываться определённой политикой доступа несколько разных RADIUS клиентов.

Задаем Имя политики (Policy name), Тип сервера доступа к сети (Type of network access server) оставляем без изменения:

Задаем условия, которые должны соответствовать для успешной аутентификации. Создадим два условия:

  • Группы пользователей (указываем ранее созданную в Active Directory группу безопастности)
  • Понятное имя клиента (указываем дружественные имена, начинающиеся с префикса CISCO_)

Результат добавления условий:

Указываем разрешение доступа, оставляем значение Доступ разрешен (Access Granted).

После настройки методов проверки подлинности вам будет предложено настроить Ограничения (Constraints), пропускаем этот раздел и переходим к следующему шагу.

image


Рассмотрим на практике использование Windows Active Directory + NPS (2 сервера для обеспечения отказоустойчивости) + стандарт 802.1x для контроля доступа и аутентификации пользователей – доменных компьютеров – устройств. Ознакомиться с теорией по стандарту можно в Wikipedia, по ссылке: IEEE 802.1X

Так как “лаборатория” у меня ограничена по ресурсам, совместим роли NPS и контроллера домена, но вам я рекомендую такие критичные сервисы все же разделять.

Стандартных способов синхронизации конфигураций (политик) Windows NPS я не знаю, поэтому будем использовать скрипты PowerShell, запускаемые планировщиком заданий (автор мой бывший коллега). Для аутентификации компьютеров домена и для устройств, не умеющих в 802.1x (телефоны, принтеры и пр), будет настроена групповая политика и созданы группы безопасности.

В конце статьи расскажу о некоторых тонкостях работы с 802.1x – как можно использовать неуправляемые коммутаторы, dynamic ACL и пр. Поделюсь информацией об отловленных “глюках”…

Начнем с установки и настройки failover NPS on Windows Server 2012R2 (на 2016-м все аналогично): через Server Manager -> Add Roles and Features Wizard выбираем лишь Network Policy Server.

image

или с помощью PowerShell:

Небольшое уточнение – так как для Protected EAP (PEAP) вам обязательно потребуется сертификат, подтверждающий подлинность сервера (с соответствующими правами на использование), который будет в доверенных на клиентских компьютерах, то вам скорее всего потребуется установить еще и роль Certification Authority. Но будем считать, что CA у вас уже установлен…

Сделаем тоже самое и на втором сервере. Создадим папку для скрипта C:\Scripts на обоих серверах и сетевую папку на втором сервере \\SRV2\NPS-config$

На первом сервере создадим PowerShell скрипт C:\Scripts\Export-NPS-config.ps1 со следующим содержанием:


После этого настроим задание в Task Sheduler: “Export-NpsConfiguration

Выполнять для всех пользователей — Выполнить с наивысшими правами
Ежедневно — Повторять задачу каждые 10 мин. в течении 8 ч.

На резервном NPS настроим импорт конфигурации (политик):
создадим скрипт PowerShell:


и задачу на его выполнение каждые 10 минут:


Выполнять для всех пользователей — Выполнить с наивысшими правами
Ежедневно — Повторять задачу каждые 10 мин. в течении 8 ч.

Теперь, для проверки, добавим в NPS на одном из серверов(!) пару коммутаторов в RADIUS-клиенты (IP и Shared Secret), две политики запросов на подключение: WIRED-Connect (Условие: “Тип порта NAS – Ethernet”) и WiFi-Enterprise (Условие: “Тип порта NAS – IEEE 802.11”), а также сетевую политику Access Cisco Network Devices (Network Admins):

После настройки, спустя 10 минут, все клиенты\политики\параметры должны появиться и на резервном NPS и мы сможем авторизоваться на коммутаторах с помощью учетной записи ActiveDirectory, члена группы domain\sg-network-admins (которую мы создали заранее).

Перейдем к настройке Active Directory – создадим групповую и парольную политики, создадим необходимые группы.

Групповая политика Computers-8021x-Settings:

NPS-802-1x_AD-Policy

Создадим группу безопасности sg-computers-8021x-vl100, куда мы будем добавлять компьютеры, которые мы хотим распределять в влан 100 и настроим фильтрацию для созданной ранее групповой политики на эту группу:

802.1x-Authentication-GPO-Filtering

Убедиться в том, что политика успешно отработала можно открыв “Центр управления сетями и общим доступом (Параметры сети и Интернет) – Изменение параметров адаптера (Настройка параметров адаптера) – Свойства адаптера”, где мы сможем увидеть вкладку “Проверка подлинности”:

Проверка подлинности сетевого доступа для адаптера Ethernet

Когда убедились, что политика успешно применяется – можно переходить к настройке сетевой политики на NPS и портов коммутатора уровня доступа.

Создадим сетевую политику neag-computers-8021x-vl100:


802.1x Authentication Network Policy

Типовые настройки для порта коммутатора (обращаю внимание, что используется тип аутентификации “мультидомен” – Data & Voice, а также есть возможность аутентификации по mac адресу. на время “переходного периода” есть смысл использовать в параметрах:


влан id не “карантинного”, а того же, куда пользовательский компьютер должен попасть, успешно авторизовавшись – пока не убедимся, что все работает как следует. Эти же параметры могут быть использованы и в других сценариях, например, когда в этот порт воткнут неуправляемый коммутатор и вы хотите, чтобы все устройства, подключенные в него и не прошедшие аутентификацию, попадали в определенный влан (“карантинный”).

настройки порта коммутатора в режиме 802.1x host-mode multi-domain

Убедиться, что компьютер\телефон успешно прошли аутентификацию можно командой:


Теперь создадим группу (например, sg-fgpp-mab ) в Active Directory для телефонов и добавим в нее один аппарат для тестов (в моем случае это Grandstream GXP2160 с мас-адресом 000b.82ba.a7b1 и соотв. учетной записью domain\000b82baa7b1).

Для созданной группы понизим требования парольной политики (используя Fine-Grained Password Policies через Active Directory Administrative Center -> domain -> System -> Password Settings Container) с такими параметрами Password-Settings-for-MAB:

Fine-Grained Password Policies (FGPP) for MAB devices

тем самым разрешим использовать мас-адрес устройств в качестве паролей. После этого мы сможем создать сетевую политику для аутентификации 802.1x method mab, назовем ее neag-devices-8021x-voice. Параметры следующие:

  • NAS Port Type – Ethernet
  • Windows Groups – sg-fgpp-mab
  • EAP Types: Unencrypted authentication (PAP, SPAP)
  • RADIUS Attributes – Vendor Specific: Cisco – Cisco-AV-Pair – Attribute value: device-traffic-class=voice

Теперь, как и обещал рассмотрим пару не совсем очевидных ситуаций. Например, нам требуется подключить компьютеры\устройства пользователей через неуправляемый коммутатор (свитч). В этом случае настройки порта для него будут выглядеть следующим образом:

настройки порта коммутатора в режиме 802.1x host-mode multi-auth

P.S. замечен очень странный глюк – если устройство было подключено через такой свитч, а потом его воткнули в управляемый коммутатор, то оно НЕ заработает, пока мы не перезагрузим(!) свитч Пока других способов решения этой проблемы не нашел.

Еще один момент, связанный с DHCP (если используется ip dhcp snooping) – без таких вот опций:


почему-то корректно ip адрес не получить…хотя может это особенность нашего DHCP сервера

А еще Mac OS & Linux (в которых поддержка 802.1x нативная) пытаются пройти аутентификацию пользователем, даже если настроена аутентификация по мас-адресу.

В следующей части статьи рассмотрим применение 802.1x для Wireless (в зависимости от группы, в которую входит учетная запись пользователя, его будем “закидывать” в соответствующую сеть (влан), хотя подключаться они будут к одному SSID).

Читайте также: