22.3. 为 OpenPegasus 配置 SSL 证书
OpenLMI 使用基于 Web 的企业管理(WBEM)协议,该协议通过 HTTP 传输层运行。标准 HTTP 基本身份验证在此协议中执行,这意味着用户名和密码与请求一起传输。
需要将 OpenPegasus CIMOM 配置为使用 HTTPS 进行通信,以确保安全的身份验证。受管系统上需要一个安全套接字层(SSL)或传输层安全(TLS)证书来建立加密频道。
系统中可以通过两种方法管理 SSL/TLS 证书:
- 自签名证书使用的基础架构更少,但更难部署到客户端并难以安全管理。
- 授权签名的证书在设置后更易于向客户部署,但可能需要更大的初始投资。
在使用授权签名的证书时,需要在客户端系统上配置可信证书颁发机构。然后,该授权可用于签署所有托管系统的 CIMOM 证书。证书也可以是证书链的一部分,因此用于签署受管系统证书的证书可能由另一个更高权威机构(如 Verisign、CAcert 和 RSA 及其他)签名。
文件系统中的默认证书和信任存储位置列在 表 22.2 “证书和受信任存储位置” 中。
配置选项 | 位置 | 描述 |
---|---|---|
|
| CIMOM 的公共证书。 |
|
| 仅对 CIMOM 已知的私钥. |
|
| 提供可信证书颁发机构列表的文件或目录。 |
如果您修改了 表 22.2 “证书和受信任存储位置” 中提到的任何文件,请重启 tog-pegasus
服务以确保它识别新证书。要重启该服务,以 root
用户身份在 shell 提示符后输入以下内容:
systemctl restart tog-pegasus.service
有关如何在 Red Hat Enterprise Linux 7 中管理系统服务的详情请参考 第 10 章 使用 systemd 管理服务。
22.3.1. 管理自签名证书
自签名证书使用自己的私钥签署自身,并且它没有连接到任何信任链。在托管的系统上,如果在首次启动 tog-pegasus
服务之前管理员未提供证书,则将使用系统的主主机名作为证书主题自动生成一组自签名证书。
自动生成的自签名证书默认为 10 年有效,但它们没有自动续订功能。对这些证书的任何修改都需要根据 OpenSSL 或 Mozilla NSS 文档中关于该主题的指南来手动创建新的证书。
要将客户端系统配置为信任自签名证书,请完成以下步骤:
将
/etc/Pegasus/server.pem
证书从受管系统复制到客户端系统上的/etc/pki/ca-trust/source/anchors/
目录。要做到这一点,以root
根用户身份在 shell 提示符后输入以下内容:scp root@hostname:/etc/Pegasus/server.pem /etc/pki/ca-trust/source/anchors/pegasus-hostname.pem
使用受管系统的主机名替换 hostname。请注意,只有在
sshd
服务在受管系统上运行并且配置为允许root
用户通过 SSH 协议登录系统时,此命令才起作用。有关如何安装和配置sshd
服务并使用scp
命令通过 SSH 协议传输文件的更多信息,请参阅 第 12 章 OpenSSH。通过将校验和与原始文件的检查总和进行比较,验证客户端系统上证书的完整性。要在受管系统中计算
/etc/Pegasus/server.pem
文件的检查总和,请在该系统上以root
用户身份运行以下命令:sha1sum /etc/Pegasus/server.pem
要在客户端系统中计算
/etc/pki/ca-trust/source/anchors/pegasus-hostname.pem
文件的检查总和,请在此系统中运行以下命令:sha1sum /etc/pki/ca-trust/source/anchors/pegasus-hostname.pem
使用受管系统的主机名替换 hostname。
以
root
用户身份运行以下命令来更新客户端系统中的信任存储:update-ca-trust extract
22.3.2. 使用身份管理管理授权机构签名证书(推荐)
红帽企业 Linux 的身份管理功能提供了一个域控制器,简化了加入域的系统中 SSL 证书的管理。除了其他功能外,身份管理服务器提供嵌入式证书颁发机构。有关如何将客户端和受管系统加入到域中的信息,请参阅红帽企业 Linux 7 域身份、身份验证和政策指南或 FreeIPA 文档。
必须将受管系统注册到身份管理;对于客户端系统,注册是可选的。
受管系统中需要执行以下步骤:
- 安装 ipa-client 软件包并将系统注册到身份管理,如 红帽企业 Linux 7 Linux 域身份、身份验证和策略指南 中所述。
以
root
用户身份输入以下命令,将身份管理签名证书复制到可信存储中:cp /etc/ipa/ca.crt /etc/pki/ca-trust/source/anchors/ipa.crt
以
root
用户身份运行以下命令来更新信任存储:update-ca-trust extract
以特权域用户身份运行以下命令,将 Pegasus 注册到 Identity Management 域中的服务:
ipa service-add CIMOM/hostname
使用受管系统的主机名替换 hostname。
此命令可以从安装了 ipa-admintools 软件包的 Identity Management 域中的任何系统运行。它在身份管理中创建服务条目,可用于生成签名 SSL 证书。
-
备份位于
/etc/Pegasus/
目录中的 PEM 文件(推荐)。 以
root
用户身份运行以下命令来检索签名的证书:ipa-getcert request -f /etc/Pegasus/server.pem -k /etc/Pegasus/file.pem -N CN=hostname -K CIMOM/hostname
使用受管系统的主机名替换 hostname。
证书和密钥文件现在保存在正确的位置。
ipa-client-install
脚本在受管系统中安装的certmonger 守护进程
可确保证书保持最新,并根据需要续订。如需更多信息,请参阅 Red Hat Enterprise Linux 7 Linux 域身份、身份验证和策略指南。
要注册客户端系统并更新信任存储,请按照以下步骤操作。
- 安装 ipa-client 软件包并将系统注册到身份管理,如 红帽企业 Linux 7 Linux 域身份、身份验证和策略指南 中所述。
以
root
用户身份输入以下命令,将身份管理签名证书复制到可信存储中:cp /etc/ipa/ca.crt /etc/pki/ca-trust/source/anchors/ipa.crt
以
root
用户身份运行以下命令来更新信任存储:update-ca-trust extract
如果客户端系统不是在身份管理中注册,请完成以下步骤以更新信任存储。
-
将
/etc/ipa/ca.crt
文件安全地从加入到同一身份管理域的任何其他系统复制到可信存储/etc/pki/ca-trust/source/anchors/
目录。
以
root
用户身份运行以下命令来更新信任存储:update-ca-trust extract
22.3.3. 手动管理授权签名证书
使用身份管理之外的其他机制管理授权签名证书需要更多手动配置。
需要确保所有客户端信任将要签署受管系统证书的颁发机构证书:
- 如果证书认证机构在默认情况下受信任,则不需要执行任何特定步骤来完成此操作。
如果默认情况下证书认证机构不被信任,则必须在客户端和受管系统上导入证书。
以
root
用户身份输入以下命令将证书复制到可信存储中:cp /path/to/ca.crt /etc/pki/ca-trust/source/anchors/ca.crt
以
root
用户身份运行以下命令来更新信任存储:update-ca-trust extract
在受管系统中,完成以下步骤:
创建新的 SSL 配置文件
/etc/Pegasus/ssl.cnf
,以存储有关证书的信息。这个文件的内容必须与以下示例类似:[ req ] distinguished_name = req_distinguished_name prompt = no [ req_distinguished_name ] C = US ST = Massachusetts L = Westford O = Fedora OU = Fedora OpenLMI CN = hostname
使用受管系统的完全限定域名替换 hostname。
使用以下命令,以
root
用户身份在管理系统中生成私钥:openssl genrsa -out /etc/Pegasus/file.pem 1024
以
root
用户身份运行这个命令来生成证书签名请求(CSR):openssl req -config /etc/Pegasus/ssl.cnf -new -key /etc/Pegasus/file.pem -out /etc/Pegasus/server.csr
-
将
/etc/Pegasus/server.csr
文件发送到认证机构进行签名。提交文件的详细步骤取决于特定的证书颁发机构。 -
从证书颁发机构收到签名的证书时,将其保存为
/etc/Pegasus/server.pem
。 将可信颁发机构的证书复制到 Pegasus 信任存储中,以确保 Pegasus 能够通过以
root
用户身份运行来信任其自身证书:cp /path/to/ca.crt /etc/Pegasus/client.pem
完成所有上述步骤后,信任签名授权的客户端能够与受管服务器的 CIMOM 成功通信。
与 Identity Management 解决方案不同的是,如果证书过期且需要续订,则必须再次执行所有上述手动步骤。建议在证书过期前续订证书。