Avanpost FAM/MFA+ : 5.4.7. Настройка метода ЭП/сертификат

Общие сведения 

ЭП/сертификат – один из методов 2FA/MFA аутентификации в веб-приложениях, интегрированных с системой Avanpost FAM, при помощи криптографического сертификата или электронной подписи (ЭП). 

Системные требования:

  • Сервер Avanpost FAM 1.3.0 или выше;
  • КриптоПро CSP: 
    - для установки на сервер Avanpost FAM: 5.0 и выше;
    - для установки на клиентское устройство: 4.0 и выше.

Схема компонентов Решения при выполнении аутентификации в Avanpost FAM (или веб-приложении, интегрированном с Системой) по ЭП/сертификату

Настройка фактора ЭП/Сертификат

Настройка фактора проводится в результате последовательности действий, осуществляемых как на стороне Avanpost FAM Server, так и на рабочей машине конечного пользователя:

  1. Установка криптопровайдера на Avanpost FAM Server.
  2. Установка криптопровайдера на рабочую машину пользователя.
  3. Установка плагина КриптоПро ЭЦП Browser plug-in в браузер на рабочей машине пользователя.
  4. Получение тестового сертификата тестового удостоверяющего центра КриптоПро.
  5. Добавление удостоверяющего центра КриптоПро в список доверенных.
  6. Прикрепление сертификата к учетной записи пользователя.
  7. Настройка фактора Certificate на стороне Avanpost FAM Server.
  8. Активация  и привязка метода аутентификации фактора ЭП/Сертификат. 
  9. Проверка правильности настройки метода.

Этап 1. Установка криптопровайдера (КриптоПро CSP) на сервер Avanpost FAM

Перед установкой КриптоПро CSP на сервер Avanpost FAM необходимо:

  1. Перейти на официальный сайт КриптоПРО в раздел загрузки дистрибутивов КриптоПро CSP по ссылке и загрузить сертифицированную версию КриптоПРО CSP (выбор версии зависит от архитектуры ОС).
  2. Распаковать и установить КриптоПРО CSP (совместно с КриптоПро поставляются утилиты, необходимые для генерации сертификатов и создания подписей).

    Установка КриптоПРО CSP в ОС семейства Debian (Ubuntu Server, Astra Linux) осуществлять при помощи консоли в следующем порядке:

    1. Перейти в каталог со скачанным архивом.
    2. Распаковать скачанный архив посредством команды sudo tar -xf linux-amd64_deb.tgz.
    3. Запустить установку КриптоПРО CSP посредством команды sudo ./linux-amd64_deb/install.sh.

    Установка КриптоПРО CSP в ОС Windows осуществлять в следующем порядке:

    1. Запустить exe-файл из каталога со скачанным КриптоПРО CSP.
    2. Дождаться окончания установки.
    3. Перезагрузить компьютер. 
    Установка КриптоПРО CSP в ОС
  3. Активировать лицензию КриптоПРО CSP.

    Активацию лицензии в КриптоПРО CSP в ОС семейства Debian осуществлять в следующем порядке:

    1. Перейти в папку с конфигурационным файлом посредством команды: cd /opt/cprocsp/sbin/amd64/.
    2. Ввести серийный номер (при вводе соблюдать регистр символов), например: ./cpconfig -license -set 1404B-70808-01QYN-MTZF3-0RWHH
    3. Проверить лицензию посредством команды:./cpconfig -license -view.

    Активацию лицензии в КриптоПРО CSP в ОС семейства Windows осуществлять в следующем порядке:

    1. Перейти в окно управления КриптоПРО CSP (Пуск - Все приложения - КриптоПро - КриптоПро CSP).
    2. Во вкладке "Общие" нажать кнопку "Ввод лицензии".
    3. Ввести информацию о лицензии:
      1. Пользователь - ФИО пользователя;
      2. Организация - Наименование организации-держателя лицензии;
      3. Серийный номер - Серийный ключ лицензии.
  4. Для отображения информации о текущей установленной лицензии Крипто CSP следует выполнить команду: 
    ./cpconfig -license -view
  5. Вписать в конфигурационный файл config.json Avanpost FAM Server следующую настройку:

    "cryptoprovider": {
      "pathToCProCspDir": "/opt/cprocsp/bin/amd64",
    }

Этап 2. Установка криптопровайдера (КриптоПро CSP) на ARM пользователя.

Для установки КриптоПро CSP на ARM пользователя необходимо:

  1. Cкачать нужную версию дистрибутива КриптоПро с официального сайта: https://cryptopro.ru/products/csp/downloads
  2. Запустить установочный файл и следовать инструкциям установщика.

Этап 3. Установка КриптоПро ЭЦП Browser plug-in 

