openUBMC安全配置基线
更新时间: 2026/08/06
在Gitcode上查看源码openUBMC安全配置基线
本文档提供了openUBMC固件配套运行时的安全配置基线,可以指导操作人员、运维人员进行安全配置。
| 规则分类ID | 规则分类 | 规则子类ID | 规则子类 | 规则ID | 规则名称 | 风险等级 | 规则描述 | 风险描述 | 修复影响 | 检查方法 | 取值范围 | 推荐值 | 缺省值 | 是否必选项 | 是否默认安全 | 更新说明 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| C.openUBMC.G_1 | 账号口令及认证管理 | C.openUBMC.G_1_1 | 账号安全 | C.openUBMC.G_1_1.R_1 | 应当设置不活跃用户的期限 | 中 | openUBMC正常使用,针对不活跃超过期限的用户则禁用 | 用户不活跃的时间越长,密码被泄漏(此时该用户还感知不到已泄露)的风险就越大 | 用户由于不活跃被禁用之后无法登录BMC,需要其他管理员用户进行解禁之后才能正常使用 | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: Oem.{OemIdentifier}.AccountInactiveTimelimit(OemIdentifier:可根据实际情况展示不同名称。下同) | int: 30 ~ 365 或者 0(无限制) | 90 | 0 | 否 | 否 | openUBMC在26.09版本提供 |
| C.openUBMC.G_1_1.R_2 | 应当禁止Host侧管理员操作使能 | 中 | openUBMC正常使用,Host管理功能关闭 | 由于BMC支持标准IPMI命令,如果在开启IPMI功能场景下Host侧可免密进行BMC管理员操作,造成密码泄漏 | Host侧无法进行BMC管理员操作,标准IPMI命令中管理员相关命令无法使用 | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: Oem.{OemIdentifier}.OSAdministratorPrivilegeEnabled | bool: 开启:true 关闭:false | false | true | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_1.R_3 | 建议删除出厂默认用户 | 中 | openUBMC初次登录之后通过默认管理员新建管理员用户,然后使用新建管理员用户登录BMC之后删除默认的管理员用户 | 出厂自带的管理员用户和密码在用户使用指南中明文给出,忘记修改密码则会造成信息泄漏 | 默认用户无法登录 | Redfish资源:https://device_ip/redfish/v1/AccountService/Accounts查询属性: Members遍历查询各个对象的 Name属性,查看是否存在Administrator | 有/无 | 无 (新增管理员用户,并且使用新管理员用户登录之后删除默认用户) | 有 | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_1.R_4 | 避免设置逃生用户 | 中 | openUBMC正常使用并且配置逃生用户 | 逃生用户会逃避上述安全项检查(比如无密码过期以及不参与不活跃统计),会存在逃生用户长时间不操作导致密码泄漏风险 | 无 | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: Oem.{OemIdentifier}.EmergencyLoginUser | 已存在用户的用户名,或者为空字符串 | 空字符串 | 空字符串 | 否 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_1.R_5 | 应当禁止Host侧用户管理使能 | 中 | openUBMC正常使用,Host管理功能关闭 | 由于BMC支持标准IPMI命令,如果在开启IPMI功能场景下Host侧可免密进行用户管理操作。如创建用户、修改用户账号密码和修改用户权限操作 | Host侧无法进行BMC用户操作,标准IPMI命令user子命令无法使用 | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: Oem.{OemIdentifier}.OSUserManagementEnabled | bool: 开启:true 关闭:false | false | true | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_1.R_6 | 建议设置用户登录方式 | 高 | 用户登录时限制本地登录或远程登录 | 不存在相应的本地用户或远程用户会导致BMC无法登录 | 无法登录到BMC | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: LocalAccountAuth | 只允许本地登录:Enabled 先远程登录再本地登录:Fallback 先本地登录再远程登录:LocalFirst | LocalFirst | LocalFirst | 否 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_2 | 口令安全 | C.openUBMC.G_1_2.R_1 | 新建用户确保初始密码强制修改 | 中 | 管理员新创建的用户,首次登录策略选择强制修改密码 | 用户密码被多人持有,因此泄漏的风险很大 | 无 | Redfish资源:https://device_ip/redfish/v1/AccountService/Accounts/account_id查询属性: Oem.{OemIdentifier}.FirstLoginPolicy | 提示修改密码:PromptPasswordReset 强制修改密码:ForcePasswordReset | ForcePasswordReset | ForcePasswordReset | 否 | 是 | openUBMC在26.09版本提供 | ||
| C.openUBMC.G_1_2.R_2 | 应当设置密码有效期 | 中 | openUBMC用户正常使用过程中,应该定期修改密码 | 密码使用时间越长,则泄漏或者被破解的风险就越大 | 无 | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: Oem.{OemIdentifier}.PasswordValidityDays | int: 1 ~ 365 或者 null(无限制) | 90 | null(无限制) | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_2.R_3 | 建议设置密码最短使用期 | 中 | openUBMC用户正常使用 | 频繁修改密码,会造成密码更容易被猜测泄漏,以及造成操作上的不便 | 无 | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: Oem.{OemIdentifier}.MinimumPasswordAgeDays | int: 1 ~ 365 或者 null(无限制) 如果同时有密码有效期,则距离密码有效期限不能小于10天 | 100 | null(无限制) | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_2.R_4 | 确保设置禁用的历史密码数 | 高 | openUBMC用户正常使用,修改密码场景(包括管理员修改常规用户密码) | 新修改密码如果和历史密码有重复,则密码泄漏或者被破解的风险就增大 | 用户修改密码时,不能和历史的密码重复 | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: Oem.{OemIdentifier}.PreviousPasswordsDisallowedCount | int: 1 ~ 5 或者 null(无限制) | 5 | 5 | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_2.R_5 | 确保开启密码复杂度检查 | 高 | openUBMC用户新建和修改密码 | 复杂度低的密码更容易被破解 | 用户修改密码或者新增用户时,密码复杂度校验失败则不允许操作 | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: Oem.{OemIdentifier}.PasswordComplexityCheckEnabled | bool: true:开启 false:关闭 | true | true | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_2.R_6 | 确保开启弱密码字典检查 | 高 | openUBMC用户新建和修改密码 | 位于弱口令字典的密码容易被攻击者破解 | 用户修改密码,弱密码在弱口令字典中则不允许修改 | 使用ipmi工具查询,ipmitool -H {IP地址} -I lanplus -U {用户名} -P {密码} -C 17 raw 0x30 0x93 0xDB 0x07 0x00 0x76 0x01 0xff,当返回:db 07 00 01 00表示关闭,db 07 00 01 01表示开启,通过CLI命令 ipmcset -t user -d weakpwddic -v {enabled/disabled}设置,早期机型不支持 | bool: 开启:enabled 关闭:disabled | enabled | enabled | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_2.R_7 | 确保设置密码最小长度 | 高 | openUBMC用户新建和修改密码 | 密码长度越小,被破解的风险就越大 | 用户修改密码时,密码长度必须大于最小密码长度 | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: MinPasswordLength | 8 ~ 20 | 8 | 8 | 否 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_2.R_8 | 建议设置密码校验策略 | 高 | openUBMC用户设置密码校验策略 | 不同的校验策略所使用的校验规则不同 | 无 | 使用CLI命令查询:ipmcget -t user -d passwordrulepolicy -v <AccountType> | Customized/Default | Default | Default | 否 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_2.R_9 | 建议设置密码校验规则 | 高 | openUBMC用户设置密码检验规则 | 如果设置的校验规则过于简单造成密码泄露风险 | 用户修改密码需要满足该校验规则 | 使用CLI命令查询:ipmcget -t user -d passwordpattern -v <AccountType> | 空字符串或正则表达式 | 空字符串(BMC默认配置) | 空字符串(BMC默认配置) | 否 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_3 | 认证管理 | C.openUBMC.G_1_3.R_1 | 确保设置登录失败锁定次数 | 高 | openUBMC正常使用,针对频繁登录鉴权失败进行锁定限制 | 不设置则会被暴力破解利用,造成用户密码破解 | 用户鉴权失败达到此条所描述限制之后需要等待锁定时长之后再行登录,或者联系正确的管理员用户进行解锁 | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: AccountLockoutThreshold | 无限制,1 ~ 6 | 5 | 5 | 是 | 是 | openUBMC在26.09版本提供 | ||
| C.openUBMC.G_1_3.R_2 | 确保设置登录失败锁定时长 | 高 | openUBMC正常使用,针对频繁登录鉴权失败进行锁定限制 | 设置时长太短或者不设置则会被暴力破解利用,造成用户密码破解 | 用户鉴权失败达到限制之后需要等待此条所述锁定时长之后再行登录,或者联系正确的管理员用户进行解锁 | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: AccountLockoutDuration | 60 ~ 1800 秒 | 300秒 | 300秒 | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_3.R_3 | 应当设置登录时间规则 | 低 | openUBMC正常使用,低峰时间对系统进行保护,限制登录 | 对于使用低峰时间,由于潜在风险感知慢,处理不及时 | 限制可以登录的具体时间范围 | Redfish资源:https://device_ip/redfish/v1/Managers/1查询属性: Oem.{OemIdentifier}.LoginRule遍历数组中查找 StartTime,EndTime | 1970 ~ 2050 | 按照实际情况进行配置 | 无 | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_3.R_4 | 应当设置登录IP规则 | 低 | openUBMC正常使用,限制仅信任IP登录,对系统进行保护 | 防止用户密码泄漏情况下通过不信任IP登录破坏系统 | 限制可以登录的IP | Redfish资源:https://device_ip/redfish/v1/Managers/1查询属性: Oem.{OemIdentifier}.LoginRule遍历数组中查找 IP | IP mask:1 ~ 32 | 按照实际情况进行配置 | 无 | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_3.R_5 | 应当设置登录设备MAC规则 | 低 | openUBMC正常使用,限制仅信任设备登录,对系统进行保护 | 防止用户密码泄漏情况下通过不信任设备登录破坏系统 | 限制可以登录的设备 | Redfish资源:https://device_ip/redfish/v1/Managers/1查询属性: Oem.{OemIdentifier}.LoginRule遍历数组中查找 Mac | 具体的MAC或者MAC地址前三段 | 按照实际情况进行配置 | 无 | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_3.R_6 | 确保设置登录的安全横幅 | 低 | openUBMC正常使用 | 设置不当的带有设备或者使用协议的敏感信息,容易给破坏者提供破坏线索 | 无 | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: Oem.{OemIdentifier}.SecurityBanner | 任意字符串 | 按照实际情况进行配置 | 字符串:WARNING! (后续内容省略) | 否 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_3.R_7 | 建议关闭LDAP认证 | 低 | 建议关闭LDAP认证 | LDAP服务开启,则LDAP服务器可能被攻击,并且返回给BMC伪造的鉴权结果 | 无 | Redfish资源:https://device_ip/redfish/v1/AccountService/LdapService操作类型: GET属性: LdapServiceEnabled | bool: 开启:true 关闭:false | false | false | 否 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_3.R_8 | 建议开启LDAP证书认证 | 高 | openUBMC正常使用,LDAP服务开启 | LDAP服务身份如果不进行认证,则不信任的服务会发送鉴权结果给BMC | 开启之后对应的LDAP服务器会进行身份验证,验证不通过则无法通过该LDAP服务登录BMC | Redfish资源:https://device_ip/redfish/v1/AccountService/LdapService/LdapControllers/1查询属性: CertificateVerificationEnabled | bool: 开启:true 关闭:false | true | false | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_1_3.R_9 | LDAP证书校验级别应当为Demand | 中 | 此项在建议仅在开启LDAP证书认证项为true和使用LDAP认证为true时有意义,LDAP证书校验级别应当为Demand | LDAP服务身份方式如果不为Demand,则身份验证过程不会使用证书和TLS连接,通信数据会有泄漏风险 | 开启Demand方式之后BMC会进行校验LDAP服务身份,并且建立TLS通道 | Redfish资源:https://device_ip/redfish/v1/AccountService/LdapService/LdapControllers/1查询属性: CertificateVerificationLevel | Demand/Allow | Demand | Demand | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_2 | 证书配置 | C.openUBMC.G_2_1 | 证书配置 | C.openUBMC.G_2_1.R_1 | 建议证书过期告警时间正确配置 | 低 | openUBMC正常使用,BMC中正确导入证书 | 证书过期没有告警,则会造成通过证书认证的服务工作异常,无法进行认证 | 对于达到告警门限的证书,BMC中产生对应的告警 | Redfish资源:https://device_ip/redfish/v1/AccountService操作类型: GET属性: Oem.{OemIdentifier}.CertificateOverdueWarningTime | int: 证书过期提前预警时间(天):7~180 | 7~180 | 90 | 是 | 是 | openUBMC在26.09版本提供 |
| C.openUBMC.G_3 | 网络通信安全 | C.openUBMC.G_3_1 | SSH | C.openUBMC.G_3_1.R_1 | 若无业务需求,应当关闭SSH服务 | 中 | openUBMC正常使用中,如果没有需求使用SSH服务,则关闭该服务 | SSH服务开启之后,有SSH服务以及端口的攻击风险 | SSH客户端无法登录BMC | Redfish资源:https://device_ip/redfish/v1/Managers/1/NetworkProtocol查询属性: SSH.ProtocolEnabled | bool: 开启:true 关闭:false | false | true | 否 | 否 | openUBMC在26.09版本提供 |
| C.openUBMC.G_3_1.R_2 | 建议设置安全的SSH 加密算法 | 低 | SSH服务开启时,此条存在意义,在通过SSH登录BMC时生效 | 如果使用不安全的加密算法,则会存在潜在的可利用漏洞,造成数据泄漏 | SSH客户端如果不支持对应的加密算法,则无法通过SSH访问BMC | Redfish资源:https://device_ip/redfish/v1/Managers/1/SecurityService操作类型: GET属性: SSHCiphers | bool: 开启:true 关闭:false | SSHCiphers.aes128-ctrEnabled:true SSHCiphers.aes192-ctrEnabled:true SSHCiphers.aes256-ctrEnabled:true SSHCiphers.aes128-gcm@openssh.comEnabled:true SSHCiphers.aes256-gcm@openssh.comEnabled:true SSHCiphers.chacha20-poly1305@openssh.comEnabled:true | SSHCiphers.aes128-ctrEnabled:true SSHCiphers.aes192-ctrEnabled:true SSHCiphers.aes256-ctrEnabled:true SSHCiphers.aes128-gcm@openssh.comEnabled:true SSHCiphers.aes256-gcm@openssh.comEnabled:true SSHCiphers.chacha20-poly1305@openssh.comEnabled:true | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_1.R_3 | 建议设置安全的SSH 密钥交换算法 | 低 | SSH服务开启时,此条存在意义,在通过SSH登录BMC时生效 | 如果使用不安全的密钥交换算法,则会存在潜在的可利用漏洞,造成数据被篡改或者泄漏 | SSH客户端如果不支持对应的密钥交换算法,则无法通过SSH访问BMC | Redfish资源:https://device_ip/redfish/v1/Managers/1/SecurityService操作类型: GET属性: SSHKexAlgorithms | bool: 开启:true 关闭:false | SSHKexAlgorithms.curve25519-sha256Enabled: true SSHKexAlgorithms.curve25519-sha256@libssh.orgEnabled: true SSHKexAlgorithms.diffie-hellman-group-exchange-sha256Enabled: false SSHKexAlgorithms.diffie-hellman-group14-sha1Enabled: false SSHKexAlgorithms.diffie-hellman-group16-sha512Enabled: false SSHKexAlgorithms.diffie-hellman-group18-sha512Enabled: false SSHKexAlgorithms.diffie-hellman-group-exchange-sha1Enabled: false | SSHKexAlgorithms.curve25519-sha256Enabled: true SSHKexAlgorithms.curve25519-sha256@libssh.orgEnabled: true SSHKexAlgorithms.diffie-hellman-group-exchange-sha256Enabled: false SSHKexAlgorithms.diffie-hellman-group14-sha1Enabled: false SSHKexAlgorithms.diffie-hellman-group16-sha512Enabled: false SSHKexAlgorithms.diffie-hellman-group18-sha512Enabled: false SSHKexAlgorithms.diffie-hellman-group-exchange-sha1Enabled: false | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_1.R_4 | 建议设置安全的SSH MAC算法 | 低 | SSH服务开启时,此条存在意义,在通过SSH登录BMC时生效 | 如果使用不安全的MAC算法,则会存在潜在的可利用漏洞,造成数据被篡改或者泄漏 | SSH客户端如果不支持对应的MAC算法,则无法通过SSH访问BMC | Redfish资源:https://device_ip/redfish/v1/Managers/1/SecurityService操作类型: GET属性: SSHMACs | bool: 开启:true 关闭:false | SSHMACs.hmac-sha2-512Enabled:true SSHMACs.hmac-sha2-512-etm@openssh.comEnabled:true SSHMACs.hmac-sha2-256Enabled:true SSHMACs.hmac-sha2-256-etm@openssh.comEnabled:true | SSHMACs.hmac-sha2-512Enabled:true SSHMACs.hmac-sha2-512-etm@openssh.comEnabled:true SSHMACs.hmac-sha2-256Enabled:true SSHMACs.hmac-sha2-256-etm@openssh.comEnabled:true | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_1.R_5 | 建议设置安全的SSH Hostkey算法 | 高 | 通过SSH登录BMC | 如果使用不安全的密钥交换算法,则会存在潜在的可利用漏洞,造成伪造攻击和数据泄漏 | SSH客户端如果不支持对应的Hostkey算法,则无法通过SSH登录BMC | Redfish资源:https://device_ip/redfish/v1/Managers/1/SecurityService查询属性: SSHHostKeyAlgorithms | bool: 开启:true 关闭:false | SSHHostKeyAlgorithms.ssh-ed25519Enabled:true SSHHostKeyAlgorithms.ssh-ed25519-cert-v01@openssh.comEnabled:true SSHHostKeyAlgorithms.ecdsa-sha2-nistp256Enabled:true SSHHostKeyAlgorithms.ecdsa-sha2-nistp384Enabled:true SSHHostKeyAlgorithms.ecdsa-sha2-nistp521Enabled:true SSHHostKeyAlgorithms.rsa-sha2-256Enabled:true SSHHostKeyAlgorithms.rsa-sha2-512Enabled:true SSHHostKeyAlgorithms.ssh-rsaEnabled:false SSHHostKeyAlgorithms.ssh-rsa-cert-v01@openssh.comEnabled:false | SSHHostKeyAlgorithms.ssh-ed25519Enabled:true SSHHostKeyAlgorithms.ssh-ed25519-cert-v01@openssh.comEnabled:true SSHHostKeyAlgorithms.ecdsa-sha2-nistp256Enabled:true SSHHostKeyAlgorithms.ecdsa-sha2-nistp384Enabled:true SSHHostKeyAlgorithms.ecdsa-sha2-nistp521Enabled:true SSHHostKeyAlgorithms.rsa-sha2-256Enabled:true SSHHostKeyAlgorithms.rsa-sha2-512Enabled:true SSHHostKeyAlgorithms.ssh-rsaEnabled:false SSHHostKeyAlgorithms.ssh-rsa-cert-v01@openssh.comEnabled:false | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_1.R_6 | 确保设置SSH会话超时 | 高 | 通过SSH登录BMC | 长时间登录并且不操作,会占用对应的会话连接,并且有被顶替操作的风险 | 超时之后SSH连接自动断开 | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: Oem.{OemIdentifier}.CLISessionTimeoutMinutes单位:分钟 | 0~ 480 | 15 | 15 | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_1.R_7 | 应当关闭SSH 密码认证功能 | 低 | 通过SSH登录BMC | 由于publickey的长度远远大于password的长度,因此被破解的风险更小 | 关闭之后无法使用SSH通过密码登录BMC | Redfish资源:https://device_ip/redfish/v1/AccountService查询属性: Oem.{OemIdentifier}.SSHPasswordAuthenticationEnabled | bool: 开启:true 关闭:false | false | false | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_2 | TLS | C.openUBMC.G_3_2.R_1 | 建议设置TLS版本为安全版本 | 高 | openUBMC与客户端/第三方服务端使用TLS交互 | 由于低版本的SSL的漏洞已经被公众熟知,因此采用低版本的SSL/TLS容易被攻击 | 不支持对应TLS版本的客户端会无法使用HTTP协议访问BMC | Redfish资源:https://device_ip/redfish/v1/AccountService操作类型: GET属性: Oem.{OemIdentifier}.TlsVersion | 字符串数组: 同时支持TLS1.2与TLS1.3协议:["Tls1.2", "Tls1.3"] 仅支持TLS1.3协议:["Tls1.3"] | ["Tls1.2", "Tls1.3"] | ["Tls1.2", "Tls1.3"] | 是 | 是 | openUBMC在26.09版本提供 | ||
| C.openUBMC.G_3_2.R_2 | 建议设置TLS加密套件 | 高 | openUBMC与客户端/第三方服务端使用TLS交互 | 由于TLS中有些加密套件中的算法已经被破解,因此采用这些TLS加密套件很容易被攻击 | 不支持对应TLS版本的客户端会无法使用HTTP协议访问BMC | Redfish资源:https://device_ip/redfish/v1/Managers/1/SecurityService操作类型: GET属性: SSLCipherSuites | bool: 开启:true 关闭:false | ECDHE-RSA-AES256-GCM-SHA384Enabled: true ECDHE-ECDSA-AES256-GCM-SHA384Enabled: true DHE-RSA-AES256-GCM-SHA384Enabled: false ECDHE-RSA-AES128-GCM-SHA256Enabled: true ECDHE-ECDSA-AES128-GCM-SHA256Enabled: true DHE-RSA-AES128-GCM-SHA256Enabled: false ECDHE-RSA-CHACHA20-POLY1305Enabled: true DHE-RSA-AES128-CCMEnabled: false DHE-RSA-AES256-CCMEnabled: false DHE-RSA-CHACHA20-POLY1305Enabled: false ECDHE-ECDSA-AES128-CCMEnabled: true ECDHE-ECDSA-AES256-CCMEnabled: true ECDHE-ECDSA-CHACHA20-POLY1305Enabled: true TLS_CHACHA20_POLY1305_SHA256Enabled: true TLS_AES_256_GCM_SHA384Enabled: true TLS_AES_128_GCM_SHA256Enabled: true | ECDHE-RSA-AES256-GCM-SHA384Enabled: true ECDHE-ECDSA-AES256-GCM-SHA384Enabled: true DHE-RSA-AES256-GCM-SHA384Enabled: false ECDHE-RSA-AES128-GCM-SHA256Enabled: true ECDHE-ECDSA-AES128-GCM-SHA256Enabled: true DHE-RSA-AES128-GCM-SHA256Enabled: false ECDHE-RSA-CHACHA20-POLY1305Enabled: true DHE-RSA-AES128-CCMEnabled: false DHE-RSA-AES256-CCMEnabled: false DHE-RSA-CHACHA20-POLY1305Enabled: false ECDHE-ECDSA-AES128-CCMEnabled: true ECDHE-ECDSA-AES256-CCMEnabled: true ECDHE-ECDSA-CHACHA20-POLY1305Enabled: true TLS_CHACHA20_POLY1305_SHA256Enabled: true TLS_AES_256_GCM_SHA384Enabled: true TLS_AES_128_GCM_SHA256Enabled: true | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_3 | HTTP/HTTPS | C.openUBMC.G_3_3.R_1 | 确保关闭HTTP服务 | 中 | 使用HTTP协议进行BMC管理 | 由于HTTP协议无加密保护,因此很容易造成数据劫持/伪造/泄漏 | 无法通过HTTP访问BMC | Redfish资源:https://device_ip/redfish/v1/Managers/1/NetworkProtocol查询属性: HTTP.ProtocolEnabled | bool: 开启:true 关闭:false | false | true | 否 | 否 | openUBMC在26.09版本提供 | ||
| C.openUBMC.G_3_3.R_2 | 确保设置Redfish会话超时 | 高 | Redfish登录BMC | 长时间登录并且不操作,会占用对应的会话连接,并且有被顶替操作的风险 | 超时之后Redfish会话自动断开 | Redfish资源:https://device_ip/redfish/v1/SessionService查询属性: SessionTimeout单位:秒 | 30 ~ 86400(秒) | 300 | 300 | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_3.R_3 | 确保设置web会话超时 | 高 | HTTPS登录BMC | 长时间登录并且不操作,会占用对应的会话连接,并且有被顶替操作的风险 | 超时之后HTTPS会话自动断开 | Redfish资源:https://device_ip/redfish/v1/SessionService查询属性: Oem.{OemIdentifier}.WebSessionTimeoutMinutes单位:分钟 | 5 ~ 480(分钟) | 5 | 5 | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_3.R_4 | 确保开启HTTPS服务 | 高 | 使用HTTP协议进行BMC管理 | 由于HTTP协议无加密保护,因此很容易造成数据劫持/伪造/泄漏,并且建议修改默认端口,进一步降低被攻击风险 | 只能通过HTTPS访问BMC | Redfish资源:https://device_ip/redfish/v1/Managers/1/NetworkProtocol查询属性: HTTPS.ProtocolEnabled | bool: 开启:true 关闭:false | true | true | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_3.R_5 | 应当修改HTTPS服务默认端口 | 低 | 使用HTTPS进行BMC管理,比如WEB/Redfish等工具 | 默认端口被公众熟知,容易遭到攻击 | 当前WEB登录会自动退出并且转到修改后端口重新登录BMC | Redfish资源:https://device_ip/redfish/v1/Managers/1/NetworkProtocol查询属性: HTTPS.Port | 1 ~ 65535 | 1024 ~ 65535 | 443 | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_4 | RMCP/RMCP+ | C.openUBMC.G_3_4.R_1 | 确保关闭RMCP服务 | 高 | openUBMC正常工作 | 由于RMCP已经被破解,并且风险被公众熟知,因此开启此服务,则BMC被攻击风险很高 | 无法通过lan通道向BMC发送IPMI请求 | Redfish资源:https://device_ip/redfish/v1/Managers/1/NetworkProtocol查询属性: Oem.{OemIdentifier}.IPMI.RMCPEnabled | bool: 开启:true 关闭:false | false | false | 是 | 是 | openUBMC在26.09版本提供 | ||
| C.openUBMC.G_3_4.R_2 | 如不使用RMCP+协议,确保关闭RMCP+服务 | 中 | openUBMC正常工作 | 由于RMCP+部分加密套件已经被破解,并且风险被公众熟知,因此开启此服务,则BMC被攻击风险很高 | 无法通过lanplus通道向BMC发送IPMI请求 | Redfish资源:https://device_ip/redfish/v1/Managers/1/NetworkProtocol查询属性: Oem.{OemIdentifier}.IPMI.RMCPPlusEnabled | bool: 开启:true 关闭:false | false | true | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_4.R_3 | 确保设置安全的RMCP+加密套件 | 高 | openUBMC正常工作 | 由于RMCP+部分加密套件已经被破解,并且风险被公众熟知,因此使用默认的身份认证套件,则被攻击风险很高 | 无法通过默认的cipher向BMC发送消息,需要使用-C参数指定套件 | Redfish资源:https://device_ip/redfish/v1/Managers/1/SecurityService查询属性: RMCPCipherSuites.CipherSuite1.Enabled, RMCPCipherSuites.CipherSuite2.Enabled, RMCPCipherSuites.CipherSuite3.Enabled, RMCPCipherSuites.CipherSuite17.Enabled | bool: 开启:true 关闭:false | RMCPCipherSuites.CipherSuite1.Enabled:false RMCPCipherSuites.CipherSuite2.Enabled:false RMCPCipherSuites.CipherSuite3.Enabled:false RMCPCipherSuites.CipherSuite17.Enabled:true | RMCPCipherSuites.CipherSuite1.Enabled:false RMCPCipherSuites.CipherSuite2.Enabled:false RMCPCipherSuites.CipherSuite3.Enabled:false RMCPCipherSuites.CipherSuite17.Enabled:true | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_5 | SNMP | C.openUBMC.G_3_5.R_1 | 应当关闭SNMP服务 | 低 | openUBMC正常使用并且需要对接支持SNMP管理的上层系统 | 由于SNMP存在很多已知漏洞,因此不建议开启此服务 | 关闭之后无法使用SNMP服务以及对应的Trap功能 | Redfish资源:https://device_ip/redfish/v1/Managers/1/NetworkProtocol查询属性: SNMP.ProtocolEnabled | bool: 开启:true 关闭:false | false | true | 否 | 否 | openUBMC在26.09版本提供 | ||
| C.openUBMC.G_3_5.R_2 | 确保设置安全的SNMP版本 | 高 | 在SNMP服务开启情况下,确保设置安全的SNMP版本 | 低版本SNMP协议存在已知的安全漏洞,如果使用低版本则会对BMC造成安全风险 | 对端使用低版本的SNMP无法和BMC进行通信 | Redfish资源:https://device_ip/redfish/v1/Managers/1/SnmpService操作类型: GET属性: SnmpV1EnabledSnmpV2CEnabledSnmpV3Enabled | bool: 开启:true 关闭:false | SnmpV1Enabled:false SnmpV2CEnabled:false SnmpV3Enabled:true | SnmpV1Enabled:false SnmpV2CEnabled:false SnmpV3Enabled:true | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_5.R_3 | 确保设置SNMP用户验证算法为安全算法 | 高 | openUBMC启用SNMP功能,并且添加对应的SNMP用户 | SNMPv3身份验证算法由于安全度低,很容易被破解,对传输数据造成攻击和泄漏 | 验证算法不匹配则身份验证失败 | Redfish资源:https://device_ip/redfish/v1/AccountService/Accounts/{account_id}操作类型: GET属性: Oem.{OemIdentifier}.SnmpV3AuthProtocol | string enum: MD5算法:MD5 SHA算法:SHA SHA256算法:SHA256 SHA384算法:SHA384 SHA512算法:SHA512 | SHA256、SHA384、SHA512 | SHA256 | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_5.R_4 | 确保设置SNMP加密算法为安全算法 | 高 | openUBMC启用SNMP功能,并且添加对应的SNMP用户 | SNMPv3加密算法由于安全度低,很容易被破解,对传输数据造成攻击和泄漏 | 加密算法不匹配则身份验证失败 | Redfish资源:https://device_ip/redfish/v1/AccountService/Accounts/{account_id}操作类型: GET属性: Oem.{OemIdentifier}.SnmpV3PrivProtocol | string enum: DES算法:DES AES算法:AES AES256算法:AES256 | AES、AES256 | AES | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_3_5.R_5 | 确保设置SNMP团体名为自定义字符串 | 中 | 设置SNMP团体名,并修改成功 | 团体名是SNMP中的鉴权敏感信息,默认社区字符串会被利用或者破解造成安全攻击 | 需要使用新团体名与BMC通信 | Redfish资源:https://device_ip/redfish/v1/Managers/1/SnmpService设置属性: ReadOnlyCommunity、ReadWriteCommunity | 字符串: 16 ~ 32个字符,受密码复杂度策略影响 | 自定义字符串 | 默认团体名 | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_4 | 服务安全 | C.openUBMC.G_4_1 | Trap服务 | C.openUBMC.G_4_1.R_1 | 应当关闭Trap服务 | 中 | openUBMC正常使用 | 如果开启Trap功能,则会受到标准端口攻击,拦截到BMC上报的事件 | 关闭之后事件无法通过Trap报文进行上报 | Redfish资源:https://device_ip/redfish/v1/Managers/1/SnmpService查询属性: SnmpTrapNotification.ServiceEnabled | bool: 开启:true 关闭:false | false | true | 否 | 否 | openUBMC在26.09版本提供 |
| C.openUBMC.G_4_1.R_2 | 确保设置Trap版本为SNMPv3 | 中 | openUBMC正常使用,Trap功能启用 | 没有配置正确的Trap版本,则BMC上报的事件会被劫持或者篡改 | 不支持高版本的SNMP的Trap服务器,收不到BMC上报的事件消息 | Redfish资源:https://device_ip/redfish/v1/Managers/1/SnmpService查询属性: SnmpTrapNotification.TrapVersion | 字符串: SNMP V1:V1 SNMP V2C: V2C SNMP V3:V3 | V3 | V3 | 否 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_4_2 | Video 服务 | C.openUBMC.G_4_2.R_1 | 应当关闭Video服务 | 中 | openUBMC运行正常,对HostOS进行运行情况屏幕截图和监控视频 | openUBMC收集了Host OS的屏幕,有可能造成Host OS的敏感信息收集 | 关闭之后无法收集HostOS的屏幕截图,如果HostOS有故障则不利于问题定位解决 | Redfish资源:https://device_ip/redfish/v1/Managers/1/DiagnosticService查询属性: VideoRecordingEnabled,ScreenShotEnabled | bool: 开启:true 关闭:false | VideoRecordingEnabled:false ScreenShotEnabled:false | VideoRecordingEnabled:true ScreenShotEnabled:true | 否 | 否 | openUBMC在26.09版本提供 | ||
| C.openUBMC.G_4_3 | VNC服务 | C.openUBMC.G_4_3.R_1 | 确保关闭VNC服务 | 中 | openUBMC运行正常,使用VNC客户端进行登录 | VNC的连接是已知不安全连接,使用风险高 | 关闭之后无法使用VNC | Redfish资源:https://device_ip/redfish/v1/Managers/1/NetworkProtocol查询属性: Oem.{OemIdentifier}.VNC.ProtocolEnabled | bool: 开启:true 关闭:false | false | false | 是 | 是 | openUBMC在26.09版本提供 | ||
| C.openUBMC.G_4_3.R_2 | 确保设置VNC超时时间 | 高 | openUBMC运行正常,VNC已连接和使用 | VNC长时间连接和不使用,则会造成屏幕信息泄漏,或者连接被利用风险 | 超时时间之后VNC自动断开连接 | Redfish资源:https://device_ip/redfish/v1/Managers/1/VncService查询属性: SessionTimeoutMinutes | int: 无限制:0 会话超时时间1 ~ 480:1~480 | 1~480 | 60 | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_4_3.R_3 | 应当设置VNC独立密码有效期 | 中 | openUBMC运行正常,VNC功能启用 | VNC未设置独立密码,则默认密码泄漏风险高 | 使用独立密码登录VNC客户端 | Redfish资源:https://device_ip/redfish/v1/Managers/1/VncService查询属性: PasswordValidityDays | int: 无限期:null 有效期1~365天:1~365 | 1~365天 | 无限制 | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_4_3.R_4 | 确保设置VNC SSL加密 | 高 | openUBMC运行正常,VNC功能启用 | VNC不启用SSL加密,则所有信息明文传输,被泄漏或者劫持风险很高 | 无 | Redfish资源:https://device_ip/redfish/v1/Managers/1/VncService查询属性: SSLEncryptionEnabled | bool: 开启:true 关闭:false | true | true | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_4_3.R_5 | 确保设置VNC密码 | 高 | openUBMC运行正常,VNC功能启用 | VNC未设置独立密码,则默认密码泄漏风险高 | 使用独立密码登录VNC客户端 | Redfish资源:https://device_ip/redfish/v1/Managers/1/VncService设置属性: Password | 任意字符串,受密码复杂度影响 | 自定义字符串 | 未设置 | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_4_4 | KVM 服务 | C.openUBMC.G_4_4.R_1 | 应当关闭KVM服务 | 中 | openUBMC运行正常 | 由于KVM监控是Host侧状态,因此当Host被破解之后,会伪造数据或者操作传递给BMC造成破坏扩散,因此建议关闭KVM服务 | 关闭KVM之后BMC无法使用KVM | Redfish资源:https://device_ip/redfish/v1/Managers/1/NetworkProtocol查询属性: KVMIP.ProtocolEnabled | bool: 开启:true 关闭:false | false | true | 否 | 否 | openUBMC在26.09版本提供 | ||
| C.openUBMC.G_4_4.R_2 | 确保设置KVM超时时间 | 高 | openUBMC运行正常 | 由于KVM监控是Host侧状态,因此当Host被破解之后,会伪造数据或者操作传递给BMC造成破坏扩散,因此在需要开启KVM服务场景去报设置KVM超时时间 | 超时之后KVM连接自动断开 | Redfish资源:https://device_ip/redfish/v1/Managers/1/KvmService查询属性: SessionTimeoutMinutes | int: 无限制:0 会话超时时间1 ~ 480分钟:1 ~ 480 | 60 | 60 | 是 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_4_5 | VMM服务 | C.openUBMC.G_4_5.R_1 | 应当关闭VMM服务 | 中 | openUBMC运行正常 | 由于VMM操控是Host OS状态,因此当BMC被破解之后,会伪造数据或者操作传递给业务OS造成破坏扩散,因此建议关闭VMM服务 | 关闭之后无法使用虚拟媒体 | Redfish资源:https://device_ip/redfish/v1/Managers/1/NetworkProtocol查询属性: VirtualMedia.ProtocolEnabled | bool: 开启:true 关闭:false | false | true | 否 | 否 | openUBMC在26.09版本提供 | ||
| C.openUBMC.G_4_6 | 时钟同步服务 | C.openUBMC.G_4_6.R_1 | 应当开启NTP服务 | 中 | openUBMC正常使用 | 没有配置NTP,则BMC没有对应可信的时间戳,基于时间的服务功能会有异常(比如证书校验) | 无 | Redfish资源:https://device_ip/redfish/v1/Managers/1/NtpService查询属性: ServiceEnabled | bool: 开启:true 关闭:false | true | false | 否 | 否 | openUBMC在26.09版本提供 | ||
| C.openUBMC.G_4_6.R_2 | 应当开启NTP服务身份验证 | 中 | openUBMC正常使用,NTP服务启用 | 如果没有设置NTP身份认证,则不可信NTP服务器会伪造时间进行攻击BMC | 无 | Redfish资源: 操作类型: GEThttps://device_ip/redfish/v1/Managers/1/NtpService属性: ServerAuthenticationEnabled | bool: 开启:true 关闭:false | true | false | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_4_7 | SMTP服务 | C.openUBMC.G_4_7.R_1 | 应当关闭SMTP服务 | 中 | openUBMC正常使用,SMTP服务启用 | 如果开启SMTP功能,则会受到标准端口攻击,拦截到BMC上报的事件 | 关闭之后事件无法通过Email进行上报 | Redfish资源:https://device_ip/redfish/v1/Managers/1/SmtpService操作类型: GET属性: ServiceEnabled | bool: 开启:true 关闭:false | false | false | 否 | 是 | openUBMC在26.09版本提供 | ||
| C.openUBMC.G_4_7.R_2 | 确保设置SMTP传输方式为TLS | 高 | openUBMC正常使用,SMTP功能启用 | 没有开启SMTP传输TLS功能,则事件在传输过程中可能被劫持或者篡改 | 不支持TLS传输的SMTP服务器则无法收到BMC上报的事件消息 | Redfish资源:https://device_ip/redfish/v1/Managers/1/SmtpService查询属性: TLSEnabled | bool: 开启:true 关闭:false | true | true | 否 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_4_7.R_3 | 确保配置SMTP服务器正确 | 高 | openUBMC正常使用,SMTP功能启用 | 没有配置正确的邮件服务器,则BMC上报的事件会丢失或者被投递到其他危险的服务器 | 无 | Redfish资源:https://device_ip/redfish/v1/Managers/1/SmtpService查询属性: ServerAddress | 正确的Server地址 | 用户自定义地址 | 空 | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_5 | 日志审计 | C.openUBMC.G_5_1 | Syslog服务 | C.openUBMC.G_5_1.R_1 | 应当开启Syslog服务 | 中 | openUBMC正常使用 | 没有开启Syslog日志功能,则日志没有远端备份功能,本地日志破坏或者丢失的情况下无法进行审计 | 无 | Redfish资源:https://device_ip/redfish/v1/Managers/1/SyslogService查询属性: ServiceEnabled | bool: 开启:true 关闭:false | true | false | 否 | 否 | openUBMC在26.09版本提供 |
| C.openUBMC.G_5_1.R_2 | 确保设置Syslog传输协议为TLS | 中 | openUBMC正常使用,Syslog服务启用 | 没有开启Syslog传输TLS功能,则日志在传输过程中可能被劫持或者篡改 | 无 | Redfish资源:https://device_ip/redfish/v1/Managers/1/SyslogService操作类型: GET属性: TransmissionProtocol | String enum: UDP协议:UDP TCP协议:TCP TLS协议:TLS | TLS | TLS | 否 | 是 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_6 | 云服务配置 | C.openUBMC.G_6_1 | 业务面与管理面隔离(云化场景特有,其他场景无需关注) | C.openUBMC.G_6_1.R_1 | 带内IPMI命令增加白名单 | 中 | openUBMC正常使用,需要与业务系统隔离(参考云场景) 带内IPMI白名单,仅启用如下命令: SetWatchdogTimer ResetWatchdogTimer SetBMCEnables GetSystemInterfaceCapabilities | 除基本带内通信命令外,完全禁止带内的管理命令 | 带内无法使用BT通道发送白名单外的IPMI命令 | 1. 开启IPMI防火墙白名单,同时清除原白名单ipmitool -H ${server} -I lanplus -p 623 -U ${username} -P ${password} -C 17 raw 0x30 0x93 0xDB 0x07 0x00 0x4A 0x01 0x01 0x012. 添加白名单 # SetWatchdogTimer ipmitool -H ${server} -I lanplus -p 623 -U ${username} -P ${password} -C 17 raw 0x30 0x93 0xDB 0x07 0x00 0x3F 0x01 0x00 0x01 0x06 0x24 0x08# ResetWatchdogTimer ipmitool -H ${server} -I lanplus -p 623 -U ${username} -P ${password} -C 17 raw 0x30 0x93 0xDB 0x07 0x00 0x3F 0x01 0x00 0x01 0x06 0x22 0x08# SetBMCEnables ipmitool -H ${server} -I lanplus -p 623 -U ${username} -P ${password} -C 17 raw 0x30 0x93 0xDB 0x07 0x00 0x3F 0x01 0x00 0x01 0x06 0x2E 0x08# GetSystemInterfaceCapabilities ipmitool -H ${server} -I lanplus -p 623 -U ${username} -P ${password} -C 17 raw 0x30 0x93 0xDB 0x07 0x00 0x3F 0x01 0x00 0x01 0x06 0x57 0x08备注: server表示openUBMC设备IP地址,username/password分别表示openUBMC管理员的用户名和密码,该命令需要通过网络侧来设置 | 不开启白名单限制 | 云化场景推荐启用如下命令: SetWatchdogTimer ResetWatchdogTimer SetBMCEnables GetSystemInterfaceCapabilities 其他场景不需要配置 | 不开启白名单限制 | 否 | 否 | openUBMC在26.09版本提供 |
| C.openUBMC.G_6_1.R_2 | 带内通道权限关闭 | 中 | openUBMC正常使用,需要与业务系统隔离(参考云场景) 关闭带内管理工具通道 | 关闭后,iBMA、uRest、Smart Provisioning等带内管理工具无法使用 | 带内无法使用管理工具 | Redfish资源:https://device_ip/redfish/v1/Managers/1/SecurityService属性: IPMIChannelAccess.SMSAccessRole | 字符串: Administrator Operator User NoAccess | 云化场景推荐配置为NoAccess,其他场景推荐配置为Operator | Operator | 否 | 否 | openUBMC在26.09版本提供 | ||||
| C.openUBMC.G_6_1.R_3 | 带内管理工具网卡veth驱动关闭 | 中 | 场景:BMC正常使用,需要与业务系统隔离(参考云场景) 关闭带内管理工具依赖的虚拟网卡 | 关闭后,iBMA、uRest、Smart Provisioning等带内管理工具无法使用 | 带内无法使用管理工具 | Redfish资源:https://device_ip/redfish/v1/Managers/1/SmsService属性: VethDriverEnabled | bool: 开启:true 关闭:false | 云化场景推荐配置为false,其他场景推荐配置为true | true | 否 | 否 | openUBMC在26.09版本提供 |
附录:修订记录
| openUBMC版本号 | 文档版本 | 修订日期 | 修订记录 |
|---|---|---|---|
| 26.09 | 1.0 | 2026/08/06 | 初版安全配置基线发布 |