Сетевая схема:

Оглавление
- Предварительные требования
- Установка и конфигурация RRAS сервера
- Настройка на стороне RRAS сервера
- Настройка на стороне Indeed AM сервера
- Настройка аутентификации по EAP-MSCHAPv2
- Настройка на стороне NPS сервера
- Настройка на стороне RRAS клиента
- Проверка подключения
- Настройка аутентификации по PEAP
- Настройка шаблонов сертификатов
- Настройка шаблона для NPS сервера
- Настройка шаблона для RRAS сервера
- Настройка шаблона для пользователя
- Распространение сертификатов
- Распространение сертификата NPS сервера
- Распространение сертификата RRAS сервера
- Распространение сертификата пользователя
- Настройка на стороне NPS сервера
- Настройка на стороне RRAS клиента
- Проверка подключения
Предварительные требования
- Установленный и настроенный Indeed AM 8.2.2 и выше для EAP-MSCHAPv2 или Indeed AM 8.2.5 и выше для PEAP.
- Установленный и настроенный Indeed AM NPS RADIUS Extension, на внешнем NPS сервере, отдельном от RRAS.
- Установленный и настроенный Indeed Key сервер и Indeed Key провайдер.
- Установленные провайдер Indeed AM Radius Providers.
- Установленный и настроенный RRAS сервер.
- Установленный и настроенный локальный CA (в рамках инструкции используется Windows CA).
Примечание:
- В данной статье рассматриваются два сценария аутентификации:
- По логину и паролю пользователя (протокол EAP-MSCHAPv2)
- По сертификату пользователя (протокол PEAP).
- Так как RRAS не поддерживает Challenge/Response, то в качестве второго фактора будет использоваться Push - аутентификатор (Indeed Key провайдер).
Установка и конфигурация RRAS сервера
Пример установки и базовой настройки RRAS сервера приведен для ознакомления с архитектурой решения 2fa при VPN подключении через RRAS сервер и не предназначен для полноценного использования в продуктовой системе.
- На сервере, где планируется установка роли RRAS, в Server Manager нажмите на Add roles and features.

- В мастере дойдите до этапа Server Roles и в списке поставьте галочку перед Remote Access.

- Дойдите до этапа Role Services и поставьте галочку перед DirectAccess and VPN (RAS) и, при необходимости, перед Routing.

- Во всех последующих этапах оставьте значения по умолчанию. На последнем этапе нажмите Install, дождитесь установки RRAS роли и выйдите из мастера.
- После завершения установки в оснастке Server Manager нажмите на флажок с уведомлением, а затем Open the Getting Started Wizard.

- В открывшемся окне выберите Deploy VPN Only.

- В оснастке Routing and Remote Access нажмите правой кнопкой по <Название сервера> (local), а затем Configure and Enable Routing and Remote Access.

- В мастере выберите Custom configuration, а затем на следующем этапе поставьте галочку перед VPN access.


- На завершающем этапе нажмите OK в окне с предупреждением и Start service в следующем. После завершения запуска службы нажмите Finish и завершите работу мастера.


- В оснастке Routing and Remote Access нажмите правой кнопкой по Ports и откройте Properties.

- Отдельно откройте конфигурацию каждого устройства SSTP, L2TP, PPTP, PPPOE, GRE, нажав на Configure…, и уберите галочку перед Remote access connections (inbound and outbound).

- В конфигурации устройства IKEv2 поставьте галочки перед Remote access connections (inbound and outbound) и Demand-dial routing connections (inbound and outbound).

- Базовая конфигурация RRAS сервера завершена. По итогу в окне Ports Properties должно получиться следующее:

Настройка на стороне RRAS сервера
Данный этап подразумевает, что на Вашем RRAS сервере уже выполнена базовая настройка. Здесь будет рассматриваться настройка конфигурации на проверку подлинности по RADIUS протоколу - аутентификация будет происходить на стороне NPS сервера с расширением Indeed AM NPS RADIUS Extension. В данной схеме RRAS сервер будет считаться RADIUS клиентом.
- На RRAS сервере, в оснастке Routing and Remote Access нажмите правой кнопкой на <Имя сервера> (local) и далее на Properties.

- Переключитесь на вкладку Security и выберите RADIUS Authentication в Authentication provider/Accounting provider (каждый пункт конфигурируется отдельно по примеру ниже), затем нажмите на Configure… .

- Нажмите на Add… и введите параметры RADIUS сервера:
- Server name: 192.168.7.2 (IP - адрес RADIUS сервера)
- Shared secret: 12345Qwert! (Общий секрет с RADIUS сервером)
- Time-out (seconds): 60 (Рекомендуем поставить значение в 60 секунд)
- Initial score: 30
- Port: 1812 (для поля Accounting provider будет значение 1813)
После ввода параметров нажмите OK в окнах с конфигурацией RADIUS сервера.

