- Начало работы
- Интеграция
- HTTP API
- OpenID Connect
- RADIUS протокол
- RADIUS адаптер
- LDAP адаптер
- Портал самообслуживания
- Windows Logon
- MacOS logon
- Регистрация пользователей
- .NET Core
- 1с-Bitrix24
- 1с-плагин двухфакторной аутентификации
- ADFS
- ASP.NET
- Ansible AWX
- Atlassian Cloud
- BearPass
- Check Point VPN
- Cisco ASA VPN
- Citrix Gateway
- FortiGate VPN
- HRBOX
- Huawei Cloud
- Huawei VPN
- Ideco UTM
- Keycloak
- Let's Encrypt Windows Server
- Linux logon (GUI)
- Linux SSH
- Linux SUDO
- MikroTik L2TP VPN
- NGate VPN
- Network Policy Server (NPS)
- Nextcloud
- OpenVPN
- OpenVPN + AD
- OpenVPN Access Server
- OpenVPN pfSense
- Outlook Web Access (OWA)
- Passwork
- RD Gateway (RDGW)
- Redmine
- UserGate VPN
- VMware Horizon Cloud
- VMware Horizon View
- VMware vCloud Director
- VMware vSphere
- Vault
- ViPNET
- Windows VPN
- Yandex.Cloud
- Zabbix
- АйТи-Бастион
- Континент 4 VPN
- МТС Линк (бывш. webinar.ru)
- С-Терра VPN
- Точка доступа Wi-Fi
- ФПСУ-IP/Клиент
Портал для пользователей Active Directory
MULTIFACTOR SelfService Portal — веб-сайт, портал самообслуживания для пользователей Active Directory, единая точка входа (Single Sign-On) для корпоративных приложений по протоколам аутентификации SAML, OpenID Connect / OAuth.
Портал доступен вместе с исходным кодом, распространяется бесплатно по лицензии MIT. Актуальная версия находится на GitHub: код и сборка (архив MultiFactor.SelfService.Windows.Portal.zip).
Перед началом работы
- Зайдите в личный кабинет MULTIFACTOR, далее в разделе "Ресурсы" создайте новый ресурс типа "Сайт" - "Self-Service портал":
- название и адрес: произвольные;
- регистрировать новых пользователей: да;
- при подключении без настроенного второго фактора: включить самостоятельную настройку;
- После создания вам будут доступны параметры API Key и API Secret, они потребуются для настройки портала.
Требования для установки портала
- Портал устанавливается на любой Windows сервер начиная с версии 2012 R2;
- Сервер должен быть присоединен к домену;
- Серверу с установленным порталом необходим доступ к хосту api.multifactor.ru по TCP порту 443 (TLS).
- На сервере должна быть установлена роль Web Server (IIS) с компонентом Application Development -> ASP.NET 4.6 (или выше);
Параметры портала
Параметры работы портала хранятся в файле Web.config
в формате XML.
<portalSettings>
<!-- Название вашей организации -->
<add key="company-name" value="ACME" />
<!-- URL адрес логотипа организации -->
<add key="company-logo-url" value="/mfa/content/images/logo.svg" />
<!-- Название домена Active Directory для проверки логина и пароля пользователей -->
<add key="company-domain" value="domain.local" />
<!-- [Опционально] Запрашивать второй фактор только у пользователей из указанной группы для Single Sign On. Второй фактор требуется всем, если удалить настройку. -->
<!-- <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"/> -->
<!-- Адрес API MULTIFACTOR -->
<add key="multifactor-api-url" value="https://api.multifactor.ru" />
<!-- Параметр API KEY из личного кабинета MULTIFACTOR -->
<add key="multifactor-api-key" value="" />
<!-- Параметр API Secret из личного кабинета MULTIFACTOR -->
<add key="multifactor-api-secret" value="" />
<!-- [Опционально] Доступ к API MULTIFACTOR через HTTP прокси -->
<!-- <add key="multifactor-api-proxy" value="http://login:password@proxy:3128"/> -->
<!-- Уровень логирования: 'Debug', 'Info', 'Warn', 'Error' -->
<add key="logging-level" value="Info" />
<!-- Запись журнала в формате json -->
<!-- <add key="logging-format" value="json"/> -->
<!-- Передавать userPrincipalName (UPN) в качестве логина пользователя в MULTIFACTOR -->
<!-- <add key="use-upn-as-identity" value="true"/> -->
<!-- [Опционально] Включить управление устройствами ActiveSync (см. раздел "Управление устройствами Exchange ActiveSync") -->
<!-- <add key="enable-exchange-active-sync-devices-management" value="true"/> -->
<!-- [Опционально] Новым пользователям при регистрации будут назначены эти группы из личного кабинета MULTIFACTOR -->
<!-- <add key="sign-up-groups" value="Группа1;группа два;group3"/> -->
</portalSettings>
При включении параметра use-active-directory-user-phone
компонент будет использовать телефон, записанный на вкладке General. Формат телефона может быть любым.
При включении параметра use-active-directory-mobile-user-phone
компонент будет использовать телефон, записанный на вкладке Telephones в поле Mobile. Формат телефона также может быть любым.
Проверка Captcha
Для защиты от автоматизированного перебора паролей от учётных записей на странице входа в портале предусмотрена возможность проверки пользователя с помощью теста Captcha. В качестве провайдеров сервиса Captcha поддерживаются Yandex SmartCaptcha и Google reCAPTCHA.
<!-- Enable captcha validation -->
<add key="enable-captcha" value="false" />
<!-- Google/Yandex switch -->
<add key="captcha-type" value="Google" />
<!-- Site Key from a captcha management panel -->
<add key="captcha-key" value="key" />
<!-- Secret Key from a captcha management panel -->
<add key="captcha-secret" value="secret" />
Управление паролями
Портал самообслуживания позволяет пользователям управлять своими доменными паролями: менять текущий пароль, менять истекший пароль, восстанавливать забытый пароль.
Для настройки используются следующие параметры:
<!-- Управление паролями на портале. true: включить (по умолчанию), false: выключить -->
<add key="enable-password-management" value="true"/>
<!-- Максимальная длительность сессии изменения пароля в формате 'hh:mm:ss' -->
<!-- <add key="pwd-changing-session-lifetime" value="00:02:30"> -->
<!-- Размер хранилища сессий в байтах -->
<!-- <add key="pwd-changing-session-cache-size" value="5242880"> -->
Восстановление забытых паролей
Функционал восстановления забытых паролей позволяет пользователям из Active Directory самостоятельно (без вовлечения технической поддержки организации) менять забытые и утерянные пароли.
Условия для работы:
- У пользователя должно быть настроено мобильное приложение Multifactor в качестве способа аутентификации;
- На портале должна быть включена возможность управления паролями;
- На портале должна быть включена проверка Captcha;
Для настройки используется следующий параметр:
<!-- Восстановление забытых паролей. true: включить, false: выключить (по умолчанию) -->
<add key="enable-password-recovery" value="true" />
Установка портала
- Загрузите и сохраните сборку портала на вашем сервере;
- Запустите Server Manager -> Tools -> Internet Information Services (IIS) Manager;
- Нажмите правой кнопкой на Default Web Site и выберите Add Application;
- Создайте новое приложение:
- Alias: mfa
- Physical path: путь к папке со сборкой портала (из п.1)
- Сохраните и закройте;
- Зайдите в Default Web Site -> mfa -> Authentication;
- Убедитесь, что способы аутентификации Anonymous Authentication и Forms Authentication включены (имеют статус Enabled). Если выключены, нажмите на них правой кнопкой и выберите Enable. Если Forms Authentication отсутствует в списке, убедитесь, что компонент ASP.NET 4.6 или выше установлен на сервере (см. Требования для установки портала).
Обновление портала
- Сделать резервную копию файла конфигурации Web.config в папке с порталом;
- Удалить содержимое папки с порталом;
- Скачать свежую сборку (или собрать из исходного кода), распаковать в папку с порталом;
- Перенести в Web.config пользовательские параметры из резервной копии файла конфигурации (разделы
<portalSettings>
и<ActiveDirectory>
, если был указан).
Журналы
Журналы работы портала находятся в папке Logs
в директории со сборкой портала. Если папки Logs
нет, создайте её и удостоверьтесь, что она доступна для записи локальному пользователю IIS AppPool\DefaultAppPool
.
Syslog
Для записи журналов в Syslog сервер или SIEM систему, добавьте в раздел конфигурации <portalSettings>
следующие параметры:
<!-- Адрес и порт сервера, протокол может быть udp или tcp -->
<add key="syslog-server" value="udp://syslog-server:514"/>
<!-- Формат журнала: RFC3164 или RFC5424 -->
<add key="syslog-format" value="RFC5424"/>
<!-- Категория: User, Auth, Auth2, Local0 .. Local7 -->
<add key="syslog-facility" value="Auth"/>
<!-- Название приложения (tag) -->
<add key="syslog-app-name" value="multifactor-portal"/>
Если syslog передаёт искаженные символы, нужно поменять следующую настройку на false (по умолчанию true):
<add key="syslog-use-tls" value="false" />
Работа с несколькими доменами
Портал при запуске находит все доверенные домены и может проводить аутентификацию пользователя в любом из них. Вы можете отдельно настроить список разрешенных или список запрещенных доменов. Для этого в раздел <configuration>
добавьте следующие строки после закрывающего тэга </portalSettings>
:
<ActiveDirectory requiresUserPrincipalName="true">
<!-- Ограничить домены списком ниже /-->
<IncludedDomains>
<add name="dom1.loc"/>
<add name="dom2.loc"/>
</IncludedDomains>
<!-- Или все домены, кроме перечисленных ниже /-->
<ExcludedDomains>
<add name="dom3.loc"/>
<add name="dom4.loc"/>
</ExcludedDomains>
</ActiveDirectory>
Настройка шаблона syslog
<add key="syslog-template" value="your_template" />
Пример шаблона системного журнала:
[{Timestamp:MMM dd HH:mm:ss}] {Level:u3} {Message:lj} <s:{SourceContext}>{NewLine}{Exception}
Второй фактор перед первым
Если эта опция включена, портал сначала запросит второй фактор и только после успешного подтверждения проверит учётные данные.
<add key="pre-authentication-method" value="true"/>
Использование
Портал доступен по адресу https://ваш_домен.ru/mfa
Управление устройствами Exchange ActiveSync
В Exchange сервере предусмотрен механизм карантина ActiveSync устройств. Сразу же после подключения мобильной почты, устройств попадает в карантин и может быть одобрено или отклонено для использования администратором Exchange сервера. До одобрения мобильная почта не работает, а единственное письмо, которое придёт на устройство в карантине — это информация, что устройство ожидает подтверждения администратором.
Портал самообслуживания предлагает возможность пользователю после прохождения второго фактора самостоятельно управлять устройствами для своего почтового ящика: включать и выключать доступ.
Управление ActiveSync на портале по умолчанию выключено. Для включения, выполните настройки ниже.
Настройка Exchange
- Зайдите в центр администрирования Exchange, раздел "Мобильные устройства", нажмите "Изменить".
- Включите карантин
- В шаблон письма для пользователя вставьте сообщение и ссылку на портал.
Настройка портала
- Добавьте в конфигурацию ключ
<add key="enable-exchange-active-sync-devices-management" value="true"/>
- Разрешите порталу работать с Exchange:
- Создайте в AD служебную учетную запись, поместите ее в группу Exchange Trusted Subsystem.
- Настройте разрешения для учетной записи на чтение папки с сайтом и записи в папку Logs.
- Настройте работу сайта от имени этой учётной записи:
- Откройте IIS
- В разделе Application Pools выберите DefaultAppPool и откройте Advanced Settings
- В разделе Identity укажите созданную учётную запись
- Перезагрузите IIS (iisreset)
Вопросы и ответы
В: Где прописывается сервисная учётная запись для подключения к Active Directory?
О: Для проверки логина и пароля сервисная учётная запись не используется, портал подключается к AD от имени пользователя, который запрашивает аутентификацию. Смена пароля и управление Exchange ActiveSync устройствами осуществляется от имени пользователя, под которым сайт запущен в IIS.
В: Как отключить возможность менять доменный пароль на портале?
О: Возможность изменения пароля отключается следующей настройкой:
<add key="enable-password-management" value="false"/>
В: Второй фактор при входе на портал запрашивается у всех пользователей. Как включить условный запрос второго фактора на базе членства пользователей в группе AD?
О: В целях безопасности подтверждение второго фактора при входе на портал в режиме самообслуживания требуется для всех пользователей. Задать исключения можно на уровне групповой политики в панели управления MULTIFACTOR.
Запрашивать второй фактор только у пользователей из указанной группы AD можно в режиме единого входа (SSO) с помощью следующей настройки:
<add key="active-directory-2fa-group" value="2FA Users"/>
В: Какие командлеты PowerShell использует портал для работы с устройствами Exchange ActiveSync?
О: Работа идёт напрямую с Active Directory, без командлетов.
Пользователю, под которым запущен сайт в IIS необходимы права на чтение и запись следующих LDAP атрибутов в контейнере пользователей:
На чтение:
- Объекты User
distinguishedName
- Объекты msExchActiveSyncDevice
msExchDeviceID
msExchDeviceFriendlyName
msExchDeviceModel
msExchDeviceType
whenCreated
msExchDeviceAccessState
msExchDeviceAccessStateReason
objectClass
На запись:
- Объекты User
msExchMobileAllowedDeviceIDs
msExchMobileBlockedDeviceIDs
- Объекты msExchActiveSyncDevice
msExchDeviceAccessState
msExchDeviceAccessStateReason
В: Как добавить проверку CAPTCHA на странице входа в портал?
О: Поддерживается Google reCAPTCHA v2. Для включения получите параметры Site Key и Secret Key в панели управления reCAPTCHA и задайте следующие настройки в конфигурации портала:
<!-- Включить проверку CAPTCHA на форме входа -->
<add key="enable-google-re-captcha" value="true"/>
<!-- Параметр Site Key из личного кабинета https://www.google.com/recaptcha/admin -->
<add key="google-re-captcha-key" value="site key"/>
<!-- Параметр Secret Key из личного кабинета https://www.google.com/recaptcha/admin -->
<add key="google-re-captcha-secret" value="secret"/>
В: Как в качестве логина пользователя передавать UPN в MULTIFACTOR?
О: По умолчанию, логин пользователя передается в MULTIFACTOR в формате, в котором его вводит пользователь на странице логина.
Можно задать требование ввода логина пользователем в формате UPN с помощью следующей настройки (см. Работа с несколькими доменами):
<ActiveDirectory requiresUserPrincipalName="true">
</ActiveDirectory>
Альтернативно, можно разрешить ввод логина пользователем в любом формате, но включить преобразование логина в UserPrincipalName (UPN) при отправке запроса доступа в MULTIFACTOR с помощью следующей настройки:
<add key="use-upn-as-identity" value="true"/>
В: Как исправить ошибку "Не удается прочитать файл конфигурации из-за недостаточных разрешений"?
О: Дать разрешения группе IIS_IUSRS
Смотрите также:
- Двухфакторная аутентификация Windows VPN со службой Routing and Remote Access Service (RRAS)
- Двухфакторная аутентификация Microsoft Remote Desktop Gateway