Операции с сертификатами

В данной инструкции рассматривается:

  • Развертывание субординированного доменного центра сертификации на устройстве TING
  • Распространение издательских сертификатов на доменные компьютеры через GPO
  • Издание сертификатов для серверных служб TING с использованием субординированного ЦС

Схема сети

В нашем примере используется следующая схема сети:

_images/scheme_cert.png

Имена и адреса

Контроллер домена имеет IP-адрес 192.168.137.2 и FQDN DNS-имя controller.dom.loc. Контроллер домена обеспечивает работу домена dom.loc.

На сервере с FQDN DNS-именем srv2.dom.loc (IP-адрес 192.168.137.5) развернут корневой ЦС dom.loc CA. Для этого, на сервере srv2.dom.loc установлена и настроена роль Службы сертификатов AD с компонентами Центр сертификации и Служба регистрации в центре сертификации через Интернет. Описание установки и настройки Службы сертификатов AD выходит за рамки данной инструкции. Для настроки Службы сертификатов AD обратитесь к официальной документации от Microsoft.

Устройство Traffic Inspector Next Generation имеет IP-адрес 192.168.137.8 и FQDN DNS-имя tinga.dom.loc. В результате настроек, на нем будет развернут субординированный центр сертификации tinga.dom.loc CA.

Примечание

После настройки субординированного доменного ЦС на устройстве TING появляется возможность генерировать конечные (end entity) сертификаты для серверных служб TING. Подход с разворачиванием субординированного доменного ЦС на устройстве TING более удобен по сравнению с запросом каждого нового end entity сертификата в корневом доменном ЦС.

Пользовательский компьютер имеет IP-адрес 192.168.137.31 и FQDN DNS-имя comp1.dom.loc.


Веб-доступ

После установки и настройки вышеозначенных компонентов, веб-интерфейс для выписки сертификатов доступен по адресу:

https://srv2.dom.loc/certsrv

Веб-интерфейс устройства TING доступен по адресу:

https://tinga.dom.loc/

Необходимые программы

Для настройки, нам потребуются программы putty и WinSCP.

Для конвертирования между форматами хранения сертификатов и ключей понадобится пакет OpenSSL, который предустановлен на устройсте TING или доступен в среде Cygwin для Windows.

Создание субординированного доменного ЦС

Настроим на устройстве TING издательство tinga.dom.loc CA, которое будет субординированным по отношению к корневому доменному ЦС dom.loc CA.

  1. Создаем запрос на подпись сертификата

С компьютера comp1.dom.loc заходим программой putty по SSH на tinga.dom.loc и выполняем команду:

openssl req -new -newkey rsa:2048 -nodes -keyout tinga.dom.loc_ca.key -out tinga.dom.loc_ca.csr

Отвечаем на задаваемые вопросы аналогично примеру:

root@tinga:~ # openssl req -new -newkey rsa:2048 -nodes -keyout tinga.dom.loc_ca.key -out tinga.dom.loc_ca.csr
Generating a 2048 bit RSA private key
................+++
.+++
writing new private key to 'tinga.dom.loc_ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:MO
Locality Name (eg, city) []:Kolomna
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Smart-Soft
Organizational Unit Name (eg, section) []:Tech Support
Common Name (e.g. server FQDN or YOUR name) []:tinga.dom.loc CA
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
root@tinga:~ #

  1. Забираем сгенерированные файлы с устройства TING

С компьютера comp1.dom.loc заходим программой WinSCP по SFTP на tinga.dom.loc.

Скачиваем файл /root/tinga.dom.loc_ca.key. Это файл с секретным ключом, который будем импортировать в TING через веб-интерфейс.

