4.11. 使用自定义 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.11.1 节 “为 Satellite 服务器创建自定义 SSL 证书”
- 第 4.11.2 节 “将自定义 SSL 证书部署到 Satellite 服务器”
- 第 4.11.3 节 “将自定义 SSL 证书部署到主机”
- 如果您的外部胶囊服务器注册到 Satellite 服务器,请使用自定义 SSL 证书进行配置。如需更多信息,请参阅安装 Capsule 服务器 中的 配置带有自定义 SSL 证书的 Capsule 服务器。
4.11.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, nonRepudiation, keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection subjectAltName = @alt_names [ alt_names ] DNS.1 = satellite.example.com可选: 如果要向 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.11.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 \1 -k /root/satellite_cert/satellite_cert_key.pem \2 -b /root/satellite_cert/ca_cert_bundle.pem3 如果命令成功,它会返回两个
satellite-installer命令,其中之一必须用于部署证书到 Satellite 服务器。katello-certs-check的输出示例Validation succeeded. To install the Red Hat Satellite Server with the custom certificates, run: satellite-installer --scenario satellite \ --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" To update the certificates on a currently running Red Hat Satellite installation, run: satellite-installer --scenario satellite \ --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请注意,不得访问或修改
/root/ssl-build。根据您的要求,在
katello-certs-check命令的输出中,输入satellite-installer命令,该命令使用自定义 SSL 证书或更新当前运行的 Satellite 上的证书。如果您不确定要运行的命令,您可以通过检查文件
/etc/foreman-installer/scenarios.d/.installed来验证是否安装了 Satellite。如果文件存在,请运行第二个satellite-installer命令来更新证书。重要在部署证书后,Satellite-installer需要证书存档文件。不要修改或删除它。例如,升级 Satellite 服务器时需要这样做。-
在可访问 Satellite 服务器的计算机上,导航到以下 URL
: - 在您的浏览器中,查看证书详情以验证部署的证书。
4.11.3. 将自定义 SSL 证书部署到主机 复制链接链接已复制到粘贴板!
将 Satellite 配置为使用自定义 SSL 证书后,您必须将证书部署到注册到 Satellite 的主机。
流程
更新每个主机上的 SSL 证书:
# dnf install http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm