Русский
Русский
English
Статистика
Реклама

Из песочницы Как поменять сертификаты для связки VMware Vcenter Server, Replication Server и Site Recovery Manager

Всем привет!

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

  • VMware Vcenter Server 6.7
  • VMware Replication Server 8.3
  • VMware Site Recovery Manager 8.3

Для этого нам понадобятся:

  • Сертификаты
  • Putty
  • Немного терпения

Подготовка сертификатов, я буду использовать рядовой windows server 2019 с ролью Служба сертификатов Active Directory и openssl v1.1.1h

Скачать можно тут

1. Создание сертификатов


Я буду использовать локальный сервер выдачи сертификатов, но данный способ подойдет для выпуска сертификатов и на коммерческих площадках.

Подготовим запросы к центру сертификации.

Я дал имена типа FQDN:

  • Vcenter Server имеет имя vc.home.local и ip 192.168.233.11
  • VMware Replication Server я назвал как vr.home.local и ip 192.168.233.12
  • VMware Site Recovery Manage также srm.home.local и ip 192.168.233.13

Для этих имен будем готовить запросы и закрытые ключи в программе openssl. Для этого изготовим небольшой конфигурационный файл vc.cfg с содержимым. Далее для каждого нового сервера я буду менять содержимое этого файла подставляя имена серверов и ip адреса:

[req]default_bits = 2048distinguished_name = req_distinguished_namereq_extensions = v3_reqprompt = no[req_distinguished_name]countryName = RUstateOrProvinceName = ROlocalityName = RnDorganizationName = HOMEcommonName = vc.home.local (меняем)emailAddress = root@home.local[v3_req]basicConstraints = CA:FALSEkeyUsage = digitalSignature, keyEncipherment, keyAgreementsubjectAltName = @alt_names[alt_names]DNS.1 = vc.home.local (меняем)IP.2 = 192.168.233.11 (меняем)

Далее используем openssl

1.1 Делаем vc.home.local

openssl req -batch -new -newkey rsa:2048 -nodes -keyout vc.home.local.key -out vc.home.local.req -config vc.cfg

1.2 Меняем имена и ip сервера в vc.cfg и выпускаем ключ и запрос для vr.home.local

openssl req -batch -new -newkey rsa:2048 -nodes -keyout vr.home.local.key -out vr.home.local.req -config vc.cfg

1.3 Меняем имена и ip сервера в vc.cfg и выпускаем ключ и запрос для srm.home.local

openssl req -batch -new -newkey rsa:2048 -nodes -keyout srm.home.local.key -out srm.home.local.req -config vc.cfg

1.4 Дополнительно понадобятся сертификаты для служб vcenter (vpxd, vsphere-webclient, vpxd-extension)
делаем их командой:

openssl req -new -newkey rsa:2048 -nodes -keyout vpxd.key -out vpxd.req

Мы попадем в небольшой визард, там мы введем информацию о себе или о компании. Обязательно в поле Common Name мы пишем имя службы. Повторяем процедуру для оставшихся служб. На выходе у нас получается закрытый ключ и запрос на сертификат.



Генерация ключа и запроса на сертификат


Теперь все запросы и ключи готовы приступим к выдаче сертификата. Переходим в центр выдачи сертификатов. Запускаем консоль Центр сертификации.



Далее нажимаем правой кнопкой мышки (пкм) на корне сервера и выбираем выдать новый запрос.



Выбираем наш файл запроса, с расширением req.

Переходим в меню Запросы в ожидании. Если у вас там пусто, нажмите F5 и обновиться окно. Далее жмем пкм, и выбираем Выдать:



Далее переходим в меню Выданные сертификаты и открываем наш сертификат.



Далее нам нужно сохранить его на диск. Для этого переходим во вкладку Состав и нажимаем кнопку Копировать в файл. Далее появиться визард для сохранения файлы, нам нужно выбрать Base64 и имя файла в данном случае vpxd.crt:



Сохранение сертификата.

Повторяем процедуру выдачи для всех наших сертификатов/

Нам еще понадобится корневой сертификат. Для этого откроем любой сертификат, перейдем во вкладку Путь сертификации выберем наш корневой сертификат и нажмем кнопку Посмотреть сертификат. Далее также его сохраним как и все предыдущие.



И это еще не все для сервера VMware Replication Server и VMware Site Recovery Manager. Нам понадобиться контейнер сертификата и ключа. pfx файл, сделать его очень легко, нам понадобиться закрытый ключи и файл сертификата:

openssl pkcs12 -export -out vr.home.local.pfx -inkey vr.home.local.key -in vr.home.local.crt

OpenSSL попросить задать пароль, придумываем пароль и на выходе получаем заветный файл.
На этом создание сертификатов закончим перейдем к их установке.

2. Начнем менять с Vcenter


Для этого мы заходим в раздел администрирования, и переходим в раздел сертификаты. Логинимся администратором.



Раздел для управления сертификатами.

Далее попав в панель управления первым делом добавим корневой сертификат или Trusted Root Certificates. Прокручиваем в самый конец и жмем ADD. Выбираем наш сертификат ca.crt