Для установки КриптоПро ЭЦП Browser plug-in необходимо:

  1. Скачать установочный файл плагина для соответствующей операционной системы пользователя (Windows, Linux, macOS) с официального сайта: https://docs.cryptopro.ru/cades/plugin 
  2. Запустить установочный файл и следовать инструкциям мастера установки.

  3. Запустить браузер. Дальнейшие настройки отличаются в зависимости от используемого браузера:
    Google Chrome: после запуска браузера выйдет оповещение об установленном расширении CryptoPro Extension for CAdES Browser Plug-in. Нажать "Включить расширение".

    Актуально только для первичной загрузки. В случае, если установка расширения выполнялась ранее и впоследствии оно было удалено, необходимо загрузить CryptoPro Extension for CAdES Browser Plug-in из интернет-магазина Chrome: CryptoPro Extension for CAdES Browser Plug-in для Chrome


    Chromium Edge: загрузить и установить расширение из интернет-магазина Chrome: CryptoPro Extension for CAdES Browser Plug-in для Chrome
    Opera или Яндекс.Браузер: загрузка расширения доступна по ссылке: CryptoPro Extension for CAdES Browser Plug-in для Opera/Яндекс.Браузер (Рисунок).


    Firefox:
    1. Скачать расширение по ссылке: CryptoPro Extension for CAdES Browser Plug-in для Firefox.
    2. Перейти в настройки браузера с помощью кнопки "шестеренка" () Управление дополнительными настройками ⟶ Расширения и темы ⟶ Установить дополнение из файла (Рисунок).

    3. Выбрать загруженный файл в формате xpi и подтвердить добавление расширения в браузер с помощью кнопки "Добавить".
    Microsoft Internet Explorer: дополнительная установка расширения не требуется.

  4. Проверить корректность загруженного плагина на странице проверки.

Этап 4. Получение тестового сертификата от УЦ CRYPTO-PRO Test Center 2  

Для получения тестового сертификата необходимо: 

  1. Перейти на страницу расширенного запроса сертификата: https://www.cryptopro.ru/certsrv/certrqma.asp.
  2. Указать имя сертификата и нажать "Выдать".
  3. В открывшемся окне выбрать "Реестр" и нажать "Ок" (Рисунок).
  4. Установка в ОС семейства Windows осуществлять в следующем порядке:

    1. Нажать "Установить сертификат" после выдачи.
    2. Открыть меню "Пуск", в строке поиска ввести "Сертификаты" и перейти в раздел.
    3. Перейти в раздел "Сертификаты - текущий пользователь" "Личное" "Реестр" "Сертификаты".
    4. Выбрать созданный сертификат и нажать кнопку «Копировать в файл».
    5. Установить переключатель в положение исключения экспорта закрытого ключа вместе с сертификатом.
    6. Выбрать формат экспортируемого файла.
    7. Указать имя файла и путь выгрузки сертификата.
    8. Открыть сертификат любым редактором текста, например, Notepad++.
    9. Скопировать код сертификата.

    Установку сертификата (в хранилище uRoot пользователя, от имени которого работает Avanpost FAM) в ОС семейства Debian осуществлять в следующем порядке:

    1. Чтобы узнать имя пользователя, от имени которого работает Avanpost FAM, следует выполнить команду (имя пользователя отобразится в значении параметра user раздела [service]):
      nano /etc/systemd/system/idp.service
    2. Перейти на данного пользователя и выполнить команду:
      sudo so "Имя_пользователя"
      /opt/cprocsp/bin/amd64/cetmgr -list -store uRoot

    3. Установить сертификат при помощи команды:
      /opt/cprocsp/bin/amd64/certmgr -install -store -file certnew.cer
    4. Cкопировать значение хэша сертификата.  Для этого выполнить следующие команды:
      openssl x509 -in /path/to/cert -inform der -text | grep 'Signature Algorithm' -m 1
      /opt/cprocsp/bin/amd64/cpverify /path/to/cert -mk -alg GR3411_2012_256 -inverted_halfbytes 0

Этап 5. Добавление УЦ CRYPTO-PRO Test Center 2 в доверенные

Для добавления УЦ в доверенные на примере CRYPTO-PRO Test Center 2 необходимо:

  1. Перейти на страницу загрузки сертификата ЦС: https://www.cryptopro.ru/certsrv/certcarc.asp
  2. Установить метод шифрования. 
  3. Выбрать пункт «Загрузка сертификата ЦС» (Рисунок).

  4. Перенести сертификат в любое место на устройство с развернутой средой FAM.

  5. Установить сертификат в системное хранилище корневых сертификатов с помощью команды:

    /opt/cprocsp/bin/amd64/certmgr -install -store uRoot -file certnew.cer
  6. Дождаться сообщения: 

    Подпись проверена.
    [ErrorCode: 0x00000000]

Этап 6. Добавление сертификата в карточку пользователя