-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCgEHtIWaAccJbb
/1Q9ORHM2SzfQbYMRmcwTro1P4iq32urIrL5C9Pi58nv4jbMggDGpmGqWHz5wFBo
FcTYkMiWcstAc6LbwocKITd6Idrp15OxUT+WrqOt7JQo8NAFv5WE5MRKybBc4VGv
SAvZTyS36f9v13foS2gBq0h1cZ5UWxTW5mGhShmZlYpd7ePY7SuSOsCkHqT3RLCz
qDc5hSfx6SzLrBvgOLhBftml0z2EZacqH/wdao2xOQ1KDtf6j/3LX5wk3MfiXn+D
ntIGQFmOyrjrNTKe3DE80mo8OOtQzh/2rwI9M1ShU4C+O9gCOuwEl6JNcfOCrvUR
E3+yD6DJAgMBAAECggEBAIUgEBkFidf9gEsrGfntfDN+sQZiVbHx4CLaZ56f3+AW
ACuOqYHe53SByX89Csyel1ygxvvxqsfhvj5DVLu1907B3PAW/O1/5eZz5/spKzRv
+sNwSs3dI/8kk7lVR/5v8EBeMC/vfUJSmCiLaGdtnqFj+fIgJ/dIuBEjTxl2zPNk
mFm5rFEU9kZJ/ECkzFSMOMvQdf2oKOutbMe4+3ta6l4i6UWmhrif1BhyPhqz1qE5
YQypSzDka/8H1RBmCP9tbTaEBVCAuFRKeVWN8UKPXAz6kwZSBBUt5wfg8k3kl1rN
yFZxmhctw/d0YdQHtUrtg/waMv4NNSZSpPiaVRLnh10CgYEA1JUMOmZal3IKqckr
1xBXOUFdjdsGnJ0Rs0d5NO3UVD5DNIboDEd805u8Y4pD7nQu+yekiyakD0l17Zht
dKJPu5zpRxcJG7bvd82islS+1k056Kgdrr+1LZvz/AWeYBvIh1RDjieYPeSTBIZn
qstd7vRpIPCWWcRLc0uL1xSPZKcCgYEAwMGEKFD4jqMQIfNiwVD0dJwqBbYV+jwo
Zsu6hGLtiErMkwU51Q1fXt3y3MWY7kKwOEPxQd158sk6T2MgI6WL4E2+2DNd8UpF
1m3JZ9YPyj1XKFHo2iEctXCPLbEJS0/mbbrDQmi1e7gFTvuWTmNvb1zPrfv/e2MF
abgLX3RZzQ8CgYABPTUrCfmxNEr3nmKRCFlZzhW7g/FP7GJ0BxCfzFsWep5tqfOk
Tq5dlWTNt7qZoze64wpEfV8rb6QuVFse+Os6DroVXf8BmFlg+2PdYj0ShrS1tHUn
1Zo6v9P2PhokOUU79LPIGlb61WA+AIKOLk1H3UjXlk9qCojeDSytfkMvtQKBgAEY
GBvyeba1jj3jF8hpIToYONTXd8B33vLWbTSbKyX+5rJe8TkYXlY3hE1kgb24ey+W
kyQAkdSi98XDlkcdhXG8fzzS7dGUzlitPttsB6LqPjhoXp3+Wh9diDKGMrtOtMwi
p0EVPxJ4tO8B1pSTU+qZ6EPgjk6w/TLgbJAaJPhZAoGBAICPXmdriEAof/d9ARTd
ziqWlYenYNRMJJaT9SD+FKL4n/B4aBjFjrEwBpDrXNALSH5P924W+hovPcmAohqZ
9a5ppQ2k19l6o3cnM6QwXP7vQEWgRnnpcW4WFwsDQ6X0x1wdXk+6p3qon7CR1tcZ
IDvPCAEymU4d4WgDPbyROYnd
-----END PRIVATE KEY-----

Скачиваем файл /root/tinga.dom.loc_ca.csr. Это запрос на подпись сертификата, который будем использовать при запросе к доменному ЦС.

        -----BEGIN CERTIFICATE REQUEST-----
