• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

使用acl限制用户使用的命令这样定义可以吗

13小时前提问
  • 0关注
  • 0收藏,35浏览
粉丝:0人 关注:0人

问题描述:

 

第一条的 no rule all表示什么意思,是按什么顺序进行匹配的

role name ops-role

 no rule all

 rule 10 permit command display *

 rule 20 permit command system view;interface *

 rule 30 permit command vlan *

 rule 40 permit command ping *

 rule 50 permit command tracert *

 rule 1 deny command *

 

 

4 个回答
粉丝:13人 关注:9人

一、配置可行性
该RBAC角色命令限制配置逻辑可行,属于标准的RBAC命令级授权配置,用于限制ops-role角色用户仅能执行指定命令。
二、no rule all的含义
no rule all是删除该角色下所有已配置的rule规则,属于配置前的清空操作,避免原有遗留规则干扰当前授权逻辑,是RBAC角色配置的常用初始化操作。
三、规则匹配顺序
RBAC的命令规则遵循规则ID从小到大的顺序匹配,且是首次匹配即生效:
1. 先匹配ID最小的rule 10,再依次匹配rule 20、30…直到rule 1;
2. 只要某条规则匹配上当前执行的命令,就立即按该规则的permit/deny执行,不再继续匹配后续规则;
3. 你配置的ID为1的deny规则ID最小?不对——注意:你配置的rule 1 deny command *ID是1,比rule 10更小,会优先匹配,导致所有命令都被拒绝,配置顺序错误。
修正建议
把全拒规则的ID调为最大(比如rule 100 deny command *),确保先匹配放行规则,最后命中全拒。

暂无评论

粉丝:22人 关注:0人

删除所有的ACL 条目

暂无评论

按序号顺序匹配

暂无评论

粉丝:25人 关注:2人

这套配置逻辑可用,但写法存在缺陷、有安全漏洞,先拆解每条含义、匹配顺序,再指出问题并给出修正版本。

1、no rule all 作用

在 H3C 角色(role)命令权限视图下:
  • no rule all清空该角色下原先所有旧的命令控制规则,防止残留旧权限规则造成权限错乱;
  • 仅清空当前 ops-role 角色内部规则,不影响其他角色、全局配置。

2、规则匹配顺序(从上至下顺序匹配,命中即停止)

权限规则严格按照 rule 编号从小到大依次匹配:10 → 20 → 30 → 40 → 50 → 1。
匹配逻辑:
  1. rule10:放行所有 display 查看类命令;
  2. rule20:放行进入系统视图、进入任意接口视图的命令;
  3. rule30:放行所有 vlan 相关配置命令;
  4. rule40:放行 ping;
  5. rule50:放行 tracert;
  6. rule1:拒绝其余所有命令
重点:rule 1 deny command * 编号 1 排在最后执行,并不会最先拦截,编号只决定匹配先后顺序,和 deny/permit 无关。

二、当前配置存在 3 个严重漏洞

漏洞 1:rule20 权限过大,存在越权风险

plaintext
rule 20 permit command system view;interface *
允许用户执行 system-view 进入系统视图 + 进入任意接口视图,结合 rule30 允许配置 vlan,用户可以:
进入接口视图配置 shutdown、修改 IP、删除配置,甚至上传文件、破坏业务,超出普通运维只读 / 有限运维的初衷。

漏洞 2:规则编号不合理

拦截所有命令的拒绝规则 rule 1 deny command * 编号为 1。
未来新增权限规则时,如果新增 rule 5、rule 8 这类编号,会插到 deny 规则前面,导致新增规则失效,规范做法:拒绝所有的兜底 deny 规则放在最大编号(如 rule 100 deny command *)

漏洞 3:可以进入系统视图,但没有限制高危命令

用户进入 system-view 后,除了 vlan 命令放行,其余配置命令会被最后一条 deny 拦截,但依然存在风险:
比如执行 save 覆盖配置、reboot 重启设备(reboot 不属于 display/vlan/ping/tracert,最终会被 deny 拦截,但进入系统视图本身具备操作入口)。

三、每条规则详细释义

plaintext
role name ops-role no rule all // 清空本角色原有全部命令权限规则 rule 10 permit command display * // 允许所有display查询命令 rule 20 permit command system view;interface * // 允许进入系统视图、进入任意接口 rule 30 permit command vlan * // 允许所有vlan创建、删除、配置命令 rule 40 permit command ping * rule 50 permit command tracert * rule 1 deny command * // 兜底:禁止上面未放行的全部命令

四、优化修正版本(安全规范写法,只读运维角色)

场景需求:运维只能查看、ping/tracert,仅允许配置 VLAN,不能执行重启、保存、删除配置、shutdown 端口

plaintext
role name ops-role no rule all # 允许所有查看命令 rule 10 permit command display * # 允许进入系统视图、仅允许进入vlan接口,禁止随意进入业务接口 rule 20 permit command system-view rule 21 permit command interface Vlan-interface* # 允许VLAN相关配置 rule 30 permit command vlan * # 诊断工具 rule 40 permit command ping * rule 50 permit command tracert * # 禁止高危操作:保存、重启、删除配置、接口shutdown、ftp上传等 rule 80 deny command save rule 81 deny command reboot rule 82 deny command reset save rule 83 deny command interface Ten-GigabitEthernet* rule 84 deny command interface GigabitEthernet* # 兜底拒绝所有未放行命令,放在最大编号 rule 100 deny command *

若想要「纯只读账号,完全不能配置任何内容」极简版本

plaintext
role name read-only no rule all rule 10 permit command display * rule 20 permit command ping * rule 30 permit command tracert * rule 100 deny command *

五、补充使用配套绑定命令

创建角色后,把账号绑定角色生效:
plaintext
local-user test class manage authorization-attribute role ops-role

六、总结

  1. no rule all = 清空当前角色原有全部权限规则;
  2. 匹配顺序严格按照 rule 数字从小到大执行;
  3. 你的原始配置语法合法能运行,但权限偏大、编号不规范,存在运维误操作风险;
  4. 规范范式:放行规则放小号,高危拒绝规则居中拦截,最后用最大编号 rule 兜底拒绝全部命令。

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明