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创建为证书签名请求(CSR)签名的私钥。
请注意,私钥必须未加密。如果您使用密码保护的私钥,请删除私钥密码。
如果您已有此 Satellite 服务器的私钥,请跳过这一步。
# openssl genrsa -out /root/satellite_cert/satellite_cert_key.pem 4096为 CSR 创建
/root/satellite_cert/openssl.cnf配置文件并包含以下内容:[ req ] req_extensions = v3_req distinguished_name = req_distinguished_name prompt = no [ req_distinguished_name ] CN = satellite.example.com [ v3_req ] basicConstraints = CA:FALSE keyUsage = digitalSignature, keyEncipherment extendedKeyUsage = serverAuth, clientAuth subjectAltName = @alt_names [ alt_names ] DNS.1 = satellite.example.com有关
[ v3_req ]参数及其目的的更多信息,请参阅 RFC 5280: Internet X.509 公钥基础架构证书和证书撤销列表(CRL)配置文件。可选: 如果要向 CSR 添加可辨识名称(DN)详情,请在
[ req_distinguished_name ]部分添加以下信息:[req_distinguished_name] CN = satellite.example.com countryName =My_Country_Name1 stateOrProvinceName = My_State_Or_Province_Name2 localityName = My_Locality_Name3 organizationName = My_Organization_Or_Company_Name organizationalUnitName = My_Organizational_Unit_Name4 生成 CSR:
# 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.pem3 将证书签名请求发送到证书颁发机构(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" \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
验证
-
在可访问 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