3.9. 使用自定义 SSL 证书配置 Satellite 服务器
默认情况下,Red Hat Satellite 使用自签名 SSL 证书来启用 Satellite 服务器、外部胶囊服务器和所有主机之间的加密通信。如果无法使用 Satellite 自签名证书,您可以将 Satellite 服务器配置为使用由外部证书颁发机构(CA)签名的 SSL 证书。
当使用自定义 SSL 证书配置 Red Hat Satellite 时,您必须满足以下要求:
- 您必须对 SSL 证书使用隐私增强型邮件(PEM)编码。
- 您不能将相同的 SSL 证书用于 Satellite 服务器和 Capsule 服务器。
- 同一 CA 必须为 Satellite 服务器和 Capsule 服务器签名证书。
- SSL 证书也不能是 CA 证书。
- SSL 证书必须包含与通用名称(CN)匹配的主题 alt name (SAN)条目。
- 在使用密钥用法扩展时,必须允许 SSL 证书。
- SSL 证书不能有短名称作为 CN。
- 您不能为私钥设置密码短语。
要使用自定义证书配置 Satellite 服务器,请完成以下步骤:
- 第 3.9.1 节 “为 Satellite 服务器创建自定义 SSL 证书”
- 第 3.9.2 节 “将自定义 SSL 证书部署到 Satellite 服务器”
- 第 3.9.3 节 “将自定义 SSL 证书部署到主机”
- 如果您的外部胶囊服务器注册到 Satellite 服务器,请使用自定义 SSL 证书进行配置。如需更多信息,请参阅安装 Capsule 服务器 中的 使用自定义 SSL 证书配置 Capsule 服务器。
3.9.1. 为 Satellite 服务器创建自定义 SSL 证书 复制链接链接已复制到粘贴板!
使用这个流程为 Satellite 服务器创建自定义 SSL 证书。如果您已有 Satellite 服务器的自定义 SSL 证书,请跳过此步骤。
流程
要存储所有源证书文件,请创建一个只能被
root
用户访问的目录:mkdir /root/satellite_cert
# mkdir /root/satellite_cert
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建为证书签名请求(CSR)签名的私钥。
请注意,私钥必须未加密。如果您使用密码保护的私钥,请删除私钥密码。
如果您已有此 Satellite 服务器的私钥,请跳过这一步。
openssl genrsa -out /root/satellite_cert/satellite_cert_key.pem 4096
# openssl genrsa -out /root/satellite_cert/satellite_cert_key.pem 4096
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 CSR 创建
/root/satellite_cert/openssl.cnf
配置文件并包含以下内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 如果要向 CSR 添加可辨识名称(DN)详情,请在
[ req_distinguished_name ]
部分添加以下信息:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 生成 CSR:
openssl req -new \ -key /root/satellite_cert/satellite_cert_key.pem \ -config /root/satellite_cert/openssl.cnf \ -out /root/satellite_cert/satellite_cert_csr.pem
# openssl req -new \ -key /root/satellite_cert/satellite_cert_key.pem \
1 -config /root/satellite_cert/openssl.cnf \
2 -out /root/satellite_cert/satellite_cert_csr.pem
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将证书签名请求发送到证书颁发机构(CA)。同一 CA 必须为 Satellite 服务器和 Capsule 服务器签名证书。
提交请求时,指定证书的寿命。发送证书请求的方法会有所不同,因此请查阅 CA 查看首选方法。为了响应请求,您可以在单独的文件中接收 CA 捆绑包和签名证书。
3.9.2. 将自定义 SSL 证书部署到 Satellite 服务器 复制链接链接已复制到粘贴板!
使用这个流程将 Satellite 服务器配置为使用证书颁发机构签名的自定义 SSL 证书。katello-certs-check
命令验证输入证书文件,并返回将自定义 SSL 证书部署到 Satellite 服务器所需的命令。
不要将 SSL 证书或 .tar 捆绑包存储在 /tmp
或 /var/tmp
目录中。操作系统定期从这些目录中删除文件。因此,satellite-installer
在启用功能或升级 Satellite 服务器时无法执行。
流程
验证自定义 SSL 证书输入文件。请注意,对于
katello-certs-check
命令正常工作,证书中的通用名称(CN)必须与 Satellite 服务器的 FQDN 匹配。katello-certs-check \ -c /root/satellite_cert/satellite_cert.pem \ -k /root/satellite_cert/satellite_cert_key.pem \ -b /root/satellite_cert/ca_cert_bundle.pem
# katello-certs-check \ -c /root/satellite_cert/satellite_cert.pem \
1 -k /root/satellite_cert/satellite_cert_key.pem \
2 -b /root/satellite_cert/ca_cert_bundle.pem
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果命令成功,它会返回两个
satellite-installer
命令,其中之一必须用于部署证书到 Satellite 服务器。katello-certs-check
的输出示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,不得访问或修改
/root/ssl-build
。根据您的要求,在
katello-certs-check
命令的输出中,输入satellite-installer
命令,该命令使用自定义 SSL 证书或更新当前运行的 Satellite 上的证书。如果您不确定要运行的命令,您可以通过检查文件
/etc/foreman-installer/scenarios.d/.installed
来验证是否安装了 Satellite。如果文件存在,请运行第二个satellite-installer
命令来更新证书。重要在部署证书后,Satellite-installer
需要证书存档文件。不要修改或删除它。例如,升级 Satellite 服务器时需要这样做。-
在可访问 Satellite 服务器的计算机上,导航到以下 URL
:
- 在您的浏览器中,查看证书详情以验证部署的证书。
3.9.3. 将自定义 SSL 证书部署到主机 复制链接链接已复制到粘贴板!
将 Satellite 配置为使用自定义 SSL 证书后,您必须将证书部署到注册到 Satellite 的主机。
流程
更新每个主机上的 SSL 证书:
dnf install http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
# dnf install http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow