- Установка импортируемых сертификатов на веб-сервер в Windows Server 2003
- Установка сертификатов
- Импорт сертификата в хранилище локального компьютера
- Назначение импортируемого сертификата веб-сайту
- Установка сертификата от Windows Server CA на веб-сервер Apache
- Windows — конвертация SSL сертификата PEM в формат PFX (PKCS#12) с помощью подсистемы Linux
- Пример настройки двухфакторной аутентификации в ОС Windows
- 1. Предварительные настройки OpenSSL
- 2. Создание и установка корневого сертификата
- Создание корневого сертификата
- Установка созданного сертификата
- 3. Создание и установка сертификата сервера
- Создание запроса сертификата
- Подписание запроса сертификата
- Установка сертификата сервера в IIS
- Сохранение сертификата в формате PEM
- 4. Настройки параметров подключения
- Добавление https привязки
- Параметры SSL
- Настройка параметров подключения
- 5. Создание сертификата клиента
- Создание запроса сертификата клиента
- Подписание запроса сертификата
- Сохранение сертификата в контейнере
- 6. Привязка сертификата к пользователю
- 7. Проверка работы сертификатов
Установка импортируемых сертификатов на веб-сервер в Windows Server 2003
В этой статье описывается импорт сертификата веб-сайта в хранилище сертификатов локального компьютера и назначение сертификата веб-сайту.
Исходная версия продукта: Windows Server 2003
Исходный номер КБ: 816794
Установка сертификатов
Windows 2003 Internet Information Server (IIS) 6.0 поддерживает SSL-подключения. Для всего веб-сайта, папки на веб-сайте или отдельного файла, расположенного в папке на сайте, может потребоваться безопасное SSL-подключение. Однако прежде чем веб-сервер сможет поддерживать сеансы SSL, необходимо установить сертификат веб-сайта.
Для установки сертификата в IIS 6.0 можно использовать один из следующих методов:
- Сделайте сетевой запрос с помощью мастера сертификатов веб-сервера IIS и установите сертификат во время запроса.
- Сделайте автономный запрос с помощью мастера сертификатов веб-сервера IIS и получите и установите сертификат позже.
- Запрос сертификата без использования мастера сертификатов веб-сервера IIS.
При использовании второго или третьего метода необходимо установить сертификат вручную.
Чтобы установить сертификат веб-сайта, необходимо выполнить следующие задачи:
- Импорт сертификата в хранилище сертификатов компьютера.
- Назначьте установленный сертификат веб-сайту.
Импорт сертификата в хранилище локального компьютера
Чтобы импортировать сертификат в хранилище локального компьютера, выполните следующие действия.
- На веб-сервере IIS 6.0 выберите «Начните» и выберите «Выполнить».
- В поле «Открыть» введите MMC и выберите «ОК».
- В меню «Файл» выберите «Добавить или удалить оснастку».
- В диалоговом окне «Добавление и удаление оснастки» выберите «Добавить».
- В диалоговом окне «Добавление автономных оснастки» выберите «Сертификаты» и выберите «Добавить».
- В диалоговом окне оснастки «Сертификаты» выберите «Учетная запись компьютера» и выберите «Далее».
- В диалоговом окне «Выбор компьютера» выберите «Локальный компьютер: (компьютер, на который запущена консоль) и выберите «Готово».
- В диалоговом окне «Добавление автономных оснастки» выберите «Закрыть».
- В диалоговом окне «Добавление и удаление оснастки» выберите «ОК».
- В левой области консоли дважды щелкните сертификаты (локальный компьютер).
- Щелкните правой кнопкой мыши «Личные», выберите пункт «Все задачи» и выберите пункт «Импорт».
- На странице «Мастер импорта сертификатов» выберите «Далее».
- На странице «Импортируемый файл» выберите «Обзор», найдите файл сертификата и выберите «Далее».
- Если у сертификата есть пароль, введите пароль на странице «Пароль» и выберите «Далее».
- На странице «Хранилище сертификатов» выберите «Разместить все сертификаты в следующем хранилище», а затем выберите «Далее».
- Выберите «Готово» и «ОК», чтобы подтвердить успешное импорт.
Назначение импортируемого сертификата веб-сайту
- Выберите «Начните» и выберите пункт «Администрирование», а затем выберите диспетчер служб IIS.
- В левой области выберите сервер.
- В правой области дважды щелкните веб-сайты.
- В правой области щелкните правой кнопкой мыши веб-сайт, на который нужно назначить сертификат, и выберите «Свойства».
- Выберите «Безопасность каталога» и выберите сертификат сервера.
- На странице «Мастер веб-сертификатов» выберите «Далее».
- На странице «Сертификат сервера» выберите «Назначить существующий сертификат», а затем выберите «Далее».
- На странице «Доступные сертификаты» выберите установленный сертификат, который необходимо назначить этому веб-сайту, а затем выберите «Далее».
- На странице «Порт SSL» настройте номер порта SSL. Порт по умолчанию 443 подходит для большинства ситуаций.
- Нажмите кнопку Далее.
- На странице «Сводка по сертификату» просмотрите сведения о сертификате и выберите «Далее».
- На странице «Завершение работы мастера сертификатов веб-сервера» выберите «Готово» и выберите «ОК».
Теперь можно настроить элементы веб-сайта для использования безопасных коммуникаций.
Установка сертификата от Windows Server CA на веб-сервер Apache
Рассмотрим пример установки цифрового сертификата X509 на веб-сервер Apache, выданного локальным корневым Центром сертификации, работающим на Windows Server 2008. Пошагово решение задачи состоит из нескольких последовательных шагов:
- Генерация запроса на сертификат средствами OpenSSL к ЦС Windows;
- Получение от ЦС файла сертификата (.cer) в формате DER X509
- Конвертация полученного сертификата в .pem и прикручивание оного к веб-серверу Apache
Для того чтобы создать запрос к ЦС Windows нам понадобиться OpenSSL, а именно конкретно 3 файла из его состава — openssl.exe , ssleay32.dll , libeay32.dll . Сложим их в один каталог, например в каталог \Documents в профиле пользователя. Далее создаем закрытый ключ:
После этого в нашем каталоге появиться файл с ключом. Далее с использованием этого файла мы подготовим запрос к ЦС. Но для этого подготовим конфигурационный файл для OpenSSL, чтобы он не задавал нам лишних вопросов. Итак создаем текстовый файл my_openssl.cnf со следующим содержимым:
Как вы понимаете, в этом файле мы указываем параметры, которые нужны для идентификации запроса сертификата в ЦС, т.е. указываем имя сервера которому требуется сертификат, имя организации и т.п..
Далее создаем запрос на сертификат с учётом подготовленных ранее параметров:
Полученный файл запроса APACHE-SERVER.req загружаем в центр сертификации Windows Server, в ЦС выдаем сертификат на загруженный запрос. Выгружаем из ЦС новый сертификат в файл APACHE-SERVER.cer . Теперь наша задача — конвертировать наш бинарный DER сертификат в формат, понятный для Apache, и делаем мы это так:
Всё, что нам нужно — готово, а именно файлы key и pem . Делаем соответствующие изменения в файле конфигурации сервера Apache — httpd.conf — вписываем туда ссылки на наш сертификат:
После чего перезапускаем сервис Apache2, и если всё сделали правильно, то при обращении на веб-узел увидим, что Apache использует наш сертификат.
Windows — конвертация SSL сертификата PEM в формат PFX (PKCS#12) с помощью подсистемы Linux
Будем собирать PFX файл в Windows 10 с помощью подсистемы Linux. У нас есть:
- Сертификат, cert.pem.
- Ключ, key.pem.
- Цепочка, certnew.p7b.
Включаем bash в Windows:
На диске C создаём папку C:\keys, переносим туда все нужные файлы:
Цепочка у нас в формате p7b, это стандартный формат, когда мы скачиваем цепочку с центра сертификации Windows. Переведём цепочку в PEM формат.
Запускаем bash. Для запуска bash нужно выполнить команду «bash» или «bash.exe».
Проверим что пакет openssl установлен:
Если не установлен, то пакет ставится через apt-get:
У меня openssl уже стоит, Переходим в папку /mnt/c/keys/
Пример настройки двухфакторной аутентификации в ОС Windows
В приведенном ниже примере используется последняя версия OpenSSL для ОС Windows. Предполагается использование конфигурации с сервером безопасности, настроенном на веб-сервере IIS. В примере продемонстрированы шаги для создания трех сертификатов:
корневой сертификат — используется для подписи других сертификатов;
сертификат сервера — используется сервером для проверки сертификатов пользователей;
сертификат клиента — предоставляется пользователем для проверки на сервере.
Для настройки двухфакторной аутентификации необходимо выполнить все этапы данной инструкции.
1. Предварительные настройки OpenSSL
Для выполнения примера были заданы следующие предварительные настройки OpenSSL:
В файле конфигурации openssl.cnf изменен параметр « dir » внутри поля [CA_default] на « C:/iis ». Файл openssl.cnf расположен в папке «S\bin\cnf\», где S — путь до места установки OpenSSL, например, «C:\Program Files\OpenSSL-Win64\bin\cnf\».
Создана папка « C:\iis » и « C:\iis\newcerts ».
В папке « C:\iis » создано два файла: пустой « index.txt » и файл без расширения « serial », содержащий значение « 01 ».
2. Создание и установка корневого сертификата
Корневой сертификат необходим для подписания сертификата клиента и сервера.
Создание корневого сертификата
Для создания корневого сертификата:
Перейдем в директорию с установленным OpenSSL с помощью командной строки:
cd C:\Program Files\OpenSSL-Win64
openssl req -new -x509 -days 1000 -out c:\iis\ca.crt -keyout c:\iis\ca.key -config .\bin\cnf\openssl.cnf
При выполнении команды будут запрошены дополнительные данные: PEM пароль и пользовательские данные о владельце сертификата.
Совет . При необходимости можно поменять срок действия сертификата в команде или в настройках OpenSSL по умолчанию.
Установка созданного сертификата
Созданный сертификат необходимо установить в хранилище доверенных центров:
Вызовем консоль управления, выполнив (горячая клавиша WIN+R) команду « mmc ».
Добавим (горячая клавиша CTRL+M) оснастку сертификаты для учетной записи локального компьютера.
Импортируем, ранее созданный сертификат, в папку « Доверенные корневые центры сертификации > Сертификаты »:
3. Создание и установка сертификата сервера
Сертификат сервера используется веб-сервером IIS для проверки подлинности сертификатов клиентов, для создания и подписания сертификата сервера выполните следующие шаги:
Создание запроса сертификата
В диспетчере служб IIS перейдем на страницу настройки сертификатов, нажав кнопку « Сертификаты сервера ».
Выполним команду « Создать запрос сертификата » контекстного меню или боковой панели.
Заполним поля о пользователе сертификата.
При запросе имени файла сохраним запрос в папке « 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:
В диспетчере служб IIS перейдем на страницу настройки сертификатов, нажав кнопку « Сертификаты сервера ».
Выполним команду « Запрос установки сертификата » контекстного меню или боковой панели.
Укажем путь до подписанного сертификата « 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 привязки
В диспетчере служб IIS перейдем на страницу сайта, например « Default Web Site ».
Выполним команду « Привязки » контекстного меню или боковой панели.
Добавим новую привязку: в поле Тип укажем « https », в выпадающем списке укажем созданный ранее сертификат сервера.
Параметры SSL
Включим параметры SSL для используемого веб-сайта/приложения:
В диспетчере служб IIS перейдем на страницу настройки параметров SSL, нажав кнопку « Параметры SSL ».
Установим флажок « Требовать SSL » и переключатель « Требовать сертификат клиента ».
Настройка параметров подключения
При двухфакторной аутентификации для подключения к веб-сервису используется протокол https.
В настройках подключения пользователя к серверу безопасности необходимо указать адрес до веб-сервиса с учетом защищенного протокола:
https:// / fp SS_App_v9.2×64/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:// / fp SS_App_v9.2×64/axis2/services
При корректной настройке будет показано окно выбора сертификата для аутентификации на сайте.
Если сертификат был указан корректно, будет отображена страница с доступными операциям веб-сервиса.