MIICuDCCAaACAQAwczELMAkGA1UEBhMCUlUxCzAJBgNVBAgMAk1PMRAwDgYDVQQH
DAdLb2xvbW5hMRMwEQYDVQQKDApTbWFydC1Tb2Z0MRUwEwYDVQQLDAxUZWNoIFN1
cHBvcnQxGTAXBgNVBAMMEHRpbmdhLmRvbS5sb2MgQ0EwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQCgEHtIWaAccJbb/1Q9ORHM2SzfQbYMRmcwTro1P4iq
32urIrL5C9Pi58nv4jbMggDGpmGqWHz5wFBoFcTYkMiWcstAc6LbwocKITd6Idrp
15OxUT+WrqOt7JQo8NAFv5WE5MRKybBc4VGvSAvZTyS36f9v13foS2gBq0h1cZ5U
WxTW5mGhShmZlYpd7ePY7SuSOsCkHqT3RLCzqDc5hSfx6SzLrBvgOLhBftml0z2E
ZacqH/wdao2xOQ1KDtf6j/3LX5wk3MfiXn+DntIGQFmOyrjrNTKe3DE80mo8OOtQ
zh/2rwI9M1ShU4C+O9gCOuwEl6JNcfOCrvURE3+yD6DJAgMBAAGgADANBgkqhkiG
9w0BAQsFAAOCAQEAYX8VsOLa6Y4+P9NlIeQTDEt16K07y9XISiTjd/t7iOFXj4WE
eO4I+SA0jC03XggVPnQ7GxtALT1EqA3WSI7qQq+yKY8VbcyWWpgsmygSRVH+2ZPD
Wyw4jUN//0fxpmn7LFuBXRoQIpG7pkQgCcXu7XkzCSselxm0oUDb3fdmMngSxa3+
ZGFYho85iRCmPf8jR0o/b68Rx0EI/3IlkslCxaAwMgs+giUiokY7/u70GGbcEacm
WTlMgH7H5Iwi5PZWodxUfiU4rbwp1sibNdfX5V1gMfWF0OTiQvlM6uJe0GkFsRUr
WsBJVRtakNDsaUqGafq2Q6p4ytyrOBSwIjK2Hg==
-----END CERTIFICATE REQUEST-----

  1. Запрашиваем издательский сертификат в доменном ЦС

На компьютере comp1.dom.loc в веб-браузере открываем адрес https://srv2.dom.loc/certsrv и выбираем действие Запрос сертификата.

_images/cawe_gui.png

Выбираем действие Расширенный запроса сертификата.

_images/extended_request.png

Выбираем действие Выдать запрос, используя base-64 шифрованный файл PKCS #10, или выдать запрос обновления, используя base-64 шифрованный файл PKCS #7. Нажимаем кнопку Выдать.

_images/base_64_request.png

Вставляем в поле Base-64 шифрованный запрос сертификата … скопированное содержимое файла tinga.dom.loc_ca.csr. В поле Шаблон сертификата выбираем значение Subordinate certification authority.

_images/paste_csr.png

Подтвердите, что Вы доверяете веб-сайту осуществление операций с сертификатами от Вашего лица.

_images/certop_warning.png

Установите радиокнопку Base64-шифрование и нажмите на ссылку Загрузить сертификат (файл certnew.cer). Также, нажмите на ссылку Загрузить цепочку сертификатов (certnew.p7b).

_images/cert_download.png

Скопируйте содержимое файла certnew.cer:

