Замена сертификатов на службах VMware vCenter Server 4.0

Автор: Артем Проничкин, 28 декабря 2009г., Рубрика: Публикации

Если на вашем предприятии существуют повышенные требования к безопасности, у вас наверняка задана определённая политика в отношении использования электронных сертификатов и инфраструктуры открытых ключей (PKI). Вполне вероятно, что эта политика ограничивает использование самоподписанных сертификатов или вовсе запрещает их в явном виде.
Не секрет, что при установке любого из компонентов VMware vSphere создаётся самоподписанный сертификат, который по умолчанию привязывается ко всем службам. При попытке подключения к такой службе (с помощью веб-браузера или приложения vSphere Client) пользователю выдаётся соответствующее предупреждение, сообщающее ему о том, что удалённая система может не являться доверенной, и установить её подлинность не представляется возможным. Конечно, это предупреждение можно отклонить, можно занести сертификаты всех управляемых систем в список доверенных, но всё это не решает проблему в корне и может ослабить безопасность инфраструктуры. И что делать, если использование систем с недоверенными сертификатами запрещено политикой — административной или технической?
Ответ на этот вопрос очевиден всем администраторов веб-сайтов и корпоративных интранет-порталов, но может поставить в тупик администраторов систем виртуализации. Вам потребуется каким-то способом получить подходящий сертификат и заменить им самоподписанный сертификат на управляемой системе. Что в данном случае значит «подходящий», чем он лучше самоподписанного, как работает инфраструктура открытых ключей и как осуществляется проверка сертификата на действительность — все эти, безусловно, интересные вопросы лежат за пределами тематики этой статьи.

Анализ проблемы

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

  • VMware ESX Server 4.0;
  • VMware vCenter Server 4.0;
  • VMware vCenter Update Manager 4.0

VMware опубликовала ряд официальных документов, посвящённых процедуре замены сертификатов в своих продуктах. Очевидно, что эта документация не оставит вопросов для опытных администраторов PKI.
Однако, продукты VMware используют реализацию PKI, взятую из проекта OpenSSL. Из-за этого официальная документация достаточно сложна для понимания администраторам, не имеющим практического опыта работы с этой реализацией. Это косвенно подтверждается обилием пересекающихся тем на форумах VMware, посвящённых различным аспектам замены сертификатов.
В настоящей статье я постарался собрать вместе и обобщить свой опыт, полученный в результате практических экспериментов.

Предварительные требования

По описанным выше причинам, в качестве инструмента работы с PKI мы будем использовать OpenSSL. Самый простой способ приступить к работе с этой системой — загрузить дистрибутив и установить готовый пакет из проекта «Win32 OpenSSL Installation» компании Shining Light Productions. Все команды, приведённые ниже, предполагают выполнение из каталога «\bin\», содержащего установленные утилиты OpenSSL.
В качестве центра сертификации (Certification Authority, CA — в некоторой документации также иногда упоминается как Удостоверяющий центр, УЦ) будем использовать реализацию Microsoft Windows Server Active Directory Certificate Services (AD CS) как наиболее распространённый вариант. Версия и издание AD CS роли не играет. Важна лишь общая корректная настройка Инфраструктуры открытых ключей. В частности,

  • обеспечение доверия к корневому сертификату на всех клиентских рабочих станциях,
  • обеспечение согласованности времени на всех системах, взаимодействующих с использованием сертификатов,
  • работающая система разрешения сетевых имён (DNS).

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

