Интеграция MFASOFT SAS с PAM для OTP-аутентификации

Для входа в РАМ с помощью второго фактора аутентификации MFA ОТР настройте интеграцию Keycloak BI.ZONE PAM и MFASOFT SAS.

Для подключения Keycloak к MFASOFT SAS используется специальный плагин MFASOFT — агент для Keycloak.

Предварительные условия

Перед тем, как настраивать интеграцию убедитесь, что:

  • версия Keycloak — не ниже 21, в поставке BI.ZONE PAM версия 26;

  • версия плагина MFASOFT — mfasoft_keycloak_v26-1.11.140325.jar или выше.

Шаг 1. Установка плагина в Keycloak

  1. Удалите ранее установленный JAR-файл в каталоге ${kc.home.dir}/providers.

  2. Скопируйте обновленный JAR-файл с агентом.

  3. Выполните сборку с помощью команды ${kc.home.dir}/bin/kc.sh build.

  4. Перезапустите Keycloak с помощью команды systemctl restart keycloak. После обновления все параметры конфигурации останутся прежними.

  5. С помощью Dockerfile выполните:

    FROM nexus.dev1.pam.bi.zone/pam2/auth:26.5.7-1 COPY —chown=1000:0 ./keycloak-realm-* /opt/keycloak/providers COPY —chown=1000:0 ./dist_keycloak/keycloak-theme-for-kc-all-other-versions.jar /opt/keycloak/providers/pam-theme.jar COPY —chown=1000:0 ./mfasoft_keycloak_v26-1.11.140325.jar /opt/keycloak/providers/mfasoft_keycloak_v26-1.11.140325.jar
  6. После успешной установки, проверьте наличие нового аутентификатора:

    1. Откройте Keycloak Admin Console.

    2. В правом верхнем углу нажмите на профиль и выберите Realm info.

    3. Перейдите на вкладку Provider info.

  7. Перезапустите Keycloak и убедитесь, что на вкладке Provider Info в блоке authenticator есть пункт mfasoft-authenticator.

Шаг 2. Настройка подключения Keycloak к MFASOFT SAS

  1. Перейдите к узлу ConfigureAuthentication. В свойствах потока browser выберите Duplicate.

  2. Указать параметры:

    • Name – MFASOFT-OTP PAM,

    • Description – MFASOFT 2FA OTP.

      Нажмите Duplicate.

  3. Откройте созданный поток MFASOFT-OTP PAM и найдите в нем MFASOFT-OTP PAM forms.

  4. Нажмите + и выберите Add execution.

  5. Найдите с помощью поиска MFASOFT, выберите его и нажмите Add.

  6. Откройте настройки элемента MFASOFT и заполните поля согласно таблице ниже.

    Настройка выполняется параллельно вместе с настройкой в панели администрирования MFASOFT. Подробнее — Шаг 3. Настройка подключения MFASOFT SAS к Keycloak.

    Параметр

    Значение

    Описание

    Alias

    MFASOFT-OTP PAM

    Название конфигурации MFASOFT в Keycloak для идентификации настройки аутентификатора. Произвольное значение

    Authenticator Reference

    Ссылка/идентификатор в контексте Keycloak для формирования ссылки на текущий механизм аутентификации

    Не заполняется, если нет дополнительных требований от MFASOFT

    Authenticator Reference Max Age

    Максимальное время актуальности в секундах, после которого нужно повторно запрашивать MFA

    Не заполняется, если нет дополнительных требований от MFASOFT

    URI sas address 1

    Основной URL сервера MFASOFT SAS, для отправки запросов OTP от Keycloak

    URL должен быть без /console, /home и т.д

    URI sas address 2

    Резервный адрес MFASOFT SAS. Заполняется при наличии

    Timeout for the request

    10000

    Таймаут ожидания ответа от MFASOFT SAS при проверке OTP.

    Значение в миллисекундах

    Timeout to restore to first sas

    180

    Таймаут повторного подключения к основному SAS после переключения на резервный.

    Значение в секундах.

    Verify ssl

    Off

    Проверка SSL-сертификата при подключении Keycloak к MFASOFT SAS

    • On — если используется доверенный сертификат

    • Off — если тестовый стенд или самоподписанный сертификат

    Off, если нет дополнительных требований от MFASOFT

    Forward IP to SAS

    Off

    Проброс IP. Используется если сервер находится за NAT.

    Выполнять проброс IP адреса.

    • On — если требуется учитывать IP пользователя

    • Off — если NAT нет

    Off, если нет дополнительных требований от MFASOFT

    GUID Realm SAS

    GUID

    Идентификатор Realm в MFASOFT SAS. Не связан с Realm Keycloak. Используется для привязки запросов к конкретной области пользователей в SAS

    GUID Realm SAS создается в консоли MFASOFT SAS.

    Подробнее — Шаг 3. Настройка подключения MFASOFT SAS к Keycloak

    Enable auto challenge

    Off

    Признак, инициировать ли запрос OTP у MFASOFT после прохождения первого фактора

    • On — MFA запрашивается автоматически

    • Off — ОТР вызывается логикой Keycloak

    Off, если нет дополнительных требований от MFASOFT

    Select type token

    Any

    Ограничение типа используемого токена MFASOFT для enable auto challenge

    Any — любой зарегистрированный токен.

    Либо конкретный тип при необходимости

    Use email instead of login

    Off

    Признак, использовать ли почту вместо логина как идентификатор пользователя для отправки вMFASOFT SAS.

    • On — используется email пользователя

    • Off — используется username Keycloak

    Off, если нет дополнительных требований от MFASOFT

  7. После заполнения всех полей, нажмите Save.

  8. Для элемента потока MFASOFT выберите тип Required.

