Пошаговые руководства, шпаргалки, полезные ссылки...
БлогФорумАвторы
Полезные Online-сервисы
Перечень Бесплатного ПО
Подписка на RSS-канал
Одна из задач по настройке контроллеров управления СХД HP MSA P2000 G3 или HPE MSA 2050/2060 – замена SSL сертификата, используемого для защиты соединения со встроенным веб-сервером, не может быть выполнена через графический веб-интерфейс. Однако существует возможность замены сертификата через интерфейс командной строки, которая описана, например, в руководстве HPE MSA 1050/2050 CLI Reference Guide. В этой заметке мы рассмотрим пример замены SSL сертификата.
Обратите внимание на то, что описанная здесь процедура применима для СХД HPE MSA 2060/2062 лишь с прошивкой версий старше IN210R004. Начиная с версии IN210R004 подход к управлению сертификами поменялся.
Подключимся к контроллеру управления СХД по протоколу SSH и выполним команды получения информации о текущих установленных сертификатах на контроллерах А и B:
# show certificate a # show certificate b
Из вывода этих команд мы видим, что в данный момент на контроллерах установлен само-подписанный SHA256-сертификат. Далее мы выполним ряд действий, которые помогут нам выполнить замену само-подписанного сертификата на сертификат, выпущенный доменным центром сертификации, используемым внутри локальной корпоративной сети.
Создать запрос на сертификат к корпоративному ЦС с нужными нам параметрами можно с помощью утилиты openssl. В первую очередь сгенерируем для будущего сертификата закрытый ключ RSA:
openssl genrsa -out hpe-msa-2052.key 2048
В результате выполнения команды закрытый ключ сертификата будет записан в файл hpe-msa-2052.key.
hpe-msa-2052.key
Создадим конфигурационный файл hpe-msa-2052.cfg для последующей генерации бинарного запроса на сертификат с помощью утилиты openssl. В этом файле будут описаны параметры будущего сертификата с поддержкой альтернативных имён Subject Alternative Name. В качестве основного имени будем использовать общее FQDN-имя, используемое в DNS для обоих контроллеров СХД. В качестве альтернативных имён будем использовать краткое имя и IP-адресы обоих контроллеров.
hpe-msa-2052.cfg
[req] distinguished_name = req_distinguished_name req_extensions = v3_req [req_distinguished_name] commonName = FQDN of server commonName_default = KOM-MSA04.holding.com countryName = Country Name (2 letter code) countryName_default = RU 0.organizationName = Organization Name (eg, company) 0.organizationName_default = IT Ltd. localityName = Locality Name (eg, city) localityName_default = Syktyvkar organizationalUnitName = Organizational Unit Name (eg, section) organizationalUnitName_default = Branch KO [v3_req] subjectAltName = @alt_names [alt_names] DNS.1 = KOM-MSA04.holding.com DNS.2 = KOM-MSA04 IP.1 = 10.0.0.2 IP.2 = 10.0.0.3
Сгенерируем бинарный файл запроса сертификата (hpe-msa-2052.req) на основе ранее сгенерированного закрытого ключа (hpe-msa-2052.key) и конфигурационного файла hpe-msa-2052.cfg:
hpe-msa-2052.req
openssl req -config hpe-msa-2052.cfg -new -key hpe-msa-2052.key -out hpe-msa-2052.req
В процессе генерации файла запроса, утилита openssl будет предлагать вводить значения параметров, для которых мы можем просто нажимать Enter, чтобы бралось уже описанное в конфигурационном файле значение.
Получившийся в результате бинарный файл запроса hpe-msa-2052.req отправляем администратору корпоративного ЦС и получаем от него в ответ файл готового сертификата в формате Base-64 - hpe-msa-2052.cert, который будет иметь примерно следующий вид:
hpe-msa-2052.cert
-----BEGIN CERTIFICATE----- MIIExDCAAAhWxDyTyCtCSPAACAACA6ygAwIBAgITEwACFTANBgkqhkiG9w0BAQsF ... ... vnOeY8QZAw5WlB5CwC3M4Rkf4q12Wfu3HS272M6drrCw9uwrWAIi5DsFywEh0l+j YwMFd6k+ETtYPlkvdCPJNxo/mPZxOJA7 -----END CERTIFICATE-----
Если сертификат получен из ЦС в бинарном формате DER то сконвертировать в PEM-формат, понятный для MSA, можно так:
C:\Tools\OpenSSL>openssl x509 -in hpe-msa-2052.cer -inform d -out hpe-msa-2052.cert
Помимо самого сертификата для СХД нам потребуется сертификат корневого ЦС и сертификаты всех промежуточных ЦС (если таковые имеются).
Собираем в один файл сертификат для СХД, а также сертификаты корневого ЦС и всех промежуточных ЦС в следующем формате:
-----BEGIN CERTIFICATE----- … Base-64 cодержимое сертификата для СХД … -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- … Base-64 cодержимое cертификатf промежуточного ЦС (если используются) … -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- … Base-64 cодержимое cертификата коневого ЦС … -----END CERTIFICATE-----
Сохраняем файл с именем, например, hpe-msa-2052-bundle.cer. Этот файл, совместно с файлом закрытого ключа hpe-msa-2052.key, мы и будем использовать для установки на контроллеры управления СХД.
hpe-msa-2052-bundle.cer
Выполнить передачу файлов сертификата на контроллеры СХД мы сможем через протокол FTP. Для этого, сначала потребуется включить данный протокол включен на контроллере, так как в конфигурации по умолчанию он выключен. Снова подключимся к контроллеру управления СХД по протоколу SSH и проверим состояние всех протоколов командой:
# show protocols
Как видим, протокол FTP выключен. Чтобы включить его, выполним команду:
# set protocols ftp enabled
Открываем командную строку (cmd.exe на Windows) и командой cd меняем рабочий каталог на каталог с файлами сертификата hpe-msa-2052-bundle.cer и закрытого ключа hpe-msa-2052.key. В нашем случае это каталог C:\Tools\OpenSSL.
C:\Tools\OpenSSL
cd /d C:\Tools\OpenSSL
Начинаем ftp-сессию:
ftp KOM-MSA04
При запросе вводим имя пользователя и пароль:
Когда FTP-подключение будет установлено, выполняем команду отправки файла сертификата hpe-msa-2052-bundle.cer:
put hpe-msa-2052-bundle.cer cert-file
После успешной отправки файла сертификата, выполняем команду отправки файла закрытого ключа hpe-msa-2052.key:
put hpe-msa-2052.key cert-key-file
Предупреждение вида «Warning: The uploaded SSL certificate's Common Name (CN) does not match the system hostname. Ensure that the CN matches the fully-qualified domain name.» в нашем случае можно проигнорировать, так как мы используем SAN-сертификат, в который уже включены все необходимые имена.
Завершаем FTP-сессию командой quit
Обратите внимание на то, что таким образом заменяется сертификат только одного из контроллеров СХД. То есть процедуру потребуется выполнить два раза, подключаясь по FTP на IP каждого отдельно взятого контроллера.
После установки нового сертификата перезагружаем каждый из контроллеров СХД по очереди командами вида:
# restart mc a # restart mc b
При этом происходит только перезагрузка контроллера управления, не влияющая на работу клиентских соединений с дисковыми ресурсами СХД. Аналогичную процедуру перезагрузки контроллеров управления можно выполнить и через графический интерфейс правления во встроенном WebUI.
После перезагрузки контроллеров управления последующие подключения к веб-оболочке управления СХД будут уже использовать новый установленный нами сертификат.
После того, как сертификат передан на контроллеры управления, протокол FTP нам больше не понадобится и, в целях безопасности, лучше его отключить:
# set protocols ftp disabled
Если в ходе замены сертификата возникли какие-то проблемы и веб-оболочка контроллеров управления перестала адекватно работать с новым сертификатом, то может потребоваться возврат к само-подписанному сертификату, который генерирует сам контроллер управления. Чтобы сгенерировать само-подписанный сертификат, и заодно удалить нами установленный сертификат, можно выполнить команду:
# create certificate restore
Проверено на следующих конфигурациях:
Автор первичной редакции: Алексей Максимов Время публикации: 06.09.2020 13:43