-----BEGIN CERTIFICATE-----
MIIFRDCCBCygAwIBAgITaAAAAA/GKPDdMDAQfgAAAAAADzANBgkqhkiG9w0BAQsF
ADA/MRMwEQYKCZImiZPyLGQBGRYDbG9jMRMwEQYKCZImiZPyLGQBGRYDZG9tMRMw
EQYDVQQDEwpkb20ubG9jIENBMB4XDTE3MTAwMzExMzMxMVoXDTIyMDQxMDEwMzg1
NlowczELMAkGA1UEBhMCUlUxCzAJBgNVBAgTAk1PMRAwDgYDVQQHEwdLb2xvbW5h
MRMwEQYDVQQKEwpTbWFydC1Tb2Z0MRUwEwYDVQQLEwxUZWNoIFN1cHBvcnQxGTAX
BgNVBAMTEHRpbmdhLmRvbS5sb2MgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQCgEHtIWaAccJbb/1Q9ORHM2SzfQbYMRmcwTro1P4iq32urIrL5C9Pi
58nv4jbMggDGpmGqWHz5wFBoFcTYkMiWcstAc6LbwocKITd6Idrp15OxUT+WrqOt
7JQo8NAFv5WE5MRKybBc4VGvSAvZTyS36f9v13foS2gBq0h1cZ5UWxTW5mGhShmZ
lYpd7ePY7SuSOsCkHqT3RLCzqDc5hSfx6SzLrBvgOLhBftml0z2EZacqH/wdao2x
OQ1KDtf6j/3LX5wk3MfiXn+DntIGQFmOyrjrNTKe3DE80mo8OOtQzh/2rwI9M1Sh
U4C+O9gCOuwEl6JNcfOCrvURE3+yD6DJAgMBAAGjggIDMIIB/zAdBgNVHQ4EFgQU
hCJAsS5zlZm114bjICXRo/E+y4YwHwYDVR0jBBgwFoAUqmv7NCBX8sXUWKyDD51Y
vyXUGW4wgcMGA1UdHwSBuzCBuDCBtaCBsqCBr4aBrGxkYXA6Ly8vQ049ZG9tLmxv
YyUyMENBLENOPXNydjIsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz
LENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9ZG9tLERDPWxvYz9jZXJ0
aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJp
YnV0aW9uUG9pbnQwgboGCCsGAQUFBwEBBIGtMIGqMIGnBggrBgEFBQcwAoaBmmxk
YXA6Ly8vQ049ZG9tLmxvYyUyMENBLENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT
ZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPWRvbSxEQz1s
b2M/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B
dXRob3JpdHkwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwDwYDVR0TAQH/BAUw
AwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggEBAJLn0BQ11a8x
h6/Dmfm1GBD2w9VgSsgJaVq55ZpaHeukbe0tm5PgRMSoL8RKcgZCm57dVemm8y5v
4xkHR7ASd2FicdWPA29Aq42BNOJPhtzT0eMsDrd31isIYP8STheNE2eOtlueQyj9
8TmD7GeO5Wo0A/gBlKpToPqejWDgUV4DoevOUUPFIIq/Tra9SYUXjHXG9dskmzXS
bah0GEHxfHlRHfw9jCveA0aBoDpehYKeOLxa4Bq9OrOLz0NvCMh/vBiMejxuzchC
OyhtA6uhEKQh+2GZnRDr8DojZvmbV4RvKuOsadhbxYY3u1MVBovNp0hF1IRR7v/C
2MrDKpewxHE=
-----END CERTIFICATE-----

  1. Настраиваем центр сертификации tinga.dom.loc CA на устройстве TING

С компьютера comp1.dom.loc заходим на веб-интерфейс устройства TING в раздел Система\Доверенные сертификаты\Полномочия.

Кликните на кнопку Добавить или импортировать CA. Заполните поля следующим образом:

В поле Описательное имя укажите tinga.dom.loc CA.

В поле Метод выберите Импортировать существующий ЦС.

В поле Данные сертификата скопируйте данные сертификата, выданного доменным ЦС (файл certnew.cer).

В поле Секретный ключ сертификата (необязательно) скопируйте секретный ключ из файла tinga.dom.loc_ca.key.

_images/import_cert_and_key.png

Нажмите кнопку Сохранить.


  1. Распространяем цепочку издательских сертификатов на доменных компьютерах через GPO

Для того, чтобы доменные машины могли доверять сертификатам, изданным ЦС tinga.dom.loc CA, сертификат данного издательства должен быть установлен на этих машинах.

Перенесите файл certnew.p7b на компьютер controller.dom.loc. В нашем случае, файл располагается по пути С:\certnew.p7b.

Запустите оснастку Управление групповой политикой и откройте на редактирование объект групповой политики Default Domain Policy.

_images/gpmc.png

В Редакторе управления групповыми политиками пройдите в раздел Конфигурация компьютера\Конфигурация Windows\Параметры безопасности\Политики открытого ключа\Доверенные корневые центры сертификации.

Вызовите контекстное меню по узлу Доверенные корневые центры сертификации, кликните Импортировать и выберите файл С:\certnew.p7b.

_images/deploying_cert_chain.png

При выборе хранилища, в которое будет импортирована цепочка сертификатов, укажите Доверенные корневые центры сертификации.

_images/import_location.png

Откройте командную строку с привилегиями администратора и выполните команду:

gpupdate /force

Для попадания сертификатов на доменные компьютеры, их, возможно, придется перезагрузить.