Привязка сертификата к конкретному пользователю проводится в следующей последовательности:

  1. В административной консоли Avanpost FAM Server перейти в режим "Пользователи" и найти искомого пользователя, при необходимости пользуясь инструментами интерфейса.
  2. Перейти в УЗ искомого пользователя во вкладку "Дополнительно" в раздел "Сертификаты" (более подробно об интерфейсе УЗ пользователя пользователя описано в соответствующем разделе).
  3. Добавить сертификат:
    1. Скопировать код сертификата. 
    2. Добавить новый сертификат, нажав кнопку.
    3. Вставить скопированный код сертификата в окно терминала и нажать "Сохранить" .
  4. Убедиться, что добавленный сертификат отобразился в списке.

Этап 7. Настройка фактора на стороне FAM Server

Avanpost FAM предоставляет функционал привязки RDN субъекта сертификата к дополнительному атрибуту пользователя. Данный функционал позволяет связывать идентификационную информацию, указанную в поле RDN сертификата, с информацией, хранящейся в других атрибутах пользователя. В этом случае, если сертификат не был внесен в карточку пользователя напрямую, поиск пользователя осуществляется через дополнительный атрибут.

Настройка привязки сертификата доступна как через административную консоль FAM Server (рекомендуемый способ), так и через конфигурационный файл (config.json или config.toml).

Настройка метода аутентификации Certificate осуществляется в административной консоли Avanpost FAM Server следующим образом:

  1. Войти в раздел "Настройки методов аутентификации" режима "Сервис".
  2. Нажать кнопку "Добавить метод аутентификации". 
  3. Заполнить общую информацию о методе согласно таблице (более подробно параметры описаны в Настройка методов аутентификации) и нажать кнопку "Далее".Настройка привязки через административную консоль осуществляется следующим образом: 
    НазваниеВвести название.
    Фактор аутентификацииВыбрать "Certificate".
    Метод активен

    Заполнить чекбокс:

    • при включенном чекбоксе метод можно использовать сразу после его создания и настройки;
    • при выключенном чекбоксе метод невозможно использовать сразу после создания: для требуется активация в его профиле.
  4. Установить параметры метода согласно таблице ниже.
    ПараметрОписание
    Название метода отображаемое пользователямВвести название метода для отображения пользователям.
    Ключ-тэгВвести уникальный тэг (используется для ориентации в логах).
    Фактор аутентификацииCertificate
    Метод активен

    Установить чекбокс:

    • При установленном чекбоксе метод аутентификации активен и может использоваться.
    • При выключенном чекбоксе не активен и не может использоваться пока не будет активирован.
    RDN

    OID (идентификатор объекта) для RDN (именованного дескриптора) сертификата пользователя. 

    В поле указывается значение OID RDN субъекта сертификата, которое будет сопоставлено с атрибутом пользователя.

    Примеры значения параметра:

    • 1.2.643.100.3 - для сопоставления со СНИЛС пользователя;
    • 1.2.643.3.131.1.1 -  для сопоставления с ИНН пользователя.
    Атрибут пользователяИмя атрибута пользователя, который будет использоваться при связывании сертификата с пользователем. 
  5. Нажать кнопку "Сохранить" (для отказа от создания нажать кнопку "Отмена", для возврата на прошлый шаг кнопку "Назад").

Для привязки сертификата к атрибуту пользователя в конфигурационном файле необходимо осуществить настройку config.toml (или config.json для более ранних версий продукта) сервера FAM согласно примеру ниже.

[cryptoprovider]
pathToCProCspDir = '/opt/cprocsp/bin/amd64'
 
[cryptoprovider.certToUserLink]
certSubjectRdnOid = '1.2.643.100.3'
userAttributeName = 'snils'

По аналогии с настройкой при помощи административной консоли в параметре certSubjectRdnOid необходимо указать OID RDN сертификата пользователя для сопоставления с атрибутом пользователя, указанным в параметре userAttributeName.

Этап 8. Настройка аутентификации по сертификату

Активацию фактора аутентификации ЭП/сертификат необходимо осуществлять следующим образом: 

  1. Перейти в консоль администратора Avanpost FAM.
  2. В карточке нужного приложения перейти на вкладку "MFA".
  3. В списке шагов выбрать "Сертификат" и установить переключатель в положение "Активно".
  4. Во время авторизации выбрать фактор «Сертификат» и нажать "Продолжить".

  5. После подтверждения доступа выбрать из списка нужный сертификат.

  6. Ввести пароль, указанный ранее во время выдачи сертификата, и нажать «ОК».

Этап 9. Проверка правильности настройки метода 

Проверка правильности фактора осуществляется следующим образом.

  1. Инициировать вход в веб-приложение по сертификату.
  2. Выбрать нужный сертификат из списка и подтвердить выбор.
  3. При необходимости аутентифицироваться посредством прочих факторов, настроенных согласно сценарию аутентификации.
  4. Получить доступ к веб-ресурсу в результате успешного прохождения аутентификации.


Обсуждение