Создание сертификата для VMware ESX Server 4.0

  1. Сгенерируйте закрытый ключ для сертификата. С полученным файлом в дальнейшем следует обращаться очень осторожно и передавать только по защищённым каналам.
  2. openssl.exe genrsa 1024 > rui.key

  3. Сгенерируйте запрос на выдачусертификата.
  4. openssl.exe req -new -key rui.key > rui.csr

    После запуска этой команды мастер создания запроса предложит вам заполнить ряд полей, которые в дальнейшем найдут своё отражение в свойствах сертификата. Ответы зависят только от вашей фантазии — на все вопросы, кроме поля «Common name». Мастер просит ввести на этом шаге ваше имя — однако, в действительности вам потребуется ввести здесь полный адрес (FQDN) того сервера, на котором будет впоследствие размещён создаваемый сертификат. Например, «esx-host-01.domain.com» или «vcenter.domain.com».

  5. Запросите сертификат у центра сертификации.
  6. Для этого обратитесь к веб-странице Центра сертификации по адресу вроде «https://ca.domain.com/certsrv», и последовательно перейдите по ссылкам «Request a certificate», «advanced certificate request» и «Submit a certificate request by using a base-64-encoded CMC or PKCS #10 file, or submit a renewal request by using a base-64-encoded PKCS #7 file».
    Откройте в текстовом редакторе файл «rui.csr», который у вас получился на предыдущем шаге, и полностью скопируйте его содержание в поле «Saved Requiest». В выпадающем списке «Certificate Template» выберите пункт «Web Server». Если такого пункта в списке нет — это значит, что у вас отсутствуют права на выдачу сертификатов соответствующего шаблона. Обратитесь администратору CA или, если вы сами являетесь этим администратором, назначьте себе соответствующие права. Поле «Additional Attributes» можно не заполнять и просто нажать кнопку «Submit».
    На следующей странице выберите пункт «Base 64 Encoded» и нажмите на ссылку «Download Certificate». Сохраните сертификат в тот же каталог, где вы выполняли предыдущие команды, с именем «rui-original.crt».

  7. Измените формат сертификата на требуемый для ESX Server.
  8. openssl.exe x509 -text -in rui-original.crt > rui.crt

Замена сертификата на VMware ESX Server 4.0

  1. Создайте резервные копии файлов, которые находятся в каталоге «/etc/vmware/ssl/».
  2. Замените файлы «rui.key» и «rui.crt» в каталоге «/etc/vmware/ssl/» на одноимённые файлы, созданные на предыдущем этапе.
  3. Назначьте новым файлам такие же права, какие были у заменённых ими старых файлов.
  4. Перезагрузите сервер.
  5. Зайдите на веб-страницу сервера по адресу вроде «https://esx-host-01.domain.com». Проверьте, что браузер не выводит предупреждений, и сервер использует созданный вами сертификат.
  6. Если всё получилось — файлы «rui.csr» и «rui-original.crt» можно удалить, они вам больше не понадобятся. Файлы «rui.key» и «rui.crt» стоит сохранить в надёжном месте.

Создание сертификата для VMware vCenter Server 4.0 и VMware vCenter Server Update Manager 4.0

  1. Повторите пункты 1-3 из раздела «Создание сертификата для VMware ESX Server 4.0», однако сохраните файл сертификата сразу с именем «rui.crt».
  2. Создайте файл хранилища сертификата.

openssl.exe pkcs12 -export -in rui.crt -inkey rui.key -name vcenter.domain.com -out rui.pfx

В этой команде вместо «vcenter.domain.com» следует указать настоящий полный адрес (FQDN) вашего сервера. В ответ на запрос пароля дважды введите слово «testpassword» (иные варианты не допускаются).

Замена сертификата на VMware vCenter Server 4.0