- Нажмите на Authentication Methods… и в новом окне оставьте выбранным только значение Extensible authentication protocol (EAP), после чего нажмите OK.

- Ниже приведён пример итоговой настройки.
Примечание: Удостоверьтесь, что в поле SSL Certificate Binding добавлен сертификат (на скриншоте Web сертификат на внешнее DNS имя сервера - rras2.indeed6.local), которому будут доверять RRAS клиенты, иначе при подключении будет возникать ошибка. Здесь также можно указать сертификат, который будет рассматриваться в дальнейшем при сценарии с PEAP.

- Нажмите Apply и OK на всех последующих окнах.
Настройка на стороне Indeed AM сервера
- Создайте новое приложение в MC консоли. Во вкладке Приложения нажмите кнопку Добавить приложение, в открывшемся окне выберите модуль интеграции NPS RADIUS Extension и задайте название. После чего, нажмите кнопку Создать:


- Откройте созданное приложение, укажите IP-адрес RADIUS клиента (тот же самый IP-адрес, что мы указывали в оснастке NPS) и нажмите Сохранить:

- Далее откройте в MC консоли вкладку Политики, выберите политику (либо, если её нет, то создайте, а затем выберите), нажмите кнопку Добавить приложение и выберите созданное ранее приложение:


- Откройте добавленное приложение, для поля Метод аутентификации выберите значение из списка Indeed Key и нажмите Сохранить.

- Во вкладке Область действия добавьте пользователей/группу из AD/каталог, которые в дальнейшем будут аутентифицироваться через Indeed AM:

Настройка аутентификации по EAP-MSCHAPv2
При данном сценарии пользователь будет входить по доменному логину и паролю.
Настройка на стороне NPS сервера
Настройка политик NPS сервера для работы по EAP-MSCHAPv2 будет осуществляться через мастер конфигурации VPN или Dial-Up в оснастке Network Policy Server.
- В оснастке Network Policy Server нажмите на NPS (Local), после чего на Configure VPN or Dial-Up.

- Выберите Virtual Private Network (VPN) Connections и задайте имя в поле Name, после чего нажмите Next.

- Нажмите на Add… и задайте параметры для RADIUS клиента:
- Friendly name: rras (Имя RADIUS клиента на NPS)
- Address (IP or DNS): 192.168.7.13 (IP адрес RRAS сервера)
- Shared secret: 12345Qwert! (Общий секрет с RADIUS клиентом)
После чего нажмите OK и Next.

- Сделайте отмеченным только пункт Extensible Authentication Protocol и выберите из списка Microsoft: Secured password (EAP-MSCHAP v2), после чего нажмите Next.

- Нажмите Add… и выберите пользователей/группу пользователей, которые ранее указывались в MC консоли при настройке на стороне Indeed AM сервера в Области действия, после чего нажмите OK и Next.

- На оставшихся этапах оставьте значения по умолчанию или выполните настройки на Ваше усмотрение. В конце нажмите Finish и перезагрузите NPS сервер.

Настройка на стороне RRAS клиента
На стороне RRAS клиента необходимо создать и сконфигурировать VPN соединение.
- На RRAS клиенте зайдите в настройки Network & Internet во вкладку VPN и нажмите Add a VPN connection.

- Заполните поля и выберите параметры VPN соединения по примеру ниже:
- VPN provider: Windows (built-in)
- Connection name: RRAS (EAP-MSCHAPv2)
- Server name or address: rras2.indeed6.local
- VPN type: IKEv2 (В рамках данной инструкции, на стороне RRAS сервера сконфигурирован тип VPN - IKEv2)
- Type of sign-in info: User name and password
- User name (optional): Admin-indeed
- Password (optional): 12345Qwert!
 Примечание: при необходимости, на локальной машине добавьте в файл hosts (или AAA-запись на DNS сервере) привязку внешнего DNS имени RRAS к его внешнему IP адресу.
- В оснастке Network Connections откройте свойства созданного VPN соединения, перейдите во вкладку Security и проверьте поля Type of VPN: IKEv2 и Authentication: Microsoft: Secured password (EAP-MSCHAP v2) (encryption enabled). После чего нажмите OK.

Проверка подключения
- На RRAS клиенте нажмите Connect на настроенном VPN соединении по MSCHAPv2.

- На устройстве в приложении Indeed Key подтвердите Push - уведомление.

- Успешное подключение. В журнале MC консоли и на NPS сервере в оснастке EventViewer должны появиться соответствующие события.



