openubmc设置登录规则,不生效

问题描述

web中设置登录规则, 指定了ip白名单,但是实际非白名单ip也能登录,规则不生效, 该怎么排查?

环境信息

  • 操作系统:[如 Ubuntu 24.04]

  • 软件版本:[如 OpenUBMC2512]

重现步骤

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

:mechanic: 结论

您遇到的“IP白名单不生效”问题,最可能的原因是登录账户为“紧急登录用户”(如Administrator),其默认不受登录规则限制

:wrench: 建议立即执行:

  1. 将“紧急登录用户”设置为空;
  2. 使用普通管理员账户从 Web浏览器 登录;
  3. 使用非白名单IP(如192.168.1.100)尝试登录;
  4. 若此时被拒绝 → 说明规则有效 → 问题定位完成;
  5. 若仍可登录 → 进一步收集日志,到 discuss.openubmc.cn 提交流程与日志。
点击此处查看详细分析解答

openUBMC登录规则设置不生效问题排查指南

根据您反馈的“在Web界面设置登录规则并指定IP白名单后,非白名单IP仍可登录”的问题,结合上下文信息,以下是系统性的排查思路和解决方案。


:magnifying_glass_tilted_left: 问题分析

您已正确配置了一条启用状态的登录规则(规则1),限制特定IP地址(192.169.1.171/32)访问,但发现未被列入规则的IP仍能成功登录,说明登录规则未实际生效或未被正确执行

可能原因包括:

  • 登录规则配置未正确保存或加载
  • 系统存在多个匹配路径(如紧急登录用户、其他认证通道)
  • 规则生效范围不覆盖当前登录方式(如SSH、IPMI、Redfish等)
  • 存在并发或缓存导致规则未实时更新
  • 特权用户绕过规则控制

:white_check_mark: 排查步骤与建议

一、确认登录规则是否正确配置并启用

从截图信息可见:

  • 规则1已开启
  • IP段为 192.169.1.171/32,表示仅允许该单一IP
  • 无时间限制和MAC限制

:red_exclamation_mark: 请确保 “状态”已保存为“已开启”,且页面操作后点击“确定”或“保存”。

:white_check_mark: 检查项:

  • 登录规则是否真正提交到后端服务
  • 是否刷新页面后规则仍然存在?

提示:部分系统中若未点击“保存配置”按钮,更改可能仅存在于前端缓存中。


二、检查是否存在“紧急登录用户”绕过规则

根据知识库中《紧急登录用户问题》文档描述:

非紧急登录用户在登录规则之外预期不能登录,但实际可以登录,这是已知兼容性问题。

关键点:

  • 在 openUBMC 中,“紧急登录用户”不受登录规则限制
  • 默认紧急登录用户是 Administrator
  • 若使用此类账户登录,即使来源 IP 不在白名单内,系统仍允许登录。

:hammer_and_wrench: 排查方法:

  1. 登录Web界面 → “用户&安全” → “安全配置”
  2. 查看“紧急登录用户”设置项
  3. 确认当前登录账户是否为紧急登录用户

:magnifying_glass_tilted_right:Administrator 被设为紧急登录用户,则其无视IP/MAC/时间段限制,这可能是规则“不生效”的根本原因。

:white_check_mark: 解决方案:

  • 临时将“紧急登录用户”设为空,测试规则是否生效;
  • 或改用普通管理员账户进行测试验证。

三、确认登录方式是否被规则覆盖

登录规则通常只对某些接口生效。

参考知识库《基本规格清单》表格内容:

子功能 需求标题 WEB IPMI Redfish CLI
访问控制 支持登录限制 × ×

表明:登录规则对Web和Redfish生效,但IPMI和SSH可能不受控

:red_exclamation_mark: 常见场景:

  • 使用浏览器通过 Web 登录 → 受登录规则控制
  • 使用 ipmitoolSSH 登录 → 可能绕过Web层规则

:white_check_mark: 排查方法:

  1. 您测试时使用的登录方式是?
    • :white_check_mark: Web 浏览器登录
    • :cross_mark: SSH 命令行
    • :cross_mark: ipmitool 工具
  2. 如果是 SSH 或 IPMI 登录,请尝试改为使用 Web 登录进行测试

结论:必须确保测试通道与规则支持的接口一致


四、检查是否有多个规则冲突或优先级问题

当前页面显示三条规则:

  • 规则1:启用
  • 规则2、规则3:关闭

:warning: 注意事项:

  • 如果多条规则同时启用,系统应取“任意一条匹配即允许”逻辑。
  • 若规则未按预期聚合判断,可能存在规则引擎缺陷。

:white_check_mark: 建议操作:

  1. 暂时禁用所有其他规则;
  2. 只保留一条严格规则进行测试;
  3. 使用非白名单IP尝试登录,观察是否仍能通过。

