Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


hewlett-packard:replacing-self-signed-ssl-certificate-to-domain-ca-signed-on-storage-hp-hpe-zpar-7200

Замена само-подписанного SSL-сертификата на СХД HPE ЗPAR 7200

Действующий цифровой сертификат, установленный на СХД HPE ЗPAR 7200 может потребоваться в случае необходимости подключения к СХД консолями администрирования. И если консоль HP 3PAR Management Console (InFormMC), представляющая собой отдельное приложение на платформах Windows и Linux, позволяет подключиться к СХД при условии того, что срок действия сертификата истёк, то модерновая веб-консоль из продукта HPE 3PAR StoreServ Management Console Server (SSMC) уже не даст подключиться к СХД и потребует наличия валидного сертификата на СХД.


Получаем текущую информацию

Подключаемся к СХД по протоколу SSH, используя для аутентификации учётную запись 3paradm и выполняем используем вызов утилиты showcert, чтобы получить информацию о текущем установленном в СХД сертификате:

% showcert -text
Service:unified-server* Type:cert Commonname:HP 3PAR HP_3PAR 7200 1650000 Certificate: Data: Version: 1 (0x0) Serial Number: 0 (0x0) Signature Algorithm: sha1WithRSAEncryption Issuer: CN=HP 3PAR HP_3PAR 7200 1650000 Validity Not Before: Oct 22 09:04:52 2014 GMT Not After : Oct 21 09:04:52 2017 GMT Subject: CN=HP 3PAR HP_3PAR 7200 1650000 Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:cc:21:ad:d2:06:59:95:17:fc:75:95:17:fc:85: ... ... 04:b1:74:95:17:fc:25:a8:0c:90:c9:a9:d6:45:b5: 3c:9d Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 23:c2:02:24:46:f2:8b:26:34:b0:9a:73:94:43:ca:cf:98:e2: ... ... f2:4b:2c:ef:68:8c:22:80:2f:e6:5a:96:a2:dc:8d:a0:4b:2c: a5:08:96:da

Как видно из нашего примера, сертификат просрочен, так как срок его действия кончился 21.10.2017


Создаём CSR-запрос

С помощью команды createcert мы можем либо сгенерировать новый само-подписанный сертификат, либо создать запрос на новый сертификат для отправки во внешний центр сертификации (например, в локальный доменный центр сертификации).

Получить информацию о синтаксисте команды можно либо командой «createcert -h» (полная справка), либо просто вызвав утилиту без указания параметров (короткая подсказка по принимаемым опциям):

% createcert
createcert: Insufficient arguments SYNTAX createcert {-csr|-selfsigned} [-f] [-keysize ] [-days ] [] [] OPTIONS -f Creates without prompting user -csr Creates a certificate signing request -selfsigned Creates a self-signed certificate -keysize Specifies encryption key size in bits -days Specifies valid days -C Specifies country attribute -ST Specifies state attribute -L Specifies locality attribute -O Specifies organization attribute -OU Specifies organizational unit attribute -CN Specifies common name attribute -SAN Specifies the subject alternative name Save the file the CSR is written to Try 'createcert -h' for detailed information for options

Попробуем создать запрос (уберите переносы строк):

% createcert unified-server -csr -keysize 2048 `
 -C "RU" -ST "KOMI" -L "Syktyvkar" -O "IT Ltd." -OU "KOMI Branch" `
 -CN "3PAR01.holding.com"

Если требуется SAN-сертификат (с поддержкой альтернативных имён), то формат запроса будет содержать дополнительную опцию:

