Skip to content

Latest commit

 

History

History
180 lines (130 loc) · 13.5 KB

README.ru.md

File metadata and controls

180 lines (130 loc) · 13.5 KB

Статус сборки Лицензия

MultiFactor.Radius.Adapter

Also available in other languages: English

MultiFactor Radius Adapter — программный компонент, RADIUS сервер для Windows. Позволяет быстро подключить мультифакторную аутентификацию по протоколу RADIUS к вашим VPN, VDI, RDP и другим ресурсам.

Компонент является частью гибридного 2FA решения сервиса MultiFactor.

Дополнительные инструкции по интеграции 2FA через RADIUS в вашу инфраструктуру см. в документации по адресу https://multifactor.pro/docs/radius-adapter/windows/.

Linux-версия компонента также доступна в linux-репозитории.

Содержание

Общие сведения

Что такое RADIUS?

Remote Authentication Dial-In User Service (RADIUS) — сетевой протокол для удаленной аутентификации пользователей в единой базе данных доступа.

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

Функции компонента

Ключевые функции:

  1. Прием запросов на аутентификацию по протоколу RADIUS;
  2. Проверка первого фактора аутентификации — логина и пароля пользователя в Active Directory или Network Policy Server;
  3. Проверка второго фактора аутентификации на дополнительном устройстве пользователя (обычно, телефон).

Дополнительные возможности:

  • регистрация второго фактора непосредственно в VPN/VDI клиенте при первом подключении;
  • настройка доступа на основе принадлежности пользователя к группе в Active Directory;
  • избирательное включение второго фактора на основе принадлежности пользователя к группе в Active Directory;
  • использование телефона пользователя из профиля Active Directory для отправки одноразового кода через СМС;
  • настройка атрибутов ответа RADIUS на основе принадлежности пользователя к группе Active Directory;
  • проксирование запросов и ответов Network Policy Server;
  • запись журналов в Syslog сервер или SIEM систему.

Требования для установки компонента

  • Компонент устанавливается на любой Windows сервер начиная с версии 2012 R2;
  • Минимальные требования для сервера: 2 CPU, 4 GB RAM, 40 GB HDD (обеспечивают работу ОС и адаптера для 100 одновременных подключений — примерно 1500 пользователей);
  • На сервере должен быть открыт порт 1812 (UDP) для приема запросов от Radius клиентов;
  • Серверу с установленным компонентом необходим доступ к хосту api.multifactor.ru по TCP порту 443 (TLS) напрямую или через HTTP proxy;
  • Для взаимодействия с Active Directory, компоненту нужен доступ к серверу домена по TCP порту 389;
  • Для взаимодействия с Network Policy Server, компоненту нужен доступ к NPS по UDP порту 1812.

Конфигурация

Параметры работы компонента хранятся в файле MultiFactor.Radius.Adapter.exe.config в формате XML.

Общие параметры

<!-- Адрес и порт (UDP) по которому адаптер будет принимать запросы на аутентификацию от клиентов -->
<!-- Если указать адрес 0.0.0.0, то адаптер будет слушать все сетевые интерфейсы-->
<add key="adapter-server-endpoint" value="192.168.0.1:1812"/>

<!-- Shared secret для аутентификации RADIUS клиентов -->
<add key="radius-shared-secret" value=""/>

<!--Где проверять первый фактор: ActiveDirectory или RADIUS или None (не проверять) -->
<add key="first-factor-authentication-source" value="ActiveDirectory"/>

<!--Адрес API Мультифактора -->
<add key="multifactor-api-url" value="https://api.multifactor.ru"/>
<!-- Параметр NAS-Identifier для подключения к API Мультифактора - из личного кабинета -->
<add key="multifactor-nas-identifier" value=""/>
<!-- Параметр Shared Secret для подключения к API Мультифактора - из личного кабинета -->
<add key="multifactor-shared-secret" value=""/>

<!--Доступ к API Мультифактора через HTTP прокси (опционально)-->
<!--add key="multifactor-api-proxy" value="http://proxy:3128"/-->

<!-- Уровень логирования: 'Debug', 'Info', 'Warn', 'Error' -->
<add key="logging-level" value="Debug"/>

Параметры подключения к Active Directory

Для проверки первого фактора в домене применимы следующие параметры:

<!--Домен-->
<add key="active-directory-domain" value="domain.local"/>

<!--Разрешать доступ только пользователям из указанной группы (не проверяется, если удалить настройку)-->
<add key="active-directory-group" value="VPN Users"/>
<!--Запрашивать второй фактор только у пользователей из указанной группы (второй фактор требуется всем, если удалить настройку)-->
<add key="active-directory-2fa-group" value="2FA Users"/>
<!--Использовать номер телефона из Active Directory для отправки одноразового кода в СМС (не используется, если удалить настройку)-->
<!--add key="use-active-directory-user-phone" value="true"/-->
<!--add key="use-active-directory-mobile-user-phone" value="true"/-->

При включении параметра use-active-directory-user-phone компонент будет использовать телефон, записанный на вкладке General. Формат телефона может быть любым.

При включении параметра use-active-directory-mobile-user-phone компонент будет использовать телефон, записанный на вкладке Telephones в поле Mobile. Формат телефона также может быть любым.

Параметры подключения к внешнему RADIUS серверу

Для проверки первого фактора в RADIUS, например, в Network Policy Server применимы следующие параметры:

<!--Адрес (UDP) с которого адаптер будет подключаться к серверу -->
<add key="adapter-client-endpoint" value="192.168.0.1"/>
<!--Адрес и порт (UDP) сервера -->
<add key="nps-server-endpoint" value="192.168.0.10:1812"/>

Дополнительные RADIUS атрибуты

Можно указать, какие атрибуты будет передавать компонент при успешной аутентификации, в том числе с проверкой вхождения пользователя в группу безопасности

<RadiusReply>
    <Attributes>
        <!--Это пример, можно использовать любые атрибуты-->
        <add name="Class" value="Super" />
        <add name="Fortinet-Group-Name" value="Users" when="UserGroup=VPN Users"/>
        <add name="Fortinet-Group-Name" value="Admins" when="UserGroup=VPN Admins"/>
    </Attributes>
</RadiusReply>

Запуск компонента

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

Для установки в качестве Windows Service выполните команду с ключом /i от имени Администратора

MultiFactor.Radius.Adapter.exe /i

Компонент устанавливается в режиме автоматического запуска от имени Network Service.

Для удаления Windows Service выполните команду с ключом /u от имени Администратора

MultiFactor.Radius.Adapter.exe /u

Журналы

Журналы работы компонента находятся в папке Logs. Если их нет, удостоверьтесь, что папка доступна для записи пользователю Network Service.

Сценарии использования

С помощью компонента можно реализовать следующие сценарии:

и многие другие...

Лицензия

Обратите внимание на лицензию. Она не дает вам право вносить изменения в исходный код Компонента и создавать производные продукты на его основе. Исходный код предоставляется в ознакомительных целях.