4.13. 使用自定义 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 服务器,请完成以下步骤:
- 第 4.13.1 节 “为 Satellite 服务器创建自定义 SSL 证书”
- 第 4.13.2 节 “将自定义 SSL 证书部署到 Satellite 服务器”
- 第 4.13.3 节 “将自定义 SSL 证书部署到主机”
- 如果您的外部胶囊服务器注册到 Satellite 服务器,请使用自定义 SSL 证书进行配置。如需更多信息,请参阅安装 Capsule 服务器 中的 使用自定义 SSL 证书配置 Capsule 服务器。
4.13.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 有关
[ v3_req ]
参数及其目的的更多信息,请参阅 RFC 5280: Internet X.509 公钥基础架构证书和证书撤销列表(CRL)配置文件。可选: 如果要向 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 捆绑包和签名证书。
4.13.2. 将自定义 SSL 证书部署到 Satellite 服务器 复制链接链接已复制到粘贴板!
使用这个流程将 Satellite 服务器配置为使用证书颁发机构签名的自定义 SSL 证书。
不要将 SSL 证书或 .tar 捆绑包存储在 /tmp
或 /var/tmp
目录中。操作系统定期从这些目录中删除文件。因此,satellite-installer
在启用功能或升级 Satellite 服务器时无法执行。
流程
更新 Satellite 服务器上的证书:
satellite-installer \ --certs-server-cert "/root/satellite_cert/satellite_cert.pem" \ --certs-server-key "/root/satellite_cert/satellite_cert_key.pem" \ --certs-server-ca-cert "/root/satellite_cert/ca_cert_bundle.pem" \ --certs-update-server --certs-update-server-ca
# satellite-installer \ --certs-server-cert "/root/satellite_cert/satellite_cert.pem" \
1 --certs-server-key "/root/satellite_cert/satellite_cert_key.pem" \
2 --certs-server-ca-cert "/root/satellite_cert/ca_cert_bundle.pem" \
3 --certs-update-server --certs-update-server-ca
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
-
在可访问 Satellite 服务器的计算机上,导航到以下 URL
:
- 在您的浏览器中,查看证书详情以验证部署的证书。
4.13.3. 将自定义 SSL 证书部署到主机 复制链接链接已复制到粘贴板!
在将 Satellite 服务器配置为使用自定义 SSL 证书后,还必须在注册到此 Satellite 服务器的每个主机上安装 katello-ca-consumer
软件包。
流程
在每个主机上安装
katello-ca-consumer
软件包: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