五、确认IP地址格式与子网掩码正确性

您填写的是 192.169.1.171/32,这是标准的 CIDR 表示法(即单个主机)。

:white_check_mark: 排查项:

  • 确保输入无拼写错误(例如 192.169.1.171 写成 192.168.1.171
  • 系统是否支持 /32 掩码?部分 older 版本 BMC 可能处理异常

提示:可在“文档 → openubmc.cn”查看《表2 登录规则》说明,确认格式支持情况


六、后端服务状态检查(高级排查)

若前端配置无误但仍无效,需检查后端服务状态。

可执行命令(通过串口或SSH进入BMC):

# 查看当前登录规则状态
ipmcget -t account -d loginrule

# 检查当前活动用户
ipmcget -d userlist

# 检查白名单IP是否已加载至防火墙(iptables/ip6tables)
iptables -L -n | grep 192.169.1.171

若返回空或未找到规则 → 表明规则未下发到底层网络层。


七、检查是否触发了“全局放行”或“调试模式”

某些开发环境或调试版本中存在:

  • 强制关闭安全策略
  • 所有IP默认放行
  • 白名单功能未启用

:white_check_mark: 建议操作:

  • 确认当前固件版本是否为 正式发布版(非测试/调试/开发构建)
  • 检查系统日志 /var/log/app.log 是否有相关提示:
grep -i "loginrule\|whitelist" /var/log/app.log

:puzzle_piece: 总结:规则不生效的常见原因汇总

原因 是否符合您的情况 解决方案
用户为“紧急登录用户” :check_mark: 极有可能 更换测试账户或清空紧急用户
登录方式为SSH/IPMI,不在规则控制范围内 :check_mark: 常见 改为Web登录测试
规则未真正保存或前端缓存未刷新 :check_mark: 可能 保存后刷新页面并重启服务
多个规则冲突或未生效 :check_mark: 可能 仅启用一条测试规则
固件版本BUG或未支持白名单功能 :check_mark: 存在风险 升级至最新稳定版openUBMC
配置未同步到底层iptables/BMC服务 :check_mark: 可能 通过CLI检查规则是否加载

:books: 推荐参考资料

  1. openubmc.cn 官方文档

    • 《安全配置指南》
    • 《用户与访问控制》
    • 《登录规则配置说明》
  2. 相关论坛讨论:

    • discuss.openubmc.cn → 搜索“登录规则不生效”
    • 关键词:LoginRule, IP白名单, 紧急登录用户

:white_check_mark: 建议解决方案流程图

graph TD
    A[设置登录规则不生效] --> B{当前登录方式是?}
    B -->|Web| C[检查是否为紧急登录用户]
    B -->|SSH/IPMI/CLI| D[不支持登录规则→需改WEB测试]
    C --> E[是紧急用户?]
    E -->|是| F[更换为普通用户测试]
    E -->|否| G[检查规则是否已保存]
    G --> H[其他规则是否干扰?]
    H --> I[使用非白名单IP测试]
    I --> J[成功?]
    J -->|是| K[规则未生效]
    K --> L[检查app.log & ipmcget]
    L --> M[联系社区提交Issue]

:mechanic: 结论

您遇到的“IP白名单不生效”问题,最可能的原因是登录账户为“紧急登录用户”(如Administrator),其默认不受登录规则限制

:wrench: 建议立即执行:

  1. 将“紧急登录用户”设置为空;
  2. 使用普通管理员账户从 Web浏览器 登录;
  3. 使用非白名单IP(如192.168.1.100)尝试登录;
  4. 若此时被拒绝 → 说明规则有效 → 问题定位完成;
  5. 若仍可登录 → 进一步收集日志,到 discuss.openubmc.cn 提交流程与日志。

如需进一步协助,请提供:

  • 实际测试所用的 IP 地址
  • 登录的用户名
  • 登录方式(Web/SSH/IPMI)
  • 是否更改过“紧急登录用户”
  • /var/log/app.log 相关日志片段

我们将持续为您支持!

@genghh
登录规则是用户级别的设置,不是全局设置。 需要给限制登录的特定用户设置登录规则,对于本地用户,操作如下:

  1. 登录Web,进入 用户&安全本地用户 界面
  2. 编辑需要设置登录规则的用户, 勾选 登录规则
  3. 保存修改。

如果要给所有本地用户设置,需要每个用户都编辑,勾选 登录规则。

对于 LDAP 用户, 进入 用户&安全LDAP 界面,在页面下方的 LDAP用户组 区域,对用户组勾选单独的 登录规则。

按照帖子设置, 白名单生效了, 感谢回复

另外, 有一个例外点, “紧急登录用户” (如Administrator),其不受登录规则限制 。