只许我连你、不许你连我?华为高级ACL实现单向访问控制
本文整理自华为官方发布的典型配置案例,命令与步骤均按原始文档呈现,供现场实施参考。
公司里常见一类需求:总裁办公室要能主动访问员工办公室的资源和服务器,反过来员工办公室却不能主动碰总裁办公室,防止资料被随手翻走。把普通包过滤的思路直接搬过来并不成立——规则一拦,对方的回应报文也被掐断,双向全断。华为交换机的高级ACL给出了正解:按报文特征把主动发起和回应报文区分开,只放行回应,方向感就出来了。
思路是三条规则配合。TCP业务:允许员工网段发往总裁网段、带syn+ack标志的报文,这是对总裁侧发起连接的回应;拒绝员工网段发往总裁网段、只带syn标志的报文,主动发起连接的第一步被拦。ICMP业务:拒绝员工网段发往总裁网段的echo请求,ping不进去。要注意UDP没有连接概念,这种办法做不了单向访问。
先搭基础网络,创建VLAN并配好网关:
<HUAWEI> system-view
[HUAWEI] sysname SwitchC
[SwitchC] vlan batch 10 20
[SwitchC] interface vlanif 10
[SwitchC-Vlanif10] ip address 10.1.1.1 24
[SwitchC-Vlanif10] quit
[SwitchC] interface vlanif 20
[SwitchC-Vlanif20] ip address 10.1.2.1 24
[SwitchC-Vlanif20] quit
两个部门各在一个VLAN,网关同在一台交换机上。核心是高级ACL 3001的三条规则:
[SwitchC] acl 3001
[SwitchC-acl-adv-3001] rule permit tcp source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255 tcp-flag syn ack
[SwitchC-acl-adv-3001] rule deny tcp source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255 tcp-flag syn
[SwitchC-acl-adv-3001] rule deny icmp source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255 icmp-type echo
[SwitchC-acl-adv-3001] quit
第一条放行回应,第二条拦主动连接,第三条拦ping。规则按序匹配,顺序不能颠倒。
ACL只负责分类,还要靠流策略挂到接口才生效。流分类、流行为、流策略三步走:
[SwitchC] traffic classifier tc1
[SwitchC-classifier-tc1] if-match acl 3001
[SwitchC-classifier-tc1] quit
[SwitchC] traffic behavior tb1
[SwitchC-behavior-tb1] permit
[SwitchC-behavior-tb1] quit
[SwitchC] traffic policy tp1
[SwitchC-trafficpolicy-tp1] classifier tc1 behavior tb1
[SwitchC-trafficpolicy-tp1] quit
流行为保持permit即可,动作全靠ACL规则自己定。最终把流策略应用到员工办公室方向的入接口GE1/0/2:
[SwitchC] interface gigabitethernet 1/0/2
[SwitchC-GigabitEthernet1/0/2] traffic-policy tp1 inbound
[SwitchC-GigabitEthernet1/0/2] quit
用display acl 3001验收,三条规则的编号、匹配项、动作一目了然;接口方向也要选对,流策略应用在员工侧上行口的入方向,主动发起的流量才会在门口被拦下。最终实测双向:员工办公室ping总裁办公室不通、发起TCP连接被拒,总裁办公室访问员工办公室一切正常,单向访问就位。给内网做权限收敛时,这类单向控制是常用抓手。欢迎搜索关注贵州诚鑫致达科技,了解更多内网访问控制实战配置。