Примечание. Эту процедуру лучше выполнять на новом vCenter Server — до того, как вы подключите к нему какие-либо управляемые серверы. В противном случае возможны различные негативные эффекты вплоть до недоступности всех управляемых серверов до тех пор, пока вы их не отключите и не подключите заново.

  1. Остановите службу «VMware VirtualCenter Server» (vpxd).
  2. Создайте резервную копию файлов, которые находятся в каталоге «%AllUsersProfile%\VMware\VMware VirtualCenter\SSL».
  3. Замените файлы «rui.crt», «rui.key» и «rui.pfx» на файлы, созданные на предыдущем этапе.
  4. Отройте свойства сертификата (файл «rui.crt»), перейдите на вкладку «Details», выберите в списке поле «Thumbprint», выделите значение и скопируйте его.
    Вставьте это значение в текстовый редактор и отредактируйте таким образом, чтобы вместо пробела в качестве разделителя использовалось двоеточие, а все символы были указаны в верхнем регистре.
  5. Запустите оснастку «Active Directory Services Interface (ADSI) Editor (ADSIEdit)» Консоли управления Microsoft и выполните подключение по адресу «LDAP://<адрес вашего сервера VMware vCenter>:389/dc=virtualcenter,dc=vmware,dc=int»
  6. Пройдите по свойствам следующих объектов и проверьте, чтобы везде в значениях атрибута «vmw-vc-SSLThumbprint» (если этот атрибут присутствуют и заполнен) был указан отпечаток вашего сертификата. Это отредактированное значение, которое вы получили на позапрошлом шаге.
    • «CN=62E1B989-4C1F-4BBC-8574-7D1711476F2C,OU=ComponentSpecs,OU=Health,DC=virtualcenter,DC=vmware,DC=int»
    • «CN=62E1B989-4C1F-4BBC-8574-7D1711476F2C.visvc,CN=62E1B989-4C1F-4BBC-8574-7D1711476F2C,OU=ComponentSpecs,OU=Health,DC=virtualcenter,DC=vmware,DC=int»
    • «CN=62E1B989-4C1F-4BBC-8574-7D1711476F2C.vpxd,CN=62E1B989-4C1F-4BBC-8574-7D1711476F2C,OU=ComponentSpecs,OU=Health,DC=virtualcenter,DC=vmware,DC=int»
    • «CN=62E1B989-4C1F-4BBC-8574-7D1711476F2C,OU=Instances,DC=virtualcenter,DC=vmware,DC=int»
    • «CN=VIMAPI,CN=62E1B989-4C1F-4BBC-8574-7D1711476F2C,OU=Instances,DC=virtualcenter,DC=vmware,DC=int»
    • «CN=VIMWEBSVC,CN=62E1B989-4C1F-4BBC-8574-7D1711476F2C,OU=Instances,DC=virtualcenter,DC=vmware,DC=int».
  7. (GUID-ы в вашем случае могут быть другими, мои имена приведены здесь для ориентира).

  8. Перейдите в каталог «%ProgramFiles(x86)%\VMware\Infrastructure\VirtualCenter Server» (путь приведён для 64-битной версии Windows Server).
  9. Выполните команду
  10. vpxd.exe –p

    При запросе пароля введите пароль учётной записи, от имени которой запускаются службы VMware vCenter Server.

  11. Запустите службу «VMware VirtualCenter Server» (vpxd) и при необхоимости переподключите все управляемые серверы.

Замена сертификата на VMware vCenter Server Update Manager 4.0

Особенность этого продукта заключается в том, что он хранит свои сертификаты в неком собственном формате, поэтому заменить сертификат в уже развёрнутой системе не получится. Запись в этот формат производится непосредственно при установке продукта, а в качестве исходных данных используется тот же самый формат, который использует VMware vCenter Server. Следовательно, процедура замены сертификата (вернее, установки его в новый экземпляр VMware vCenter Server Update Manager) выглядит следующем образом.

  1. Удалите имеющиеся экземпляры VMware vCenter Server Update Manager, если они были ранее установлены на целевом сервере.
  2. Создайте каталог «%ProgramFiles(x86)%\VMware\Infrastructure\Update Manager\SSL», если он ещё не существует (путь приведён для 64-битной версии Windows Server).
  3. Поместите в него файлы «rui.crt», «rui.key» и «rui.pfx» созданные на этапе «Создание сертификата для VMware vCenter Server 4.0 и VMware vCenter Server Update Manager 4.0».
  4. Установите VMware vCenter Server Update Manager штатным образом.

Ссылки

Комментирование: сейчас 1 комментарий.

Авторизируйтесь для комментирования.

закрыть Х Virtualization Security Group Russia и RISSPA
Virtualization Security Group Russia и RISSPA объединились!

Virtualization Security Group Russia и
Ассоциация профессионалов в области информационной безопасности RISSPA объединились,
теперь они функционируют на одной площадке и под единым брендом - RISSPA.
На портале VirtualizationSecurityGroup.Ru в настоящий момент доступен архив материалов группы.