【加密套件】bmc告警启用不安全加密套件3

// 此模板仅供参考,如果不适用可以修改

问题描述


The RMCPCipherSuites configuration in the system enables insecure cryptographic algorithm suite 3.

有什么命令可以关闭这个加密套件吗

环境信息

openubmc 2512 lts Sp1

重现步骤

  1. [第一步]

  2. [第二步]

  3. [第三步]

期望结果

[您希望实现什么]

实际结果

[实际发生了什么,包含错误信息]

尝试过的解决方案

[列出您已经尝试过的解决方案及结果]

分析结论

[详细总结您对此问题的分析结论]

答案内容由AI生成,仅供参考:

解决方案

您可以通过以下两种方式禁用加密套件3:

1. 使用厂商定义的IPMI命令(推荐)

根据文档 Set RMCP+ Cipher Suites,您可以使用以下 ipmitool 命令来设置加密套件的使能状态。

命令解析:

  • 0x30:NetFn。
  • 0x93:命令号。
  • 0xdb 0x07 0x00:厂商ID。
  • 0x71:子命令,表示“设置RMCP+加密套件”。
  • 0x0e 0x00 0x02 0x00:加密套件使能状态位图。该位图4个字节,BIT0~BIT19分别代表套件ID 0~19。置位(1)表示使能,清零(0)表示禁用。

操作步骤:

  1. 首先,查询当前套件的使能状态(可选):

    ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x72
    

    注:子命令 0x72 为查询命令。

  2. 然后,禁用套件3。要禁用套件3,需要将代表套件3的BIT3清零。

    • 如果您确定当前只有套件17是使能的 (BIT17=1),那么要禁用套件3(BIT3=0),使能位图应为 0x00020000。但是请确认当前位图状态。
    • 更安全的做法是先查询当前位图,然后将BIT3位置0后再设置。
    • 根据“服务器出厂定制化配置”文档的说明,通过设置特定的BMCSet变量(如 BMCSet_RMCPCipherSuites_3=off)也可以实现,但这里我们提供一个通过IPMI命令实现的通用思路,假设您已知当前位图。以只启用套件17(C17)为例,禁用C3的命令不唯一,正确的禁用命令需要根据当前位图来计算。

    重要提示: 上下文中的命令样例 ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x71 0x0e 0x00 0x02 0x00 是设置只启用C2、C3、C17。要禁用C3,您需要修改 0x0e 0x00 0x02 0x00 这个位图。

    • 当前位图 0x0e 0x00 0x02 0x00 (小端序) = 0x0002000e (大端序)。
      • BIT1 (C1): 1 => 使能
      • BIT2 (C2): 1 => 使能
      • BIT3 (C3): 1 => 使能 (这是您要禁用的)
      • BIT17 (C17): 1 => 使能
    • 要禁用C3,需将BIT3清零。新的位图为 0x00020006
    • 转换为小端序发送:0x06 0x00 0x02 0x00

    禁用C3的命令:

    ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x71 0x06 0x00 0x02 0x00
    

2. 使用Redfish API(推荐)

根据 IPMI/CLI SOL常见问题指南 文档,您可以通过Redfish接口来修改配置。

操作步骤:

  1. 向Redfish资源发送 PATCH 请求:
    /redfish/v1/Managers/{ManagerId}/SecurityService
    
  2. 请求体内容
    {
        "RMCPCipherSuites": [
            {
                "SuitId": 3,
                "Enabled": false
            }
        ]
    }
    
点击此处查看详细分析解答

根据您提供的上下文信息,针对“启用不安全加密套件3”的问题,系统提供了多种方式来禁用该加密套件。以下是详细的解决方案。

根本原因分析

根据知识图谱和文档内容,您遇到的问题是因为系统默认启用了不安全的加密套件3(C3)。该套件使用的认证算法为 RAKP-HMAC-SHA1,完整性算法为 HMAC-SHA1-96,且无加密算法,属于推荐禁用的不安全配置。

解决方案

您可以通过以下两种方式禁用加密套件3:

1. 使用厂商定义的IPMI命令(推荐)

根据文档 Set RMCP+ Cipher Suites,您可以使用以下 ipmitool 命令来设置加密套件的使能状态。

命令解析:

  • 0x30:NetFn。
  • 0x93:命令号。
  • 0xdb 0x07 0x00:厂商ID。
  • 0x71:子命令,表示“设置RMCP+加密套件”。
  • 0x0e 0x00 0x02 0x00:加密套件使能状态位图。该位图4个字节,BIT0~BIT19分别代表套件ID 0~19。置位(1)表示使能,清零(0)表示禁用。

操作步骤:

  1. 首先,查询当前套件的使能状态(可选):

    ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x72
    

    注:子命令 0x72 为查询命令。

  2. 然后,禁用套件3。要禁用套件3,需要将代表套件3的BIT3清零。

    • 如果您确定当前只有套件17是使能的 (BIT17=1),那么要禁用套件3(BIT3=0),使能位图应为 0x00020000。但是请确认当前位图状态。
    • 更安全的做法是先查询当前位图,然后将BIT3位置0后再设置。
    • 根据“服务器出厂定制化配置”文档的说明,通过设置特定的BMCSet变量(如 BMCSet_RMCPCipherSuites_3=off)也可以实现,但这里我们提供一个通过IPMI命令实现的通用思路,假设您已知当前位图。以只启用套件17(C17)为例,禁用C3的命令不唯一,正确的禁用命令需要根据当前位图来计算。

    重要提示: 上下文中的命令样例 ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x71 0x0e 0x00 0x02 0x00 是设置只启用C2、C3、C17。要禁用C3,您需要修改 0x0e 0x00 0x02 0x00 这个位图。

    • 当前位图 0x0e 0x00 0x02 0x00 (小端序) = 0x0002000e (大端序)。
      • BIT1 (C1): 1 => 使能
      • BIT2 (C2): 1 => 使能
      • BIT3 (C3): 1 => 使能 (这是您要禁用的)
      • BIT17 (C17): 1 => 使能
    • 要禁用C3,需将BIT3清零。新的位图为 0x00020006
    • 转换为小端序发送:0x06 0x00 0x02 0x00

    禁用C3的命令:

    ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x71 0x06 0x00 0x02 0x00
    

2. 使用Redfish API(推荐)

根据 IPMI/CLI SOL常见问题指南 文档,您可以通过Redfish接口来修改配置。

操作步骤:

  1. 向Redfish资源发送 PATCH 请求:
    /redfish/v1/Managers/{ManagerId}/SecurityService
    
  2. 请求体内容
    {
        "RMCPCipherSuites": [
            {
                "SuitId": 3,
                "Enabled": false
            }
        ]
    }
    

验证结果

执行上述任一操作后,您可以通过 ipmitool 查询命令(0x72子命令)来验证套件3是否已被禁用。如果禁用了不安全套件3,您在BMC告警中的相关报错应该会消失。

注意事项

  • 安全建议:根据文档 RMCPCipherSuites类配置字典强烈建议仅启用安全的套件17,它使用 SHA256 算法,符合当前的安全合规要求。
  • 客户端兼容性:如果您禁用了较旧的套件(如1、2、3),请确保您的管理客户端软件(如 ipmitool)支持套件17。根据文档 禁用-C 17的ipmi命令发不通问题分析ipmitool 1.8.18 及以上版本默认使用套件17,并在命令中明确指定 -C 17 参数。
  • 性能影响:启用强加密套件(如17)会增加CPU开销,但这对于保障管理安全性是必要的。

test