附录 E. Red Hat Virtualization 和加密通信
E.1. 替换 Red Hat Virtualization Manager CA 证书
您可以配置机构的第三方 CA 证书,以通过 HTTPS 对连接到 Red Hat Virtualization Manager 的用户进行身份验证。
第三方 CA 证书不用于 Manager 和主机 或磁盘传输 URL 进行验证。这些 HTTPS 连接使用 Manager 生成的自签名证书。
当您切换到自定义 HTTPS 证书时,必须使用自己的 CA 证书分发来在客户端上提供该证书。
如果您要与 Red Hat Satellite 集成,则需要手动将正确的证书导入到 Satellite 中。
如果您在 P12 文件中从 CA 收到私钥和证书,请使用以下步骤提取它们。如需其他文件格式,请联系您的 CA。提取私钥和证书后,继续 替换 Red Hat Virtualization Manager Apache CA 证书。
E.1.1. 从 P12 捆绑包中提取证书和私钥
					内部 CA 将内部生成的密钥和证书存储在一个 P12 文件中(/etc/pki/ovirt-engine/keys/apache.p12)。将新文件存储在同一位置。以下步骤假定新的 P12 文件位于 /tmp/apache.p12 中。
				
						不要更改 /etc/pki 目录或任何子目录的权限和所有权。/etc/pki 和 /etc/pki/ovirt-engine 目录的权限必须保留为默认值 755。
					
流程
- 备份当前 - apache.p12文件:- cp -p /etc/pki/ovirt-engine/keys/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12.bck - # cp -p /etc/pki/ovirt-engine/keys/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12.bck- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将当前文件替换为新文件: - cp /tmp/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12 - # cp /tmp/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将私钥和证书提取到所需位置: - 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 - # 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- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 如果文件受密码保护,请在命令中添加 - -passin pass:password,用 所需的密码 替换 password。
对于新的 Red Hat Virtualization 安装,您必须完成此流程中的所有步骤。
E.1.2. 替换 Red Hat Virtualization Manager Apache CA 证书
您可以配置您组织的第三方 CA 证书,以通过 HTTPS 对连接到管理门户和虚拟机门户的验证身份。
						不要更改 /etc/pki 目录或任何子目录的权限和所有权。/etc/pki 和 /etc/pki/ovirt-engine 目录的权限必须保留为默认值 755。
					
前提条件
- 
							第三方 CA (证书授权)证书。它作为 PEM文件提供。证书链必须完成为 root 证书。链的顺序非常重要,且必须是从最后的中间证书到 root 证书。此流程假定/tmp/3rd-party-ca-cert.pem中提供第三方 CA 证书。
- 
							要用于 Apache httpd 的私钥。它不能有密码。此流程假定它位于 /tmp/apache.key中。
- 
							CA 发布的证书。此流程假定它位于 /tmp/apache.cer中。
流程
- 如果您使用自托管引擎,请将环境设置为全局维护模式。 - hosted-engine --set-maintenance --mode=global - # hosted-engine --set-maintenance --mode=global- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 如需更多信息,请参阅 维护自托管引擎。 
- 将 CA 证书添加到主机范围内的信任存储中: - cp /tmp/3rd-party-ca-cert.pem /etc/pki/ca-trust/source/anchors update-ca-trust - # cp /tmp/3rd-party-ca-cert.pem /etc/pki/ca-trust/source/anchors # update-ca-trust- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 管理器已配置为使用 - /etc/pki/ovirt-engine/apache-ca.pem,它符号链接到- /etc/pki/ovirt-engine/ca.pem。删除符号链接:- rm /etc/pki/ovirt-engine/apache-ca.pem - # rm /etc/pki/ovirt-engine/apache-ca.pem- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将您的 CA 证书保存为 - /etc/pki/ovirt-engine/apache-ca.pem:- cp /tmp/3rd-party-ca-cert.pem /etc/pki/ovirt-engine/apache-ca.pem - # cp /tmp/3rd-party-ca-cert.pem /etc/pki/ovirt-engine/apache-ca.pem- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 备份现有的私钥和证书: - 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 /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- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将私钥复制到所需位置: - cp /tmp/apache.key /etc/pki/ovirt-engine/keys/apache.key.nopass - # cp /tmp/apache.key /etc/pki/ovirt-engine/keys/apache.key.nopass- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将私钥所有者设置为 root,并将权限设置为 - 0640:- chown root:ovirt /etc/pki/ovirt-engine/keys/apache.key.nopass chmod 640 /etc/pki/ovirt-engine/keys/apache.key.nopass - # chown root:ovirt /etc/pki/ovirt-engine/keys/apache.key.nopass # chmod 640 /etc/pki/ovirt-engine/keys/apache.key.nopass- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将证书复制到所需位置: - cp /tmp/apache.cer /etc/pki/ovirt-engine/certs/apache.cer - # cp /tmp/apache.cer /etc/pki/ovirt-engine/certs/apache.cer- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将证书所有者设置为 root,并将权限设置为 - 0644:- chown root:ovirt /etc/pki/ovirt-engine/certs/apache.cer chmod 644 /etc/pki/ovirt-engine/certs/apache.cer - # chown root:ovirt /etc/pki/ovirt-engine/certs/apache.cer # chmod 644 /etc/pki/ovirt-engine/certs/apache.cer- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 重启 Apache 服务器: - systemctl restart httpd.service - # systemctl restart httpd.service- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 使用以下参数,创建一个新的信任存储配置文件 - /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_HTTPS_PKI_TRUST_STORE="/etc/pki/java/cacerts" ENGINE_HTTPS_PKI_TRUST_STORE_PASSWORD=""- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 复制 - /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 - SSL_CERTIFICATE=/etc/pki/ovirt-engine/certs/apache.cer SSL_KEY=/etc/pki/ovirt-engine/keys/apache.key.nopass- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 重启 - websocket-proxy服务:- systemctl restart ovirt-websocket-proxy.service - # systemctl restart ovirt-websocket-proxy.service- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
							如果您手动更改了 /etc/ovirt-provider-ovn/conf.d/10-setup-ovirt-provider-ovn.conf文件,或使用较旧的安装中的配置文件,请确保管理器仍然配置为使用/etc/pki/ovirt-engine/apache-ca.pem作为证书源。
- 创建 - /etc/ovirt-engine-backup/engine-backup-config.d目录:- mkdir -p /etc/ovirt-engine-backup/engine-backup-config.d - # mkdir -p /etc/ovirt-engine-backup/engine-backup-config.d- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 使用以下内容创建 - /etc/ovirt-engine-backup/engine-backup-config.d/update-system-wide-pki.sh文件:这将启用- ovirt-engine-backup以在恢复时自动更新系统。- 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- 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- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 重启 - ovirt-provider-ovn服务:- systemctl restart ovirt-provider-ovn.service - # systemctl restart ovirt-provider-ovn.service- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 重启 - ovirt-imageio服务:- systemctl restart ovirt-imageio.service - # systemctl restart ovirt-imageio.service- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 重启 - ovirt-engine服务:- systemctl restart ovirt-engine.service - # systemctl restart ovirt-engine.service- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 如果您使用自托管引擎,请关闭全局维护模式: - hosted-engine --set-maintenance --mode=none - # hosted-engine --set-maintenance --mode=none- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
现在,您可以在不看到证书警告的情况下连接到管理门户和虚拟机门户。