ACL访问控制列表入门

导语:网络通了不代表该通——ACL 就是企业网里的"门禁名单",本文带你从零搞懂它怎么写、怎么生效。

一、为什么要关注(背景与痛点)

某园区把服务器区和办公区划开了网段,但没做任何访问控制,结果任何办公电脑都能直连数据库端口;访客 Wi-Fi 居然能扫到内部存储管理地址。划分网段只是"隔开房间",ACL 才是"锁上门、发门禁卡"。没有 ACL,隔离形同虚设。

二、核心原理 / 关键概念

ACL(访问控制列表)是一组按序匹配的规则,每条规则定义"匹配什么条件、允许还是拒绝"。路由器/交换机/防火墙逐条比对,命中即执行动作,未命中走默认(多数设备默认放行或拒绝,需看清)。

要点:

  • 基本 ACL(标准):只匹配源 IP,编号一般 2000–2999(华为)/ 1–99(思科),适合粗粒度管控。
  • 高级 ACL(扩展):可匹配源/目的 IP、协议、源/目的端口,编号 3000–3999(华为)/ 100–199(思科),适合精准管控。
  • 通配符掩码(反掩码):0 表示精确匹配,1 表示忽略;0.0.0.255 对应 /24 网段。思科用通配符,华为高级 ACL 用正常掩码。
  • 生效位置(traffic-filter / ip access-group):应用在接口入向或出向,方向决定规则写在哪台设备的哪个口。

三、落地做法 / 操作步骤

场景:仅允许备份服务器 10.0.20.10 访问存储区 10.0.30.0/24,其余一律拒绝。

配置通用思路(各厂商命令语法略有差异):

  • 华为(高级 ACL + 流策略/接口调用):
    acl 3000
     rule 5 permit ip source 10.0.20.10 0 destination 10.0.30.0 0.0.0.255
     rule 10 deny ip destination 10.0.30.0 0.0.0.255
    interface Vlanif30
     traffic-filter inbound acl 3000
    
  • 新华三(H3C):acl advanced 3000 写法类似,接口用 packet-filter 3000 inbound
  • 思科:access-list 100 permit ip host 10.0.20.10 10.0.30.0 0.0.0.255 + ip access-group 100 in
  • 锐捷/迈普/信创国产:概念一致,关键字(access-group / packet-filter)与编号段略有差异。

落地步骤:先列"谁该访问谁"的清单 → 写 permit 明细 → 末尾补 deny 兜底 → 在正确的接口方向调用 → 用 ping/telnet 源地址验证。

四、网络如何为数据存储/备份提供安全底座

ACL 是存储安全底座最直接的"守门员":把存储管理口、备份区的访问来源收敛到少数几台授权服务器,等于在逻辑上把保险柜只向指定人开放;远程分支要通过 VPN 回传备份时,可在 VPN 网关上用 ACL 限制其只能访问存储网段、不能访问办公网;对外发布服务(如信创云盘)放在 DMZ 后,再用 ACL 限制其只能回连后端存储的特定端口。层层 ACL 叠加,勒索软件横向移动的成本被显著抬高。

五、常见误区 / 避坑提醒

  • 忘记默认动作:以为写了 permit 就安全,结果设备默认放行,deny 没补上。
  • 规则顺序错:ACL 是"首次匹配即停",把 deny 放最前面会把所有流量都拦掉。
  • 方向搞反:inbound/outbound 选错,规则写了却不生效。
  • 通配符算错:把反掩码当子网掩码用,匹配范围跑偏。

六、小结与行动建议

ACL 不难,难在"先想清楚策略再下笔"。建议为存储区、服务器区、访客区各写一份访问控制清单,遵循"最小授权"原则:只放行必须的源和端口,其余默认拒绝。上线前在测试环境验证,上线后保留配置备份,变更走审批。

——企业数据管家 · 诚鑫致达科技