如何在 SCX 代理上使用 CA 证书

本文介绍如何将 System Center Operations Manager (SCOM) Unix/Linux (SCX) 代理上的自签名证书转换为证书颁发机构(CA)签名证书。

创建 CA 证书模板

在 SCOM 环境中的 CA 服务器上,按照以下步骤创建证书模板:

  1. 服务器管理器打开证书颁发机构

  2. 右键单击 “证书模板 ”,然后选择“ 管理”。

  3. 选择模板计算机,然后选择“复制模板”。

  4. “常规 ”选项卡上,设置模板的名称,并按标准更改 有效期

    显示如何更改模板的显示名称和有效期的屏幕截图。

  5. “请求处理 ”选项卡上,选中 “允许导出 私钥”选项。

    显示如何选择“允许导出私钥”选项的屏幕截图。

  6. “扩展”选项卡上,选择“应用程序策略>编辑”。 从应用程序策略扩展中删除客户端身份验证 确保 应用程序策略 扩展仅 具有服务器身份验证

    显示如何从“应用程序策略”扩展中删除“客户端身份验证”的屏幕截图。

  7. 在“使用者名称”选项卡上,选择请求中的“提供”。 接受提示。 没有风险。

    显示如何选择“请求中的供应”选项的屏幕截图。

  8. 选择“确定”

  9. 选择创建的模板并转到 “属性”。

  10. 选择“安全性”。 添加将注册证书的服务器的计算机对象。

    显示如何添加计算机对象的屏幕截图。

  11. 选择权限作为 “读取”、“ 写入”和 “注册”。

    显示已选择“读取”、“写入”和“注册”权限的屏幕截图。

  12. 右键单击 “证书模板”。 选择要颁发的>证书模板。

  13. 选择创建的模板,然后选择“ 确定”。

从模板颁发 CA 证书

  1. 在已授予模板权限的 Windows Server 上,打开计算机证书存储。

  2. 在“个人”下,右键单击“证书”并选择“所有任务>请求新证书...”

    显示如何请求新证书的屏幕截图。

  3. 选择“下一步>”。

  4. 查找模板。

  5. 选择注册此证书需要详细信息。单击这里以配置设置。

    请求注册详细信息的警告的屏幕截图。

  6. 添加以下详细信息,最好按顺序操作:

    1. CN=<服务器名称 FQDN>
    2. CN=<服务器名称>
    3. DC=<域组件>,例如 Contoso
    4. DC=<域组件>,例如 com

    显示添加“使用者名称”详细信息的屏幕截图。

    如果你有其他域组件,请确保它们位于证书中。

  7. 在成功注册后选择“ 完成 ”。

  8. 右键单击证书并使用私钥将其导出。 最后,应该有一个 .pfx 文件。

  9. 将 CA 和中间 CA 证书(如果适用)导出到 UNIX/Linux 资源池中所有管理服务器/网关的根 存储。

在 Unix/Linux 服务器上复制和编辑证书

  1. 将证书复制到为其颁发证书的 Unix/Linux 服务器。

  2. 使用以下命令导出私钥:

    openssl pkcs12 -in <FileName>.pfx -nocerts -out key.pem
    

    从证书存储导出私钥时,必须为新密钥文件设置新密码。

    显示用于导出私钥的命令的屏幕截图。

    导出完成后,应会看到 key.pem 文件:

    显示用于获取私钥文件的命令的屏幕截图。

  3. 使用以下命令导出证书:

    openssl pkcs12 -in <FileName>.pfx -clcerts -nokeys -out omi.pem
    

    从证书存储导出证书时,必须输入 FileName.pfx 文件的密码<。>

    显示用于导出证书的命令的屏幕截图。

    导出完成后,应会看到 omi.pem 文件:

    显示用于获取证书文件的命令的屏幕截图。

  4. 使用以下命令从私钥中删除密码:

    openssl rsa -in key.pem -out omikey.pem 
    

    显示用于从私钥中删除密码的命令的屏幕截图。

    此操作是必需的,因为 Linux 代理不知道文件的密码。

  5. 使用以下命令将 omikey.pem 文件移动到 Open Management Infrastructure (OMI) 目录:

    mv omikey.pem /etc/opt/omi/ssl/omikey.pem 
    
  6. 使用以下命令重启 SCX 代理:

    scxadmin -restart
    
  7. 重启代理后,请确保 omi 进程正在运行:

    ps -ef | grep omi | grep -v grep
    

    显示用于验证正在运行的 omi 进程的命令的屏幕截图。

验证证书是否已由 CA 签名

  1. 在代理上运行以下命令,验证证书是否已由 CA 签名:

    openssl x509 -noout -in /etc/opt/microsoft/scx/ssl/scx.pem -subject -issuer -dates
    
    subject= /DC=lab/DC=nfs/CN=RHEL7-02/CN=RHEL7-02.nfs.lab
    issuer= /DC=lab/DC=nfs/CN=nfs-DC-CA
    notBefore=Aug  1 13:16:47 2023 GMT
    notAfter=Jul 31 13:16:47 2024 GMT
    

    在典型方案中,UNIX issuer /Linux 资源池中的管理服务器/网关如下所示:

    openssl x509 -noout -in /etc/opt/microsoft/scx/ssl/scx.pem -subject -issuer -dates
    
    subject=CN = rhel8-01.nfs.lab, CN = rhel8-01.nfs.lab
    issuer=CN = SCX-Certificate, title = SCX55a8126f-c88a-4701-9754-8625324426ff, DC = SCOM2022MS3
    notBefore=Jul 25 11:36:44 2022 GMT
    notAfter=Jul 25 12:12:14 2033 GMT
    
  2. 在 UNIX/Linux 资源池中的某个管理服务器/网关上运行网络跟踪。

  3. WinRM针对代理运行以下命令,并确保获取实例输出:

    winrm enumerate http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_Agent?__cimnamespace=root/scx -auth:basic -remote:https://<server name>:1270 -username:<username> -encoding:utf-8
    
  4. 在网络跟踪中,使用代理的 IP 进行筛选。

  5. 证书“服务器 Hello Done ”数据包中,应会看到 CA 签名的证书,而不是使用的自签名证书。

    显示 CA 签名证书的屏幕截图。