На компьютерах, которые не входят в домен, издательские сертификаты могут быть установлены вручную из файла certnew.p7b в хранилище Доверенные корневые центры сертификации. Здесь особенно уместным будет то, что certnew.p7b содержит цепочку сертификатов, а не только лишь один сертификат ЦС tinga.dom.loc CA.


Проверить наличие издательских сертификатов на пользовательских компьютерах можно с помощью оснастки консоли MMC.

На компьютере comp1.dom.loc создайте оснастку для работы с сертификатами. Для этого, в меню Выполнить (вызывается по нажатию Win+R) наберите mmc и нажмите Enter.

В консоли MMC, выберите Файл -> Добавить или удалить оснастку…. Из столбца Доступные оснастки выбираем Сертификаты и нажимаем кнопку Добавить, в появившемся окне Оснастка диспетчера сертификатов выбираем Учетной записи компьютера, нажимаем Далее, Далее, ОК. Присвойте сохраняемому файлу консоли MMC имя certmgr.

_images/cert_snapin.png

После синхронизации с контроллером домена, сертификаты издательств dom.loc CA и tinga.dom.loc CA должны присутствовать в хранилище Сертификаты(локальный компьютер)\Доверенные корневые центры сертификации.

_images/imported_certs.png

Издание сертификатов для серверных служб TING с использованием субординированного ЦС

С помощью субординированного ЦС можно выписывать различные end entity сертификаты, для использования в следующих функциях:

  • защищенный доступ к веб-интерфейсу TING
  • SSL Bump (перехват / дешифровка HTTPS-соединений)
  • OpenVPN
  • IPSec VPN

Продемонстируем генерацию серверного сертификата для нужд защищенного доступа к веб-интерфейсу TING.

С компьютера comp1.dom.loc заходим на веб-интерфейс устройства TING в раздел Система\Доверенные сертификаты\Сертификаты и нажимаем кнопку Добавить или импортировать сертификат.

В появившемся окне указываем настройки по аналогии с примером:

Метод Создать внутренний сертификат
Описательное имя Web GUI certificate
Центр сертификации tinga.dom.loc CA
Тип Сертификат сервера
Длина ключа 2048
Алгоритм дайджеста SHA256
Время существования 365
Код страны RU
Штат или область MO
Город Kolomna
Организация Smart-Soft
Эл. почта info@example.org
Стандартное имя tinga.dom.loc

Нажмите на кнопку Сохранить.


В веб-интерфейсе пройдите в раздел Система -> Настройки -> Администрирование и в поле Сертификат SSL выберите ранее созданный сертификат Web GUI certificate. Нажмите на кнопку Сохранить.

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


Конвертирование между форматами

Конвертирование PKCS#12 (файлы с расширением *.PFX) в PEM

ЦС Windows позволяет экспортировать сертификаты и ключи в формате PKCS#12 (.PFX). В то же время, Traffic Inspector Next Generation поддерживает импорт сертификатов и ключей в представлении Base64 (PEM формат).

Получить сертификат и ключ в PEM-формате из файла cert_with_private_key.pfx можно следующими командами:

openssl pkcs12 -in cert_with_private_key.pfx -nokeys -out cert.pem
openssl pkcs12 -in cert_with_private_key.pfx -nocerts -out encrypted_key.pem -nodes
openssl rsa -in encrypted_key.pem -out unencrypted_key.pem

Конвертирование DER в PEM

ОС Windows часто использует формат DER для хранения сертификатов.

Получить сертификат в PEM-формате из формата DER можно с помощью следующей команды:

openssl x509 -in der_cert.cer -inform DER -out pem_cert.pem

Проверка соответствия секретного ключа и сертификата

Для проверки соответствия, нужно сравнить modulus ключа и сертификата.

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

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

С компьютера comp1.dom.loc заходим программой putty по SSH на tinga.dom.loc.

Для вывода modulus ключа, выполняем команду:

openssl rsa -check -noout -modulus -in /usr/local/etc/ssl/ting-client.key

Для вывода modulus сертификата, выполняем команду:

openssl x509 -noout -modulus -in /usr/local/etc/ssl/ting-client.crt