Пример настройки двухфакторной аутентификации в ОС Windows

В приведенном ниже примере используется последняя версия OpenSSL для ОС Windows. Предполагается использование конфигурации с сервером безопасности, настроенном на веб-сервере IIS. В примере продемонстрированы шаги для создания трех сертификатов:

Для настройки двухфакторной аутентификации необходимо выполнить все этапы данной инструкции.

1. Предварительные настройки OpenSSL

Для выполнения примера были заданы следующие предварительные настройки OpenSSL:

  1. В файле конфигурации openssl.cnf изменен параметр «dir» внутри поля [CA_default] на «C:/iis». Файл openssl.cnf расположен в папке «S\bin\cnf\», где S - путь до места установки OpenSSL, например, «C:\Program Files\OpenSSL-Win64\bin\cnf\».

  2. Создана папка «C:\iis» и «C:\iis\newcerts».

  3. В папке «C:\iis» создано два файла: пустой «index.txt» и файл без расширения «serial», содержащий значение «01».

2. Создание и установка корневого сертификата

Корневой сертификат необходим для подписания сертификата клиента и сервера.

Создание корневого сертификата

Для создания корневого сертификата:

  1. Перейдем в директорию с установленным OpenSSL с помощью командной строки:

cd C:\Program Files\OpenSSL-Win64

  1. Выполним команду:

openssl req -new -x509 -days 1000 -out c:\iis\ca.crt -keyout c:\iis\ca.key -config .\bin\cnf\openssl.cnf

При выполнении команды будут запрошены дополнительные данные: PEM пароль и пользовательские данные о владельце сертификата.

Совет. При необходимости можно поменять срок действия сертификата в команде или в настройках OpenSSL по умолчанию.

Установка созданного сертификата

Созданный сертификат необходимо установить в хранилище доверенных центров:

  1. Вызовем консоль управления, выполнив (горячая клавиша WIN+R) команду «mmc».

  2. Добавим (горячая клавиша CTRL+M) оснастку сертификаты для учетной записи локального компьютера.

  3. Импортируем, ранее созданный сертификат, в папку «Доверенные корневые центры сертификации > Сертификаты»:

3. Создание и установка сертификата сервера

Сертификат сервера используется веб-сервером IIS для проверки подлинности сертификатов клиентов, для создания и подписания сертификата сервера выполните следующие шаги:

Создание запроса сертификата

  1. В диспетчере служб IIS перейдем на страницу настройки сертификатов, нажав кнопку «Сертификаты сервера».

  2. Выполним команду «Создать запрос сертификата» контекстного меню или боковой панели.

  3. Заполним поля о пользователе сертификата.

  4. При запросе имени файла сохраним запрос в папке «C:\iis» под именем «server.csr».

Подписание запроса сертификата

Созданный запрос необходимо подписать корневым сертификатом. Откроем консоль OpenSSL и введем команду:

openssl ca -days 1000 -policy policy_anything -keyfile c:\iis\ca.key -cert c:\iis\ca.crt -in c:\iis\server.csr -out c:\iis\server.cer -config openssl.cnf

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

Установка сертификата сервера в IIS

Подписанный файл сертификата сервера необходимо установить на веб-сервер IIS:

  1. В диспетчере служб IIS перейдем на страницу настройки сертификатов, нажав кнопку «Сертификаты сервера».

  2. Выполним команду «Запрос установки сертификата» контекстного меню или боковой панели.

  3. Укажем путь до подписанного сертификата «C:\iis\server.cer».

В результате на веб-сервер IIS будет установлен подписанный сертификат сервера.

Сохранение сертификата в формате PEM

Сохранение сертификата server.cer в формате PEM необходимо в том случае, если выполняется настройка входа через OAuth, при которой используется утилита PP.Util для сохранения сгенерированного сертификата в репозиторий. Откроем консоль OpenSSL и введем команду:

openssl x509 -in c:\iis\server.cer -out c:\iis\server.pem

После выполнения команды сертификат будет сохранен в формате PEM и доступен для использования утилитой PP.Util.

4. Настройки параметров подключения

Добавление https привязки

  1. В диспетчере служб IIS перейдем на страницу сайта, например «Default Web Site».

  2. Выполним команду «Привязки» контекстного меню или боковой панели.

  3. Добавим новую привязку: в поле Тип укажем «https», в выпадающем списке укажем созданный ранее сертификат сервера.

Параметры SSL

Включим параметры SSL для используемого веб-сайта/приложения:

  1. В диспетчере служб IIS перейдем на страницу настройки параметров SSL, нажав кнопку «Параметры SSL».

  2. Установим флажок «Требовать SSL» и переключатель «Требовать сертификат клиента».

Настройка параметров подключения

При двухфакторной аутентификации для подключения к веб-сервису используется протокол https.

В настройках подключения пользователя к серверу безопасности необходимо указать адрес до веб-сервиса с учетом защищенного протокола:

https://<рабочая станция>/fpSS_App_v9.2x64/axis2/services/PP.SOM.SomSec

При использовании BI-сервера совместно с сервером безопасности необходимо задать https соединение на всех этапах.

5. Создание сертификата клиента

Создание запроса сертификата клиента

Для создания запроса в консоли OpenSSL введем команду:

openssl req -new -days 1000 -keyout c:\iis\client.key -out c:\iis\client.csr -config openssl.cnf

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

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

Подписание запроса сертификата

Созданный запрос необходимо подписать корневым сертификатом. Откроем консоль OpenSSL и введем команду:

openssl ca -days 1000 -policy policy_anything -keyfile c:\iis\ca.key -cert c:\iis\ca.crt -in c:\iis\client.csr -out c:\iis\client.cer -config openssl.cnf

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

Сохранение сертификата в контейнере

Для возможности импортировать сертификат в хранилище сертификатов вместе с ключом, необходимо конвертировать сертификат с ключом в контейнер *.pfx.

Введем в консоли OpenSSL команду:

openssl pkcs12 -export -inkey c:\iis\client.key -in c:\iis\client.crt -out c:\iis\client.pfx

При выполнении команды будет получен запрос PEM пароля.

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

6. Привязка сертификата к пользователю

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

Выполним команду «Из файла» раскрывающегося меню кнопки «Добавить» и укажем созданный для клиента сертификат.

В результате доступ пользователя к репозиторию будет разрешен только при предъявлении сертификата пользователя.

7. Проверка работы сертификатов

Перед проверкой работы сертификатов перезагрузим веб-сервер IIS.

Для проверки работы запросов сертификатов проверим доступ к веб-сервису сервера безопасности. В браузере перейдем по адресу:

https://<рабочая станция>/fpSS_App_v9.2x64/axis2/services

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

Если сертификат был указан корректно, будет отображена страница с доступными операциям веб-сервиса.

См. также:

Настройка двухфакторной аутентификации | Пример настройки двухфакторной аутентификации в ОС Linux