Add Trusted Root Certificates

Далее меняем текущие сертификаты через пункт меню Replace:



Выбираем сертификаты которые мы создали для vcenter:
Для служб мы выбираем сертификаты служб созданных в пункте 1.4

Для сертификатов __MACHINE_CERT и machine сертификат vc.home.local, созданный в пункте 1.1



Мы заменили все сертификаты, которые нам доступны из панели управления. Если у вас
конфигурация, в которой отсутствую компоненты VMware Replication Server и VMware Site Recovery Manager, то на этом можно поставить точку и после перезагрузки сервера наслаждаться работой VCentre. Если вы используете автономный сервер по выдаче сертификатов, советую делать сертификаты на 10 лет и более. Если вы покупаете то тут смотреть по обстоятельствам.

Для корректного опознавания вашими браузерами сертификатов, необходимо корневой сертификат установить в хранилище сертификатов операционной системы.

3. Меняем сертификат на сервере VMware Replication Server


Начнем с того что на сервер vr необходимо установить корневой сертификат, т.к в штатном веб интерфейсе его нет. Для этого нам нужно зайти на сервер по ssh, но по умолчанию он выключен. Давай включим его. Открываем консоль виртуальной машины и логинимся рутом.
Активируем сервер ssh.

/usr/bin/enable-sshd.sh

После этого можно подключиться к серверу через putty.

Все root ca сертификаты лежать в контейнере jks по пути /opt/vmware/hms/security/hms-truststore.jks

Но контейнер имеет пароль, давайте узнаем его командой:

/opt/vmware/hms/bin/hms-configtool -cmd list | grep keystore

Далее на сервер сохраняем наш ca.crt, я обычно это делаю через текстовые редакторы, на локальном компьютере открываю сертификат блокнотом копирую в буфер обмена, на удаленной машине с помощью редактора vi вставляю и сохраняю. После этого мы можем наш сертификат записать в контейнер командой:

/usr/java/default/bin/keytool -import -trustcacerts -alias root -file /root/ca.crt -keystore /opt/vmware/hms/security/hms-truststore.jks -storepass тут пароль который мы узнали

Далее на запрос добавления говорим yes. Все, мы успешно добавили наш корневой сертификат.

Заходим в панель управления сервером по адресу vr.home.local:5480

Переходим во вкладку Configuration, поле Upload PKCS12 (*.pfx) file
выбираем наш pfx файл. жмем upload and install



конфигурация vr сервера.

После рестарта веб сервера и логина, пытаемся сохранить конфигурацию кнопкой Save and Restart Service:



И получаем ошибку:

Unhandled exception com.vmware.vim.vmomi.client.exception.SslException: javax.net.ssl.SSLException: Certificate thumbprint mismatch, expected:

Сервер нам говорит что отпечатки сертификатов служб вцентра не совпадают.

Открываем putty и подключаемся к нашему вцентру vc.home.local

Запускаем bash командой shell:



Переходим в каталог:

cd /usr/lib/vmidentity/tools/scripts/

И смотрим состояние данной службы:

./lstool.py list --url https://localhost/lookupservice/sdk --no-check-cert --ep-type com.vmware.cis.cs.identity.sso 2>/dev/null



Если открыть в текстовом редакторе наш сертификат vc.home.local.crt, и сравнить, то окажется что сертификаты разные. Дело в том что веб интерфейс вцентра меняет не все сертификаты.

Копируем содержимое сертификата в фаил /tmp/old.crt, не забываем что содержимое сертификата должно быть между тегов -----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----

Должно получиться вот так:



Теперь открываем в текстовом редакторе наш новый сертификат вцентра vc.home.local.crt
и копируем его на vc в фаил /tmp/new.crt

Далее выясняем хэш sha1 файла /tmp/old.crt, он там понадобиться чтобы заменить старые сертификаты на новый.

openssl x509 -in /tmp/old.crt -noout -fingerprint -sha1

Далее запускаем скрипт по замене:

./ls_update_certs.py --url https://vc.home.local/lookupservice/sdk --fingerprint 86:0D:BB:---ВАШ ХЭШ----:C7:0E:D1:3E:17:39 --certfile /tmp/new.crt --user administrator@home.local --password ВашПароль

В конце работы скрипта в отчете будет количество замененных сертификатов.

После этого переходим на vr.home.local:5480 и сохраняем конфигурацию. Если вы сделали все правильно сервер должен успешно сохранить конфигурацию и запустить службу vr сервера.



3. Замена сертификата на VMware Site Recovery Manage


На этом сервере все делается из веб интерфейса в меню Certificate.

Заходим в административную панель srm.home.local:5480

  1. Добавляем наш root ca кнопкой ADD
  2. Меняем текущий сертификат кнопкой CHANGE



На этом мы закончили смену всех сертификатов.

Всем спасибо!
Источник: habr.com
К списку статей
Опубликовано: 13.11.2020 00:08:03
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Системное администрирование

Серверное администрирование

Vmware

Site recovery manager

Vmware vcenter server

Replication server

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru