Настройка двухфакторной авторизации через PKI Рутокен

При выборе этого способа после ввода логина и пароля пользователь подтверждает вход электронной подписью на токене Рутокен

В отличие от других методов, PKI использует криптографию ГОСТ. Сервер RuDesktop держит собственный удостоверяющий центр и сам выпускает сертификат на токен пользователя при регистрации

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

На стороне пользователя

  • Подключить Рутокен к USB

  • Установить Рутокен Плагин для браузера (https://www.rutoken.ru/products/all/rutoken-plugin/)

  • Установить драйверы Рутокен для операционной системы

Важно

PKI работает только при подключении к серверу по HTTPS

На стороне сервера

Удостоверяющий центр (УЦ) ГОСТ создаётся автоматически при первом запуске сервера RuDesktop при наличии установленного движка rtengine. Файлы УЦ располагаются в:

/var/lib/rudesktop/ca/gostCA/

Если этой папки нет, движок не установлен — обратитесь к администратору сервера

Важно

Если на сервере был выполнен переход с OpenSSL 1 на OpenSSL 3 и при этом используются ключи PKI, необходимо обновить путь к движку rtengine в конфигурации УЦ. Откройте файл:

/var/lib/rudesktop/ca/gostCA/config.cfg

и замените строку:

dynamic_path = /usr/share/rudesktop/auth_mfa/bin/librtengine.so.1.6.2

на:

dynamic_path = /usr/share/rudesktop/auth_mfa/bin/librtengine.so.3.3.3

Настройка на сервере

Включение двухфакторной авторизации

Способ 1. Только для конкретных пользователей

Глобально 2FA на сервере включать не нужно. Достаточно зарегистрировать PKI-ключ в профиле нужного пользователя:

  1. Открыть профиль пользователя в Организация → Пользователи

  2. Перейти на вкладку Безопасность аккаунта

  3. Нажать кнопку добавления PKI

  4. Подключить Рутокен, ввести PIN. На токене будет создан ключ, сервер выпустит сертификат и сохранит его в профиле пользователя

После этого при входе только у этого пользователя будет запрошен Рутокен. Остальные пользователи войдут без 2FA

Подсказка

К одному пользователю можно зарегистрировать несколько токенов — например, основной и резервный

Способ 2. Для всех пользователей сервера

  1. Перейти в Администрирование → Настройки → Аутентификация

  2. В поле Двухфакторная авторизация выбрать ЭЦП Рутокен (PKI)

  3. Сохранить настройки, нажав Сохранить

После этого PKI станет обязательной для всех пользователей сервера. Пользователи, у которых ещё нет зарегистрированного ключа, при первом входе будут автоматически направлены на регистрацию:

  1. Подключить Рутокен к USB

  2. Пользователь вводит логин и пароль на странице авторизации

  3. Открывается экран «Добавление нового ключа PKI»

  4. Рутокен Плагин запросит PIN-код от токена

  5. После ввода PIN на токене будет создан ключ, сервер выпустит сертификат и сохранит его в профиле пользователя

Важно

Срок действия зарегистрированных ключей задаётся настройкой Срок действия ключей для входаАдминистрирование → Настройки → Аутентификация). По истечении срока пользователю придётся перерегистрировать ключ

Использование

При следующем входе пользователь:

  1. Подключает Рутокен к USB

  2. Вводит логин и пароль

  3. На экране PKI Рутокен Плагин запрашивает PIN-код от токена

  4. После ввода PIN сервер проверяет подпись и пускает пользователя

Аварийное отключение

Если возникают проблемы и пройти двухфакторную авторизацию невозможно, выполните на сервере команду:

rude constance set TWO_FACTOR "off"