Radius сервер для Windows
MultiFactor Radius Adapter — программный компонент, RADIUS сервер для Windows.
Компонент доступен вместе с исходным кодом, распространяется бесплатно. Актуальная версия находится на GitHub: код и сборка.
Обратите внимание на лицензию. Она не дает вам право вносить изменения в исходный код Компонента и создавать производные продукты на его основе. Исходный код предоставляется в ознакомительных целях.
Требования для установки компонента
- Компонент устанавливается на любой 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
.