3.7. 使用自定义 SSL 证书配置 Satellite 服务器
默认情况下,Red Hat Satellite 使用自签名 SSL 证书在 Satellite 服务器、胶囊服务器和所有主机之间启用加密通信。如果无法使用 Satellite 自签名证书,您可以将 Satellite 服务器配置为使用外部证书颁发机构(CA)签名的 SSL 证书。
使用自定义 SSL 证书配置 Red Hat Satellite 时,您必须满足以下要求:
- 您必须使用对 SSL 证书的隐私增强邮件(PEM)编码。
- 您不能对 Satellite 服务器和 Capsule 服务器使用相同的 SSL 证书。
- 同一 CA 必须为 Satellite 服务器和胶囊服务器签名证书。
- SSL 证书也不能是 CA 证书。
- SSL 证书必须包含与通用名称(CN)匹配的主题备用名称(SAN)条目。
- 必须使用密钥使用扩展进行密钥加密(Key Encipherment)的 SSL 证书。
- SSL 证书不能将短名称作为 CN。
- 您不能为私钥设置密码短语。
要使用自定义证书配置 Satellite 服务器,请完成以下步骤:
- 第 3.7.1 节 “为 Satellite 服务器创建自定义 SSL 证书”
- 第 3.7.2 节 “将自定义 SSL 证书部署到 Satellite 服务器”
- 第 3.7.3 节 “将自定义 SSL 证书部署到主机”
- 如果您将胶囊服务器注册到 Satellite 服务器,请使用自定义 SSL 证书配置它们。如需更多信息,请参阅安装 Capsule 服务器 中的 使用自定义 SSL 证书配置 Capsule 服务器。
3.7.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 ] commonName = 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 服务器和胶囊服务器签名证书。
提交请求时,指定证书的期限。发送证书请求的方法会有所不同,因此请查阅 CA 了解首选方法。根据请求,您可以预期在单独的文件中接收 CA 捆绑包和签名证书。
3.7.2. 将自定义 SSL 证书部署到 Satellite 服务器 复制链接链接已复制到粘贴板!
使用这个流程将 Satellite 服务器配置为使用证书颁发机构签名的自定义 SSL 证书。
不要将 SSL 证书或 .tar 捆绑包存储在 /tmp 或 /var/tmp 目录中。操作系统定期从这些目录中删除文件。因此,在启用功能或升级 Satellite 服务器时,satellite-installer 无法执行。
流程
更新 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
: - 在您的浏览器中,查看证书详情以验证部署的证书。
3.7.3. 将自定义 SSL 证书部署到主机 复制链接链接已复制到粘贴板!
在将 Satellite 配置为使用自定义 SSL 证书后,您必须将证书部署到注册到 Satellite 的主机。
流程
更新每个主机上的 SSL 证书:
# dnf install http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm