保护园区接入与访问边界

用命中计数和正反例证明 ACL 没有误伤

本课问题:规则存在且业务可用,为什么仍要做拒绝测试? 学完你能:执行允许和拒绝两组流量,核对命中增量及未预期命中。

进阶35 分钟作者:课程内容组核验:内容技术审核组 · 2026/8/7
正在读取学习状态...

前置知识

  • ACL 匹配顺序、方向和隐含拒绝
课堂开场

本课问题:规则存在且业务可用,为什么仍要做拒绝测试?

学完结果:执行允许和拒绝两组流量,核对命中增量及未预期命中。

预计时间:35 分钟。前置课:ACL 匹配顺序、方向和隐含拒绝。

范围控制:本课不清零生产 ACL 计数。

今天只记 1:配置回显只能证明规则存在。
今天只记 2:允许测试证明合法业务通过,拒绝测试证明边界有效。
今天只记 3:命中计数要结合测试时间和流量五元组解释。

02基础知识讲解

配置回显看似正确,业务也能打开网页,但团队还不知道禁止访问财务网的边界是否真正生效。

本课最小拓扑或状态图:Test-Guest 10.30.30.10—Vlanif30 ACL3000—DNS / Finance 10.30.20.20 / Internet。

直觉解释:一次成功只能证明一条路通;允许与拒绝两个方向都符合预期,且计数命中对应规则,才证明边界有效。

正式定义:ACL 正反例验收是在固定时间窗内发送应允许和应拒绝的测试流量,并用业务结果及规则命中增量共同证明策略行为。

判断依据:命中计数要结合测试时间和流量五元组解释。

重点你要理解判断依据
重点 1配置回显只能证明规则存在。DNS 查询成功且 permit DNS 增加 1,访问财务失败且 deny internal 增加 3,互联网 HTTPS 成功。
重点 2允许测试证明合法业务通过,拒绝测试证明边界有效。DNS permit 增加 1,证明允许测试命中了预期规则。
重点 3命中计数要结合测试时间和流量五元组解释。确认测试流量确实经过该接口和 ACL。

03正确理解与常见误解

正确示例:DNS 查询成功且 permit DNS 增加 1,访问财务失败且 deny internal 增加 3,互联网 HTTPS 成功。

错误示例:只确认网页能打开便宣布 ACL 通过,没有验证内部资源是否仍可越权访问。

  • 术语与判断:配置回显只能证明规则存在。
  • 术语与判断:允许测试证明合法业务通过,拒绝测试证明边界有效。
  • 术语与判断:命中计数要结合测试时间和流量五元组解释。

04老师演示

演示环境:设备 SW1,华为 S5735-L24T4X-A,VRP V200R022C00SPC500,当前提示符 <SW1>,隔离课程网络。教师准备执行只读命令:

  1. 前检核对 SW1、目标对象、当前状态、带外路径和变更前业务基线。
  2. 只读核验(查看 ACL 规则命中计数)display acl 3000第 1 步:在目标设备上执行并核对命令作用范围
  3. 只读核验(查看 ACL 规则命中计数)display traffic-filter applied-record读取实际状态或计数器,确认“通过命中计数判断流量是否经过预期规则”已经满足
  4. 只读核验(清理 ACL 命中计数器)display acl 3000读取实际状态或计数器,确认“建立新的验证窗口,使用正反例确认规则命中”已经满足

安全说明:命令来自“查看 ACL 规则命中计数”华为实现,用于华为VRP 中用于查看 ACL 规则命中计数的最小操作与核验方法。 执行前已确认当前设备、版本、视图、影响对象、停止条件和输出脱敏范围。

脱敏真实输出:

<SW1>display traffic-filter applied-record
<Core1> display acl 3000
rule 5 permit udp (1 match) destination-port eq domain
rule 20 deny ip (3 matches) destination 10.0.0.0 0.255.255.255

异常输出:

rule 5 permit udp (0 matches)
rule 10 permit ip (9421 matches)
差异说明:DNS 规则零命中说明测试可能未经过 ACL 或条件不匹配,宽泛 permit 吸收大量流量则可能遮蔽后续规则;下一步固定源目端口并比较计数增量。
此时不能套用正常结论;先保存采集时间,再执行“清理 ACL 命中计数器”对应的最小只读检查。

05逐行读懂输出

结论:当前输出可以支持“执行允许和拒绝两组流量,核对命中增量及未预期命中。”中的基础判断,但仍要完成跟做任务和业务验收,不能把单份输出当作全部证明。

  • 第 1 行“<Core1> display acl 3000”:这是本次测试前后 ACL 计数的观察入口。
  • 第 2 行“rule 5 permit udp (1 match) destination-port eq domain”:DNS permit 增加 1,证明允许测试命中了预期规则。
  • 第 3 行“rule 20 deny ip (3 matches) destination 10.0.0.0 0.255.255.255”:内部网 deny 增加 3,证明拒绝测试没有被宽泛规则绕过。

06学员跟做

起始状态:使用隔离课程环境,SW1 当前配置保持阶段基线,学员已登录但尚未执行本课检查。目标状态:执行允许和拒绝两组流量,核对命中增量及未预期命中。

操作步骤:①记录测试前相关规则计数,不清零生产计数;②执行一条允许 DNS 和一条允许互联网测试;③执行一条到财务服务器的拒绝测试;④计算计数增量并把源目、时间与规则序号写入验收表;⑤进入“排障:ACL 应用方向错误”独立完成相同目标。

成功标准:输出与规划一致,立即闯关全部目标通过,并能用自己的话说明三个重点。失败检查顺序:①确认测试流量确实经过该接口和 ACL;②检查缓存或代理是否绕过了目标流量;③核对计数差异是否来自同一时间窗的其他用户。

  • 保存教师演示命令和本次学员输出,文件名含设备、日期和课次。
  • 步骤标题只提示检查对象,不复制最终答案。
  • 失败时一次只验证一个假设,不连续粘贴未知命令。

07安全、验证与回滚

本课以只读观察为主。只读命令仍可能暴露资产信息,保存输出前要替换序列号、真实公网地址、账号和其他敏感字段;任何清表、重启、删除或配置动作都不属于本课。

验证必须同时回答:配置或输入是否正确、设备状态是否符合预期、真实任务“执行允许和拒绝两组流量,核对命中增量及未预期命中。”是否完成。

08本课关联资源

按顺序完成:先看命令 → 立即闯关 → 可选加练 → 案例步骤 → 返回本页复盘。

  • 必学命令:查看 ACL 规则命中计数打开资源 →目标:核对本课涉及的华为主线命令及四厂商差异|完成标准:能解释用途、视图、版本范围、验证和回滚。
  • 必学命令:清理 ACL 命中计数器打开资源 →目标:核对本课涉及的华为主线命令及四厂商差异|完成标准:能解释用途、视图、版本范围、验证和回滚。
  • 立即闯关:排障:ACL 应用方向错误打开资源 →目标:独立完成“执行允许和拒绝两组流量,核对命中增量及未预期命中。”对应的最小任务|完成标准:规则引擎全部目标通过并保存关键输出。
  • 加练闯关:排障:ACL 规则顺序误阻断打开资源 →目标:在另一厂商或异常状态重复本课能力|完成标准:不看最终答案完成并写出证据顺序。

09自测一:概念判断

先判断对错,再写出为什么。

  • 判断 1:以下做法是正确的——只确认网页能打开便宣布 ACL 通过,没有验证内部资源是否仍可越权访问。
  • 判断 2:以下做法是正确的——DNS 查询成功且 permit DNS 增加 1,访问财务失败且 deny internal 增加 3,互联网 HTTPS 成功。

10自测二:输出解读

重新阅读老师演示的第 2 行输出:它能直接证明什么?还不能证明“执行允许和拒绝两组流量,核对命中增量及未预期命中。”中的哪一部分?请写出下一条最小验证证据。

11自测三:小型操作

在隔离环境或纸面拓扑中完成:执行允许和拒绝两组流量,核对命中增量及未预期命中。 保存关键输出,按“现象—证据—结论—下一步”写四行记录;不得复制本页最终结论。

答案与复盘

13下一课

下一课:DHCP Snooping 的可信上联和不可信接入口。你已经能“执行允许和拒绝两组流量,核对命中增量及未预期命中。”,下一课将用这项能力继续回答“为什么只有合法服务器方向应该被信任?”。

用命中计数和正反例证明 ACL 没有误伤|vlanif.cn