Мультифактор

Мультифактор

  • Демо
  • Теория
  • Практика
  • Вход

›RADIUS адаптер

Введение

  • Общая информация
  • Возможности
  • Способы аутентификации

Подключение

  • Начало работы
  • Интеграция
  • HTTP API

    • Общие сведения
    • Запросы доступа
    • Управление пользователями
  • RADIUS протокол
  • RADIUS адаптер

    • Общие сведения
    • Windows
    • Linux
  • Self-Service портал

О сервисе

  • Оферта
  • Политика конфиденциальности
  • Инфраструктура
  • Оплата и возврат
  • О компании

База знаний

  • Вопросы и ответы
  • Интеграция для .NET Core
  • Интеграция для ASP.NET
  • Настройка OpenVPN
  • Настройка OpenVPN + AD
  • Настройка OpenVPN Access Server
  • Настройка Cisco ASA VPN
  • Настройка Check Point VPN
  • Настройка FortiGate VPN
  • Настройка Windows VPN
  • Настройка Windows RDP
  • Настройка Network Policy Server
  • Настройка Outlook Web Access
  • Let's Encrypt Windows Server
  • Настройка Linux SSH
  • Настройка Linux SUDO
  • Настройка VMware vCloud Director
  • Настройка VMware Horizon View
  • Настройка VMware Horizon Cloud
  • Настройка Citrix Gateway
  • Настройка Huawei Cloud
  • Настройка Yandex.Cloud
  • Восстановление доступа

Помощь

  • Настройка аутентификации
  • Аутентификация
  • Личный кабинет

Radius server для Linux

MultiFactor Radius Adapter — программный компонент, RADIUS сервер для Linux.

Компонент доступен вместе с исходным кодом, распространяется бесплатно. Актуальная версия находится на GitHub: код и сборка.

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

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

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

Установка

Установка библиотек

Компонент использует среду выполнения ASP.NET Core runtime версии 3.1, которая является бесплатной, открытой, разрабатывается компанией Microsoft и Open-Source сообществом. Среда выполнения не накладывает никаких ограничений на использование.

Для установки выполнените команды:

CentOS 7
CentOS 8
Ubuntu 18.04
Debian 10
Astra Linux Orel
$ sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
$ sudo yum install aspnetcore-runtime-3.1

https://docs.microsoft.com/ru-ru/dotnet/core/install/linux-centos

$ sudo dnf install aspnetcore-runtime-3.1

https://docs.microsoft.com/ru-ru/dotnet/core/install/linux-centos

$ wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb

$
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-3.1

https://docs.microsoft.com/ru-ru/dotnet/core/install/linux-ubuntu

$ wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb

$
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-3.1

https://docs.microsoft.com/ru-ru/dotnet/core/install/linux-debian

$ sudo apt install ca-certificates

$
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
$ sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
$ wget -q https://packages.microsoft.com/config/debian/9/prod.list
$ sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
$ sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
$ sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list

$
echo deb https://download.astralinux.ru/astra/current/orel/repository/ orel non-free main contrib | sudo tee -a /etc/apt/sources.list

$
sudo apt update
$ sudo apt install dotnet-sdk-3.1

https://wiki.astralinux.ru/pages/viewpage.action?pageId=41192241

Установка компонента

Создайте папку, скачайте и распакуйте актуальную версию компонента из GitHub:

$ sudo mkdir /opt/multifactor /opt/multifactor/radius /opt/multifactor/radius/logs
$ VER=1.0.16
$ sudo wget https://github.com/MultifactorLab/multifactor-radius-adapter/releases/download/${VER}/release_linux_x64.zip
$ sudo unzip release_linux_x64.zip -d /opt/multifactor/radius

Создайте системного пользователя mfa и дайте ему права на приложение:

$ sudo useradd -r mfa
$ sudo chown -R mfa: /opt/multifactor/radius/
$ sudo chmod -R 700 /opt/multifactor/radius/

Создайте службу

$ sudo vi /etc/systemd/system/multifactor-radius.service
[Unit]
Description=Multifactor Radius Adapter

[Service]
WorkingDirectory=/opt/multifactor/radius/
ExecStart=/usr/bin/dotnet /opt/multifactor/radius/multifactor-radius-adapter.dll
Restart=always
# Restart service after 10 seconds if the service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=multifactor-radius
User=mfa
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
 
# How many seconds to wait for the app to shut down after it receives the initial interrupt signal. 
# If the app doesn't shut down in this period, SIGKILL is issued to terminate the app. 
# The default timeout for most distributions is 90 seconds.
TimeoutStopSec=30

[Install]
WantedBy=multi-user.target

Включите автозапуск:

$ sudo systemctl enable multifactor-radius

Параметры компонента

Параметры работы компонента хранятся в файле /opt/multifactor/radius/multifactor-radius-adapter.dll.config в формате XML.

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

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

<!--Разрешать доступ только пользователям из указанной группы (не проверяется, если удалить настройку)-->
<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>

Запуск

После настройки конфигурации запустите компонент:

$ sudo systemctl start multifactor-radius

Статус можно проверить командой:

$ sudo systemctl status multifactor-radius

Журналы

Журналы работы компонента находятся в папке /opt/multifactor/radius/logs, а также в системном журнале.

Дополнительная информация про Active Directory

  • Linux версия адаптера пока не умеет работать с несколькими доменами, между которыми установлено доверие.
  • Для работы с Active Directory используется простая проверка подлинности пароля пользователя. Настоятельно рекомендуем использовать схему LDAPS для шифрования трафика между адаптером и доменом (на сервере AD дожен быть установлен сертификат, в т.ч. самоподписанный).
Last updated on 2020-12-14
← WindowsSelf-Service портал →
  • Требования для установки компонента
  • Установка
    • Установка библиотек
    • Установка компонента
  • Параметры компонента
    • Общие параметры
    • Параметры подключения к Active Directory
    • Параметры подключения к внешнему RADIUS серверу
    • Дополнительные RADIUS атрибуты
  • Запуск
  • Журналы
  • Дополнительная информация про Active Directory
Мультифактор
Юридическая информация
ОфертаПолитика конфиденциальностиОплата и возврат
Компания
История созданияМиссияНекоторые сотрудникиКонтакты и реквизиты
Связаться с нами
+7 499 444 08 82sales@multifactor.rusupport@multifactor.ruTelegramFacebook
© 2020 Мультифактор