Настройка аутентификации по PEAP
В данном сценарии пользователь будет входить по персонально выданному сертификату из CA.
Настройка шаблонов сертификатов
Для настройки аутентификации по PEAP понадобятся следующие сертификаты:
- Для NPS сервера.
- Для RRAS сервера.
- Для пользователя, который будет проходить аутентификацию.
Конфигурация шаблонов для выдачи сертификатов будет выполняться на Windows CA сервере в оснастке Certificate Templates Console.
В рамках данной инструкции сертификаты будут распространяться вручную, но если необходимо, то можно настроить их распространение через GPO.
Настройка шаблона для NPS сервера
- В оснастке Certificate Templates Console нажмите правой кнопкой на RAS and IAS Server и в списке выберите Dublicate Template.

- Во вкладке Compatibility в списках выберите Windows Server 2016 и Windows 10 / Windows Server 2016.

- Во вкладке General задайте имя шаблона и при необходимости укажите сроки действия сертификатов.

- Во вкладке Security добавьте NPS сервер/группу NPS серверов из AD и выдайте им разрешения Enroll.

- Во вкладке Request Handling поставьте галочку на пункте Allow private key to be exported. После чего нажмите Apply и OK.

Настройка шаблона для RRAS сервера
- В оснастке Certificate Templates Console нажмите правой кнопкой на RAS and IAS Server и в списке выберите Duplicate Template.

- Во вкладке Compatibility в списках выберите Windows Server 2016 и Windows 10 / Windows Server 2016.

- Во вкладке General задайте имя шаблона и при необходимости укажите сроки действия сертификатов.

- Во вкладке Extensions нажмите на Edit…. В последующих окнах нажмите на Add и выберите IP security IKE intermediate, после чего нажмите OK в текущем и предыдущем окне.

- Во вкладке Security добавьте RRAS сервер/группу RRAS серверов из AD и выдайте им разрешения Enroll.

- Во вкладке Subject Name выберите Supply in the request и в окне с предупреждением нажмите OK.

- Во вкладке Request Handling поставьте галочку на пункте Allow private key to be exported. После чего нажмите Apply и OK.

Настройка шаблона для пользователя
- В оснастке Certificate Templates Console нажмите правой кнопкой на User и в списке выберите Duplicate Template.

- Во вкладке Compatibility в списках выберите Windows Server 2016 и Windows 10 / Windows Server 2016.

- Во вкладке General задайте имя шаблона и при необходимости укажите сроки действия сертификата.

- Во вкладке Cryptography в поле Provider Category выберите из списка Key Storage Provider, ниже выберите Requests must use one of the following providers и поставьте галочку на Microsoft Software Key Storage Provider.

- Во вкладке Security добавьте VPN пользователя/группу VPN пользователей из AD и выдайте им разрешения Enroll и Autoenroll.

- Во вкладке Subject Name уберите галочки с пунктов Include e-mail name in subject name и E-mail name.

- Во вкладке Request Handling поставьте галочку на пункте Allow private key to be exported. После чего нажмите Apply и OK.

Распространение сертификатов
Для распространения сертификатов нужно подготовить шаблоны к их выдаче. Для этого на сервере CA в оснастке certsrv.msc нажмите правой кнопкой на Certificate Templates, из списка выберите New, а затем Certificate Template to Issue. Выберите настроенные ранее шаблоны (NPS Server, RRAS Server, VPN User) и нажмите OK.


Распространение сертификата NPS сервера
- На NPS сервере откройте оснастку certlm.msc. В Personal нажмите правой кнопкой на Certificates, затем на All Tasks и Request New Certificate… .

- Дойдите до этапа выбора шаблона и поставьте галочку на шаблоне сертификата для NPS сервера. После чего нажмите на Enroll.

- После выполненных действий сертификат должен появиться в оснастке certlm.msc по пути Personal -> Certificates.
Распространение сертификата RRAS сервера
- На RRAS сервере откройте оснастку certlm.msc. В Personal нажмите правой кнопкой на Certificates, затем на All Tasks и Request New Certificate… .

- Дойдите до этапа выбора шаблона и поставьте галочку на шаблоне сертификата для RRAS сервера и нажмите на More information is required to enroll for this certificate. Click here to configure settings. .

- В Subject name выберите из списка Common name, в Alternative name выберите из списка DNS. В обоих полях введите полное внешнее DNS имя RRAS сервера, по которому будут подключаться RRAS клиенты, и нажмите на Add >, после чего на Apply, OK и Enroll.


- Если у Вас нет внешнего сертификата, которому RRAS клиент доверял бы по умолчанию, то сертификат изданный на текущем этапе из локального центра сертификации может использоваться на этапе настройки на стороне RRAS сервера. Также для обеспечения доверия нужно предварительно установить корневой сертификат в доверенные центры сертификации на RRAS клиенте.

