Замена SSL-сертификата для веб-портала (zVirt 3.2 и ниже)
Данная инструкция актуальна только для zVirt версии 3.2 и ниже. |
Сертификат стороннего ЦС (Certificate Authority) предоставляется в виде PEM-файла. Цепочка сертификатов должна быть полной вплоть до корневого сертификата. Порядок цепочки сертификатов является критически важным, цепочка должна строится от последнего промежуточного ЦС до корневого ЦС. В противном случае при проверка подлинности сервера может произойти сбой.
Закрытый ключ предоставляется в виде KEY-файла.
1. Соглашения
-
/root - расположение файлов полученных от ЦС или в процессе выполнения процедуры замены.
-
/root/apache.p12 - сертификат полученный от ЦС в формате PKCS#12.
-
/root/ca.pem - сертификат ЦС.
-
/root/apache.key - новый закрытый ключ веб-сервера.
-
/root/apache.cer - новый сертификат веб-сервера.
|
2. Описание процедуры замены SSL-сертификата
Внутренний ЦС хранит ключ и сертификат в формате .p12 в каталоге /etc/pki/ovirt-engine/keys. Сохраните новый файл в том же месте.
-
Создайте резервную копию текущего файла apache.p12, например:
cp -p /etc/pki/ovirt-engine/keys/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12.bck
-
Замените текущий файл новым, например:
cp /root/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12
-
Извлеките закрытый ключ и сертификат.
Если файл защищен паролем, необходимо добавить
-passin pass:<your_password>
, заменив<your_password>
на действительный пароль.openssl pkcs12 -in /etc/pki/ovirt-engine/keys/apache.p12 -nocerts -nodes > /root/apache.key openssl pkcs12 -in /etc/pki/ovirt-engine/keys/apache.p12 -nokeys > /root/apache.cer
-
Если zVirt развернут в режиме Hosted Engine, необходимо перейти в консоль хоста и включить режим глобального обслуживания:
hosted-engine --set-maintenance --mode=global
-
Добавьте сертификат ЦС в список доверенных сертификатов, например:
cp /root/ca.pem /etc/pki/ca-trust/source/anchors update-ca-trust
-
Менеджер управления использует файл /etc/pki/ovirt-engine/apache-ca.pem, который является символической ссылкой на файл /etc/pki/ovirt-engine/ca.pem. Удалите символическую ссылку:
rm /etc/pki/ovirt-engine/apache-ca.pem
-
Сохраните сертификат ЦС, как файл /etc/pki/ovirt-engine/apache-ca.pem:
cp /root/ca.pem /etc/pki/ovirt-engine/apache-ca.pem
-
Создайте резервную копию существующего закрытого ключа и сертификата:
cp /etc/pki/ovirt-engine/keys/apache.key.nopass /etc/pki/ovirt-engine/keys/apache.key.nopass.bck cp /etc/pki/ovirt-engine/certs/apache.cer /etc/pki/ovirt-engine/certs/apache.cer.bck
-
Скопируйте закрытый ключ:
cp /root/apache.key /etc/pki/ovirt-engine/keys/apache.key.nopass
-
Установите владельцем закрытого ключа пользователя root и задайте права доступа 0640:
chown root:ovirt /etc/pki/ovirt-engine/keys/apache.key.nopass chmod 640 /etc/pki/ovirt-engine/keys/apache.key.nopass
-
Скопируйте сертификат:
cp /root/apache.cer /etc/pki/ovirt-engine/certs/apache.cer
-
Установите владельцем сертификата пользователя root и задайте права доступа 0644:
chown root:ovirt /etc/pki/ovirt-engine/certs/apache.cer chmod 644 /etc/pki/ovirt-engine/certs/apache.cer
-
Перезапустите веб-сервер:
systemctl restart httpd.service
-
Создайте новый конфигурационный файл доверенных сертификатов /etc/ovirt-engine/engine.conf.d/99-custom-truststore.conf со следующими параметрами:
ENGINE_HTTPS_PKI_TRUST_STORE="/etc/pki/java/cacerts" ENGINE_HTTPS_PKI_TRUST_STORE_PASSWORD=""
Если каталог engine.conf.d отсутствует, создайте его с помощью команды:
mkdir -p /etc/ovirt-engine/engine.conf.d/
-
Скопируйте файл /etc/ovirt-engine/ovirt-websocket-proxy.conf.d/10-setup.conf и измените индекс в файле на значение, которое больше 10 (например, 99-setup.conf). Добавьте следующие параметры в новый файл:
SSL_CERTIFICATE=/etc/pki/ovirt-engine/certs/apache.cer SSL_KEY=/etc/pki/ovirt-engine/keys/apache.key.nopass
-
Перезапустите службу websocket-proxy:
systemctl restart ovirt-websocket-proxy.service
-
Если вручную производились изменения файла /etc/ovirt-provider-ovn/conf.d/10-setup-ovirt-provider-ovn.conf или используется файл конфигурации более ранней версии zVirt, необходимо убедиться, что менеджер управления по-прежнему настроен на использование /etc/pki/ovirt-engine/apache-ca.pem в качестве сертификата.
-
Настройте engine-backup на обновление системы при восстановлении. Создайте новый файл /etc/ovirt-engine-backup/engine-backup-config.d/update-system-wide-pki.sh со следующим содержимым:
BACKUP_PATHS="${BACKUP_PATHS} /etc/ovirt-engine-backup" cp -f /etc/pki/ovirt-engine/apache-ca.pem \ /etc/pki/ca-trust/source/anchors/ca.pem update-ca-trust
Если каталог engine-backup-config.d отсутствует, создайте его с помощью команды:
mkdir -p /etc/ovirt-engine-backup/engine-backup-config.d/
-
Перезапустите сервис ovirt-provider-ovn:
systemctl restart ovirt-provider-ovn.service
-
Перезапустите сервис ovirt-imageio:
systemctl restart ovirt-imageio.service
-
Перезапустите сервис ovirt-engine:
systemctl restart ovirt-engine.service
-
Если zVirt развернут в режиме Hosted Engine, необходимо перейти в консоль хоста и выключить режим глобального обслуживания:
hosted-engine --set-maintenance --mode=none