- Начало работы
- Интеграция
- 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)
- WordPress
- С-Терра VPN
- Точка доступа Wi-Fi
- ФПСУ-IP/Клиент
Настройка двухфакторной аутентификации Keycloak
Общая информация
В статье описывается настройка Keycloak для доступа к корпоративным приложениям.
Возможные способы аутентификации:
Мобильное приложение Multifactor
Telegram
СМС
Биометрия
Аппаратные OTP токены
Приложения OTP: Google Authenticator или Яндекс.Ключ
Схема работы
- Пользователь открывает корпоративное приложение;
- Keycloak запрашивает логин первый фактор аутентификации: логин и пароль, проверяет корректность указанных данных и, если данные верны, переходит ко второму этапу аутентификации;
- На втором этапе открывается окно проверки второго фактора MULTIFACTOR, в котором пользователю предлагается подтвердить доступ;
- Пользователь подтверждает второй фактор доступа и переходит к работе с приложением.
Для настройки второго фактора аутентификации вам потребуется установить и настроить на сервере Keycloak компонент multifactor-keycloak-plugin. Компонент разработан и поддерживается компанией MULTIFACTOR, распространяется бесплатно вместе с исходным кодом. Актуальная версия находится на GitHub: код и сборка.
Лицензия
Обратите внимание на лицензию. Она не дает вам право вносить изменения в исходный код Компонента и создавать производные продукты на его основе. Исходный код предоставляется в ознакомительных целях.
Требования для установки
Компоненту необходим доступ к хосту api.multifactor.ru по TCP порту 443 (TLS) напрямую или через HTTP прокси;
Настройка MULTIFACTOR
В системе управления MULTIFACTOR добавьте новый ресурс «Веб-сайт», после чего Вам будут доступны ключи API Key и API Secret. Используйте формат токена доступа JwtHS256.
Установка Keycloak plugin
Загрузите файл сборки на сервер Keycloak и поместите в каталог /providers
$ cp <keycloack dir>/target/keycloak-multifactor-spi-jar-with-dependencies.jar <keycloack dir>/providers
В терминале откройте каталог keycloak-26.0.1
В Linux введите следующую команду:
# bin/kc.sh start-dev
В Windows введите следующую команду:
# bin\kc.bat start-dev
В дальнейшем для запуска в производственном режиме выполните следующую команду:
# bin/kc.[sh|bat] start
Настройка Keycloak
- Внесите изменения keycloak.version в pom.xml в соответствии с вашей конкретной версией Keycloak (в настоящее время используется версия 26.0.1), затем соберите компонент:
$ mvn clean install
- В разделе Realm Settings -> Security Defenses -> Content-Security-Policy добавьте MULTIFACTOR в качестве надежного источника:
frame-src https://*.multifactor.ru/ 'self';
- В разделе Authentication -> Flow выберите Browser и выполните Action -> Duplicate (Скопировать) для создания копии потока;
Выберите Copy of browser и добавьте новый шаг:
- Нажмите Add step.
- Выберите Copy of browser forms.
- В добавленных шагах выберите **Multifactor из списка и добавьте его после Username Password Form.
В столбце Requirement для шага Multifactor выберите REQUIRED (Обязательный).
- Перейдите в Настройки для «Multifactor» и введите следующие значения:
- API key: значение из ранее созданного ресурса;
- API secret: значение из ранее созданного ресурса;
- API URL: https://api.multifactor.ru
- Создание групп для пользователей и администраторов Перейдите в Groups и создайте две группы:
- Admins — для администраторов, которым 2FA не требуется.
- Users — для обычных пользователей, для которых будет использоваться 2FA.
ерейдите в раздел Users и добавьте каждого пользователя в соответствующую группу:
- Пользователей, которым требуется 2FA, добавьте в Users;
- Администраторов добавьте в Admins.
- Привязка потока аутентификации Перейдите в настройки клиента в Authentication и выберите Copy of browser для Browser Flow.
Также можно установить новый поток глобально: В разделе Authentication → Flows выберите Copy of browser и нажмите Action → Bind flow.
- Результат
- Обычные пользователи в группе RegularUsers будут обязаны проходить 2FA через MultiFactor при входе.
- Администраторы в группе Admins смогут входить без 2FA. Эта настройка позволяет использовать 2FA выборочно только для обычных пользователей, оставляя администраторам возможность входа без дополнительной аутентификации.
Смотрите также
- https://www.keycloak.org/getting-started/getting-started-zip
- https://www.keycloak.org/server/configuration