Распространение сертификата пользователя
Перезагрузите любую машину и зайдите в неё под пользователем, который будет RRAS клиентом. В оснастке certmgr.msc по пути Personal->Certificates должен появиться сертификат текущего пользователя. Если сертификат не появился, то выпустите его вручную в оснастке certmgr.msc по примеру выпуска сертификата для NPS сервера.
В рамках данной инструкции необходимо экспортировать сертификат пользователя с закрытым ключом, поскольку машина с которой будет осуществляться подключение находится во внешней сети.
- Зайдите на любую машину под пользователем, от имени которого будет осуществляться подключение с RRAS клиента, и откройте оснастку certmgr.msc. По пути Personal->Certificates найдите сертификат пользователя.
- Экспортируйте сертификат пользователя с закрытым ключом в формате, выбрав пункт Yes, export the private key.


- На одном из следующих этапов задайте пароль.

- На последующих этапах оставьте все настройки по умолчанию.
- На RRAS клиенте установите экспортированный ранее сертификат в хранилище Current User, в Personal.


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

Настройка на стороне NPS сервера
Настройка политик NPS сервера для работы по EAP-MSCHAPv2 будет осуществляться через мастер конфигурации VPN или Dial-Up в оснастке Network Policy Server.
- В оснастке Network Policy Server нажмите на NPS (Local), после чего на Configure VPN or Dial-Up.

- Выберите Virtual Private Network (VPN) Connections и задайте имя в поле Name, после чего нажмите Next.

- Нажмите на Add… и задайте параметры для RADIUS-клиента:
- Friendly name: rras (Имя RADIUS-клиента на NPS)
- Address (IP or DNS): 192.168.7.13 (IP адрес RRAS сервера)
- Shared secret: 12345Qwert! (Общий секрет с RADIUS клиентом)
После чего нажмите OK и Next

- Сделайте отмеченным только пункт Extensible Authentication Protocol и выберите из списка Microsoft: Protected EAP (PEAP), после чего нажмите Configure… .

- Выберите изданный ранее сертификат для NPS сервера из списка, удалите Secured password (EAP-MSCHAPv2) из поля Eap Types и нажмите Add.

- Выберите Smart Card or other certificate и нажмите OK.

- Нажмите на Smart Card or other certificate, а затем на Edit. В новом окне должен быть указан сертификат для NPS сервера. После чего нажмите OK во всех предыдущих окнах.

- На следующем этапе нажмите Add… и выберите пользователей/группу пользователей, которые ранее указывались в MC консоли при настройке на стороне Indeed AM сервера в Области действия, после чего нажмите OK и Next.

- На оставшихся этапах оставьте значения по умолчанию или выполните настройки на Ваше усмотрение. В конце нажмите Finish и перезагрузите NPS сервер.
Настройка на стороне RRAS клиента
На стороне RRAS клиента необходимо создать и сконфигурировать VPN соединение.
- На RRAS клиенте зайдите в настройки Network & Internet во вкладку VPN и нажмите Add a VPN connection.

- Заполните поля и выберите параметры VPN соединения по примеру ниже:
- VPN provider: Windows (built-in)
- Connection name: RRAS (PEAP)
- Server name or address: rras2.indeed6.local
- VPN type: IKEv2 (В рамках данной инструкции, на стороне RRAS сервера сконфигурирован тип VPN - IKEv2)
 Примечание: при необходимости, на локальной машине добавьте в файл hosts (или AAA-запись на DNS сервере) привязку внешнего DNS имени RRAS к его внешнему IP адресу.
- В оснастке Network Connections откройте свойства созданного VPN соединения, перейдите во вкладку Security, проверьте поле Type of VPN: IKEv2 и выберите из списка Authentication: Microsoft: Protected EAP (PEAP) (encryption enabled). После чего нажмите Properties.

- Укажите в пустом поле внутреннее DNS имя NPS сервера, в Trusted Root Certification Authorities выберите корневой сертификат пользователя, в Notifications before connecting выберите из списка Don’t ask user to authorize new servers or trusted CAs, в Select Authentication Method выберите из списка Smart Card or other certificate и нажмите Configure… .

- В новом окне выберите Use a certificate on this computer, в пустом поле укажите внутреннее DNS имя NPS сервера, в Trusted Root Certification Authorities выберите корневой сертификат пользователя, поставьте галочку на Don’t prompt user to authorize new servers or trusted certification authorities. На всех предыдущих окнах нажмите OK.

Проверка подключения
- На RRAS клиенте нажмите Connect на настроенном VPN соединении по PEAP.

- На устройстве в приложении Indeed Key подтвердите Push - уведомление.

- Успешное подключение. В журнале MC консоли и на NPS сервере в оснастке EventViewer должны появиться соответствующие события.



|