Шаг 3. Настройка подключения MFASOFT SAS к Keycloak

Настройка выполняется параллельно с настройкой потока в Keycloak в Шаг 2. Настройка подключения Keycloak к MFASOFT SAS.

  1. Войдите в консоль администрирования MFASOFT и перейдите на вкладку Виртуальные серверы.

  2. Откройте созданный сервер аутентификации.

  3. Перейдите на вкладку Настройки и выберите Настройки Keycloak и открыть настройки Keycloak.

  4. Нажмите Добавить и укажите имя узла, например, BI.ZONE PAM. Сохраните узел.

  5. Скопируйте GUID и вставить его в GUID Realm SAS в полях конфигурации MFASOFT плагина.

  6. В настройках виртуального сервера откройте Узлы аутентификации и нажмите Добавить.

  7. Укажите имя узла из настроек в Keycloak и IP-адрес подсети Keycloak.

Шаг 4. Создание пользователя в консоли MFASOFT SAS

  1. В консоли администрирования откройте виртуальный сервер и перейдите на вкладку Пользователи.

  2. Откройте Создание пользователей. Заполните обязательные параметры и нажмите Добавить.

    Почта тестового пользователя должна действующей, она потребуется для активации токена.

  3. Откройте Методы аутентификации и нажмите Выдать.

  4. Выберите Тип токенаПрограммный (ручная активация) и нажмите Выдать токен.

    После удаления тестового пользователя, выданная лицензия вернется

  5. На указанную почту придет сообщение со ссылкой для активации токена. Активируйте токен в приложении-аутентификаторе.

Шаг 5. Создание тестового пользователя в Keycloak

  1. В Keycloak откройте раздел Users и нажмите Create new user.

  2. В форме создания:

    • Email verified — выберите On.

    • Username и Email — укажите аналогично тестовому пользователю из консоли администрирования MFASOFT.

  3. Нажмите Create.

  4. Откройте вкладку Credentials и нажмите Set password.

  5. Задайте пароль пользователя. Для Temporary выберите Off и нажмите Save.

Шаг 6. Проверка второго фактора в Keycloak

  1. Перейдите к узлу ConfigureAuthentication.

  2. В свойствах элемента MFASOFT-OTP PAM выберите Bind flow.

    Eсли не удастся войти по MFASOFT OTP , в свойствах browser flow выберите Bind flow — настройка аутентификации в Keycloak вернется к стандартному входу по первому фактору.

  3. В открывшемся окне нажмите Save.

  4. Скопируйте адрес Keycloak из адресной строки.

  5. Не закрывая текущие вкладки, откройте окно браузера в режиме инкогнито. Вставьте в адресную строку адрес Keycloak.

  6. Введите логин и пароль от учетной записи. Убедитесь, что система запрашивает второй фактор.

  7. Вернитесь в окно с потоком аутентификации. В свойствах элемента browser flow выберите Bind flow — настройка аутентификации в Keycloak вернется к стандартному входу по первому фактору.

Шаг 7. Создание тестового пользователя в РАМ

  1. В РАМ Перейдите в раздел Пользователи и нажмите Создать.

  2. Заполните обязательные поля. Логин и Электронная почта должны быть аналогичны данным тестового пользователя в Keycloak.

  3. Нажмите Создать.

Шаг 8. Настройка подключения для входа в РАМ

  1. В Keycloak откройте раздел Manage и выберите Clients.

  2. На вкладке Clients list найдите и откройте web-site.

  3. Перейдите на вкладку Adwanced.

  4. В блоке Authentication flow overrides для Browser Flow выберите созданный поток MFASOFT-OTP PAM. Сохраните изменения.

Чтобы отключить второй фактор при входе в РАМ, в Browser Flow выберите flow Choose — настройки аутентификации в РАМ вернется к стандартному входу по первому фактору.

Шаг 9. Проверка входа в РАМ и аудит в консоли MFASOFT

  1. Откройте страницу аутентификации в PAM.

  2. Введите логин и пароль от тестовой учетной записи. Убедитесь, что система запрашивает второй фактор.

  3. В консоли MFASOFT SAS перейдите на вкладку Виртуальные серверы → Аудит.

  4. Проверьте события успешной и неуспешной аутентификации в РАМ.

Настройка аутентификации с использованием второго фактора в PAM выполнена.