% createcert unified-server -csr -keysize 2048 `
 -C "RU" -ST "KOMI" -L "Syktyvkar" -O "IT Ltd." -OU "KOMI Branch" `
 -CN "3PAR01.holding.com" `
 -SAN DNS:3PAR01.holding.com,IP:10.10.2.100

В ответ утилита отдаст нам содержимое запроса, сохранив в СХД закрытый ключ, связанный с занным запросом:

-----BEGIN CERTIFICATE REQUEST-----
MIIDEDCCNVBAYTAlJVMQ0wCwAfgCAQAwgYoxCzAJBgYDVQQIEwRLT01JMRIwEAYD
...
...
3WN5I/+FXUn/evms18rEOct2rg1sZ2rEVX4b43i/XOsB6qo6GR2218g50nNQGy6I
VsRW9KObXqHHg3gyIdcQbBzuCK0=
-----END CERTIFICATE REQUEST-----

Запрос будет сохранён в СХД. Увидеть его можно командой showcert.

% showcert
Service Commonname Type Enddate Fingerprint unified-server* 3PAR01.holding.com csr -- 9a83890ec... unified-server* HP 3PAR HP_3PAR 7200 1650000 cert Oct 21 09:04:52 2017 GMT aa2bdcf08...

Повторно получить содержимое хранящегося в СХД запроса на сертификат можно будет так:

% showcert -service unified-server -type csr -pem
Service:unified-server* Type:csr Commonname:3PAR01.holding.com -----BEGIN CERTIFICATE REQUEST----- MIIDEDCCNVBAYTAlJVMQ0wCwAfgCAQAwgYoxCzAJBgYDVQQIEwRLT01JMRIwEAYD ... ... 3WN5I/+FXUn/evms18rEOct2rg1sZ2rEVX4b43i/XOsB6qo6GR2218g50nNQGy6I VsRW9KObXqHHg3gyIdcQbBzuCK0= -----END CERTIFICATE REQUEST-----

Сохраняем данное содержимое в текстовый файл с расширением CSR и передаём администратору Центра сертификации для получения сертификата


Получаем PEM-сертификат из ЦС

Получаем из ЦС PEM-сертификат (в кодировке Base-64), который будет иметь примерно следующий вид:

3PAR01.pem
-----BEGIN CERTIFICATE-----
MIIExDCAAAhWxDyTyCtCSPAACAACA6ygAwIBAgITEwACFTANBgkqhkiG9w0BAQsF
...
...
vnOeY8QZAw5WlB5CwC3M4Rkf4q12Wfu3HS272M6drrCw9uwrWAIi5DsFywEh0l+j
YwMFd6k+ETtYPlkvdCPJNxo/mPZxOJA7
-----END CERTIFICATE-----

Если сертификат получен из ЦС в бинарном формате DER то сконвертировать в PEM-формат, понятный для 3PAR, можно так:

C:\Tools\OpenSSL>openssl x509 -in 3PAR.cer -inform d -out 3PAR.pem

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


Импортируем корневые сертификаты

Теперь нужно отправить эти PEM-сертификаты в СХД Сделать этом ожно с помощью утилиты importcert. Чтобы получить справку по работе этой утилиты выполним:

% importcert -h

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

Сначала импортируем сертификат корневого ЦС

% importcert unified-server -ca "stdin"
Please paste the CA bundle for unified-server. Once finished, please press Enter twice.

После того, как появится выше указанный запрос на ввод сертификата, скопируем в консоль содержимое корневого сертификата (или нескольких, если у нас цепочка ЦС) нашего доменного ЦС, а затем два раза нажмём Enter

-----BEGIN CERTIFICATE-----
MIIERzCCAy+gAwIJZzANBgkqhkiBAgIQb63kBzI357tNm1kHSd0G9w0BAQsFADBh
...
...
ggO41r6bfOqZVEZyEQUWwq0y6qBZzjjID+5hub+dC8ENr5inENOlPyvGEi597+e2
lnsTLtptNzueffBzh6mss918TDLX0PxJWASqWVOkVWA7MyXrrgNTcDlFwA==
-----END CERTIFICATE-----

Появится запрос на подтверждение. Введём «yes»

Do you want to import these certificate(s) for unified-server service?
* stdin certificate authorities?
Continue importing signed certificate(s) (yes/no)? yes
% 

Проверим список сертификатов и убедимся в том, что на СХД теперь есть сертификат ЦС:

% showcert
Service Commonname Type Enddate Fingerprint cim* KOMI CA rootca Jul 29 13:08:53 2036 GMT de473a048730ccd... cli* KOMI CA rootca Jul 29 13:08:53 2036 GMT de473a048730ccd... wsapi* KOMI CA rootca Jul 29 13:08:53 2036 GMT de473a048730ccd... unified-server* 3PAR01.holding.com csr -- 9a83890ec0bb88e... unified-server* KOMI CA rootca Jul 29 13:08:53 2036 GMT de473a048730ccd...


Импортируем сертификат для СХД

Теперь аналогичным образом импортируем сертификат, выпущенный для СХД (без опции -ca)

% importcert unified-server "stdin"
Please paste the Certificate for unified-server. Once finished, please press Enter twice.

После того, как появится выше указанный запрос на ввод сертификата, скопируем в консоль содержимое сертификата для СХД, а затем два раза нажмём Enter

-----BEGIN CERTIFICATE-----
MIIExDCAAAhWxDyTyCtCSPAACAACA6ygAwIBAgITEwACFTANBgkqhkiG9w0BAQsF
...
...
vnOeY8QZAw5WlB5CwC3M4Rkf4q12Wfu3HS272M6drrCw9uwrWAIi5DsFywEh0l+j
YwMFd6k+ETtYPlkvdCPJNxo/mPZxOJA7
-----END CERTIFICATE-----

Появится запрос на подтверждение. Введём «yes»

Do you want to import these certificate(s) for unified-server service?
* stdin as the service certificate?
Also the following services will be restarted if currently running:
  cim: manages communications with SMI-S clients

  wsapi: Web Services API server

Continue importing signed certificate(s) (yes/no)? yes
cimserver restarted
%

Снова проверим набор сертификатов, установленных в СХД:

% showcert
Service Commonname Type Enddate Fingerprint cim* KOMI CA rootca Jul 29 13:08:53 2036 GMT de473a04... cli* KOMI CA rootca Jul 29 13:08:53 2036 GMT de473a04... wsapi* KOMI CA rootca Jul 29 13:08:53 2036 GMT de473a04... unified-server* 3PAR01.holding.com cert Mar 15 15:07:29 2028 GMT 4b5a48a0... unified-server* KOMI CA rootca Jul 29 13:08:53 2036 GMT de473a04...

Сертификаты установлены. Однако это не всё.


Доверие к сертификату в HP 3PAR Management Console

После установки на СХД сертификата, выданного каким-либо ЦС (не само-подписанного), мы можем столкнуться с проблемой при использовании некоторых инструментов управления СХД. Например, при попытке подключиться к СХД с помощью консоли HP 3PAR Management Console на платформе Windows, мы получим ошибку: Please upload a valid CA certificate under /InFormMC/security

Проблема заключается в том, что теперь сертификат корневого ЦС нужно добавить в профиль текущего пользователя Windows в специальный файл в формате Java Keystore c именем HP-3PAR-MC-TrustStore, расположенный в каталоге:

C:\Users\<UserName>\InFormMC\security\

Сделать это можно с помощью утилиты keytool, которая есть в составе Java (поставляется вместе с консолью) в каталоге C:\Program Files (x86)\3PAR\inform_mgmt_console\jre\bin\ так, как это описано, например, в документе emr_na-c04510558

Однако можно с этим не заморачиваться, а просто скопировать сертификат корневого ЦС в формате PEM (в нашем случае это файл ROOT.pem) в каталог C:\Users\<UserName>\InFormMC\security\ и попытаться снова запустить консоль.

Обратите внимание на то, что при подключении к СХД мы должны указывать именно то имя, которое указано в ранее созданном нами сертификате,

В случае успешного подключения к СХД мы получим информационное сообщение с предложением принять полученный от СХД сертификат.

После нажатия ОК новый сертификат СХД будет автоматически добавлен в локальное хранилище доверенных сертификатов (C:\Users\<UserName>\InFormMC\security\HP-3PAR-MC-TrustStore). А все последующие подключения с использованием SSL будут выполняться без каких-то дополнительных сообщений.


Доверие к сертификату в HPE 3PAR StoreServ Management Console

Веб-консоль HPE 3PAR StoreServ Management Console (SSMC), которая сейчас позиционируется как основной базовы инструмент управления СХД 3PAR, устроена таким образом, что в случае недоверия к сертификату СХД, подключение будет безуспешным. На странице входа веб-консоли SSMC войдём в режим Administrator Console, установив соответствующий чекбокс в форме входа

В этом режиме мы увидим то, что подключение SSMC к СХД не произведено, так как не прошла проверка сертификата из-за отсутствия сертификата корневого ЦС.

Перейдя в меню Actions > Manage certificates, добавим содержимое PEM-сертификата ЦС, и нажмём Validate

После успешной проверки сертификата ЦС, он будет добавлен в хранилище SSMC, после проверка сертификата, предоставляемого СХД должна пройти успешно и безопасное SSL-подключение па порт 5783 к СХД должно заработать:


Проверено на следующих конфигурациях:

Версия 3PAR OS
3.2.2 (MU3)
3.3.1 (MU5)

Автор первичной редакции:
Алексей Максимов
Время публикации: 16.03.2018 20:25

Обсуждение

Ваш комментарий:
 
hewlett-packard/replacing-self-signed-ssl-certificate-to-domain-ca-signed-on-storage-hp-hpe-zpar-7200.txt · Последнее изменение: 25.08.2021 12:39 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki