Система виртуализации и шифрование связи
Замена сертификата ЦС виртуализированного ЦУ
Идентификацию пользователей виртуализированного ЦУ, подключающихся с использованием протокола HTTPS, можно выполнять с помощью сертификата стороннего Центра сертификации (ЦС) организации.
Примечание — Использование сертификата стороннего ЦС для подключений по протоколу HTTPS не влияет на сертификат, используемый для аутентификации между виртуализированным ЦУ и хостами, так как в последнем случае используется самоподписанный сертификат, созданный виртуализированным ЦУ.
Перед выполнением процедуры замены сертификата ЦС виртуализированного ЦУ убедитесь в наличии и характеристиках следующих информационных объектов:
- Сертификат стороннего ЦС. Цепочка сертификатов должна отслеживаться вплоть до корневого сертификата. В процедуре подразумевается, что сертификат стороннего ЦС находится в /tmp/3rd-party-ca-cert.pem.
- Закрытый ключ, который планируется для использования с Apache httpd, не должен содержать пароль. В процедуре подразумевается, что закрытый ключ находится в /tmp/apache.key.
- Сертификат ключа, выпущенный сторонним ЦС. В процедуре подразумевается, что сертификат ключа находится в
/tmp/apache.cer.
Важно — Не изменяйте владельца и права доступа к каталогу /etc/pki и его подкаталогам. Права доступа для каталогов /etc/pki и /etc/pki/ovirt-engine должны оставаться правами по умолчанию, то есть "755".
Если закрытый ключ и сертификат ключа были получены из стороннего ЦС в виде файла с расширением *.p12, извлеките их с помощью следующей инструкции, в которой подразумевается, что полученный файл находится в /tmp/apache.p12. В случае других форматов файла свяжитесь со сторонним ЦС для консультации.
Извлечение сертификата и закрытого ключа из файла с расширением *.p12
Примечание — Внутренний ЦС системы хранит закрытый ключ и сертификат ключа в файле
/etc/pki/ovirt-engine/keys/apache.p12.
Для извлечения сертификата и закрытого ключа из файла с расширением *.p12:
- Создайте резервную копию текущего файла apache.p12:
cp -p /etc/pki/ovirt-engine/keys/apache.p12 \
/etc/pki/ovirt-engine/keys/apache.p12.bck
- Замените текущий файл на файл, полученный из стороннего ЦС:
cp /tmp/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12
- Извлеките закрытый ключ и сертификат ключа в необходимое местоположение (если файл защищён паролем, добавьте параметр "-passin pass:password", где замените password текущим паролем):
openssl pkcs12 -in /etc/pki/ovirt-engine/keys/apache.p12 \
-nocerts -nodes > /tmp/apache.key
openssl pkcs12 -in /etc/pki/ovirt-engine/keys/apache.p12 \
-nokeys > /tmp/apache.cer
Замена сертификата ЦС виртуализированного ЦУ для Apache
Для замены сертификата ЦС виртуализированного ЦУ для Apache:
- Переведите окружение в режим глобального обслуживания:
hosted-engine --set-maintenance --mode=global
- Добавьте сертификат стороннего ЦС в хранилище доверенных сертификатов хоста:
cp /tmp/3rd-party-ca-cert.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 /tmp/3rd-party-ca-cert.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 /tmp/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 /tmp/apache.cer /etc/pki/ovirt-engine/certs/apache.cer
- Перезапустите веб-сервер Apache:
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=""
- Скопируйте файл /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
- Перезапустите службу ovirt-websocket-proxy:
systemctl restart ovirt-websocket-proxy.service
- Если файл /etc/ovirt-provider-ovn/conf.d/10-setup-ovirt-provider-ovn.conf был отредактирован вручную, убедитесь, что в виртуализированном ЦУ в качестве источника сертификата по-прежнему используется /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/3rd-party-ca-cert.pem
update-ca-trust
- Перезапустите службу ovirt-provider-ovn:
systemctl restart ovirt-provider-ovn.service
- Перезапустите службу ovirt-engine:
systemctl restart ovirt-engine.service
- Отключите глобальный режим обслуживания:
hosted-engine --set-maintenance –mode=none
В результате при подключении пользователей к Порталу администрирования и Порталу ВМ не будет появляться предупреждение о подлинности сертификата, используемого для шифрования трафика HTTPS.
Настройка шифрованного соединения между виртуализированным ЦУ и сервером LDAP
Для настройки шифрованного соединения между виртуализированным ЦУ и сервером LDAP получите корневой сертификат ЦС сервера LDAP, скопируйте этот сертификат на машину виртуализированного ЦУ и создайте сертификат ЦС в кодировке PEM.
Тип файла ключа может быть любым типом, поддерживаемым Java. В приведенной ниже процедуре используется файл ключа с расширением *.jks в формате Java KeyStore.
Примечание — Дополнительные сведения о создании сертификатов ЦС в кодировке PEM, а также об импортировании сертификатов можно посмотреть в разделе "X.509 CERTIFICATE TRUST STORE" файла README в каталоге
/usr/share/doc/ovirt-engine-extension-aaa-ldap-версия.
Создание сертификата ЦС в кодировке PEM
Для создания сертификата ЦС в кодировке PEM:
- На машине виртуализированного ЦУ скопируйте корневой сертификат ЦС сервера LDAP в каталог /tmp и импортируйте корневой сертификат с применением команды keytool для создания сертификата ЦС в кодировке PEM:
$ keytool -importcert -noprompt -trustcacerts -alias myrootca \
-file /tmp/myrootca.pem -keystore /etc/ovirt-engine/aaa/myrootca.jks \
-storepass password
Приведенная команда импортирует корневой сертификат ЦС в файл /tmp/myrootca.pem и создаёт сертификат ЦС в кодировке PEM myrootca.jks в каталоге /etc/ovirt-engine/aaa/.
- Обновите информацию о сертификате в файле
/etc/ovirt-engine/aaa/profile1.propertiesс использованием startTLS (рекомендуемый способ) или SSL:
- С использованием startTLS:
Create keystore, import certificate chain and uncomment
pool.default.ssl.startTLS = true
pool.default.ssl.truststore.file = ${local:_basedir}/myrootca.jks
pool.default.ssl.truststore.password = password
- С использованием SSL:
Create keystore, import certificate chain and uncomment
pool.default.serverset.single.port = 636
pool.default.ssl.enable = true
pool.default.ssl.truststore.file = ${local:_basedir}/myrootca.jks
pool.default.ssl.truststore.password = password
Примечание — ${local:_basedir} является каталогом, в котором расположен файл конфигурации LDAP property, который указывает на каталог /etc/ovirt-engine/aaa. Если сертификат ЦС в кодировке PEM был создан в другом каталоге, замените ${local:_basedir} на полный путь до сертификата.
Настройка шифрования соединений VDSM вручную
Шифрование соединений VDSM с виртуализированным ЦУ и с другими экземплярами VDSM можно настроить вручную.
Ручная настройка требуется только для хостов в кластерах с уровнем кластера 3.6, 4.0 и 4.1. Стойкое шифрование на хостах в кластерах с уровнем 4.2 настраивается автоматически во время переустановок хостов. При наличии кластеров 3.6, 4.0 или 4.1 с хостами виртуализации версии 4.2 используйте стойкое шифрование.
Настройка шифрования соединений VDSM вручную
Для настройки шифрования соединений VDSM вручную:
- Нажмите "Ресурсы → Хосты" и выберите хост.
- Нажмите "Управление → Обслуживание", чтобы открыть окно подтверждения "Хосты на обслуживании".
- Нажмите OK, чтобы запустить режим обслуживания.
- Создайте на хосте файл /etc/vdsm/vdsm.conf.d/99-custom-ciphers.conf со следующим параметром:
[vars]
ssl_ciphers = HIGH
- Перезапустите службу VDSM:
systemctl restart vdsm
- Нажмите "Ресурсы → Хосты" и выберите хост.
- Нажмите "Управление → Активировать", чтобы повторно активировать хост.