===== Замена само-подписанного SSL-сертификата на СХД HPE MSA P2000 G3/2050/2052/2060/2062 ===== {{:hewlett-packard:pasted:20200906-150712.png }} Одна из задач по настройке контроллеров управления СХД **HP MSA P2000 G3** или **HPE MSA 2050/2060** – замена SSL сертификата, используемого для защиты соединения со встроенным веб-сервером, не может быть выполнена через графический веб-интерфейс. Однако существует возможность замены сертификата через интерфейс командной строки, которая описана, например, в руководстве [[https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-a00017709en_us|HPE MSA 1050/2050 CLI Reference Guide]]. В этой заметке мы рассмотрим пример замены SSL сертификата. \\ ==== Получаем текущую информацию ==== Подключимся к контроллеру управления СХД по протоколу SSH и выполним команды получения информации о текущих установленных сертификатах на контроллерах А и B:
# show certificate a
# show certificate b
{{ :hewlett-packard:pasted:20200906-135019.png }} Из вывода этих команд мы видим, что в данный момент на контроллерах установлен само-подписанный SHA256-сертификат. Далее мы выполним ряд действий, которые помогут нам выполнить замену само-подписанного сертификата на сертификат, выпущенный доменным центром сертификации, используемым внутри локальной корпоративной сети. ---- \\ ==== Подготовка файлов сертификата ==== Создать запрос на сертификат к корпоративному ЦС с нужными нам параметрами можно с помощью утилиты **openssl**. В первую очередь сгенерируем для будущего сертификата закрытый ключ RSA:
openssl genrsa -out hpe-msa-2052.key 2048
{{ :hewlett-packard:pasted:20200906-135229.png }} В результате выполнения команды закрытый ключ сертификата будет записан в файл ''hpe-msa-2052.key''. Создадим конфигурационный файл ''hpe-msa-2052.cfg'' для последующей генерации бинарного запроса на сертификат с помощью утилиты openssl. В этом файле будут описаны параметры будущего сертификата с поддержкой альтернативных имён **Subject Alternative Name**. В качестве основного имени будем использовать общее FQDN-имя, используемое в DNS для обоих контроллеров СХД. В качестве альтернативных имён будем использовать краткое имя и IP-адресы обоих контроллеров. [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'':
openssl req -config hpe-msa-2052.cfg -new -key hpe-msa-2052.key -out hpe-msa-2052.req
{{ :hewlett-packard:pasted:20200906-140144.png }} В процессе генерации файла запроса, утилита openssl будет предлагать вводить значения параметров, для которых мы можем просто нажимать Enter, чтобы бралось уже описанное в конфигурационном файле значение. Получившийся в результате бинарный файл запроса ''hpe-msa-2052.req'' отправляем администратору корпоративного ЦС и получаем от него в ответ файл готового сертификата в формате **Base-64** - ''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'', мы и будем использовать для установки на контроллеры управления СХД. ---- \\ ==== Включение поддержки протокола FTP ==== Выполнить передачу файлов сертификата на контроллеры СХД мы сможем через протокол **FTP**. Для этого, сначала потребуется включить данный протокол включен на контроллере, так как в конфигурации по умолчанию он выключен. Снова подключимся к контроллеру управления СХД по протоколу SSH и проверим состояние всех протоколов командой:
# show protocols
{{ :hewlett-packard:pasted:20200906-145234.png }} Как видим, протокол FTP выключен. Чтобы включить его, выполним команду:
# set protocols ftp enabled
{{ :hewlett-packard:pasted:20200906-145255.png }} ---- \\ ==== Установка файлов сертификата на СХД ==== Открываем командную строку (**cmd.exe** на Windows) и командой **cd** меняем рабочий каталог на каталог с файлами сертификата ''hpe-msa-2052-bundle.cer'' и закрытого ключа ''hpe-msa-2052.key''. В нашем случае это каталог ''C:\Tools\OpenSSL''.
cd /d C:\Tools\OpenSSL
Начинаем ftp-сессию:
ftp KOM-MSA04
При запросе вводим имя пользователя и пароль: {{ :hewlett-packard:pasted:20200906-145556.png }} Когда FTP-подключение будет установлено, выполняем команду отправки файла сертификата ''hpe-msa-2052-bundle.cer'':
put hpe-msa-2052-bundle.cer cert-file
{{ :hewlett-packard:pasted:20200906-145649.png }} После успешной отправки файла сертификата, выполняем команду отправки файла закрытого ключа ''hpe-msa-2052.key'':
put hpe-msa-2052.key cert-key-file
{{ :hewlett-packard:pasted:20200906-145721.png }} Предупреждение вида //«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** {{ :hewlett-packard:pasted:20200906-145801.png }} Обратите внимание на то, что таким образом заменяется сертификат только одного из контроллеров СХД. То есть процедуру потребуется выполнить два раза, подключаясь по FTP на IP каждого отдельно взятого контроллера. После установки нового сертификата перезагружаем каждый из контроллеров СХД по очереди командами вида:
# restart mc a
# restart mc b
{{ :hewlett-packard:pasted:20200906-145953.png }} При этом происходит только перезагрузка контроллера управления, не влияющая на работу клиентских соединений с дисковыми ресурсами СХД. Аналогичную процедуру перезагрузки контроллеров управления можно выполнить и через графический интерфейс правления во встроенном WebUI. {{ :hewlett-packard:pasted:20200906-150013.png }} После перезагрузки контроллеров управления последующие подключения к веб-оболочке управления СХД будут уже использовать новый установленный нами сертификат. ---- \\ ==== Выключение поддержки протокола FTP ==== После того, как сертификат передан на контроллеры управления, протокол FTP нам больше не понадобится и, в целях безопасности, лучше его отключить:
# set protocols ftp disabled
{{ :hewlett-packard:pasted:20200906-150117.png }} ---- \\ ==== Откат на само-подписанный сертификат ==== Если в ходе замены сертификата возникли какие-то проблемы и веб-оболочка контроллеров управления перестала адекватно работать с новым сертификатом, то может потребоваться возврат к само-подписанному сертификату, который генерирует сам контроллер управления. Чтобы сгенерировать само-подписанный сертификат, и заодно удалить нами установленный сертификат, можно выполнить команду:
# create certificate restore
---- Проверено на следующих конфигурациях: ^ Модель СХД ^ Версия firmware ^ | HP MSA P2000 G3 | TS252P005 (Bundle 21.10.2016) | | HPE MSA 2052 | VL270P005 (Bundle 18.08.2020) | | HPE MSA 2062 | IN100P003 | ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 06.09.2020 13:43 {{tag>HP HPE MSA "MSA 2052" "MSA 2050" "MSA 2062" "MSA 2060" "MSA P2000 G3" OpenSSL Storage SSL SAN Certificate Security}} ~~DISCUSSION~~