自反ACL
自反ACL(Reflective ACL)是动态ACL技术的一种应用。它根据IP报文的上层会话信息生成,只有当私网用户先访问了公网后才允许对应的公网用户访问本地私网。利用自反ACL可以很好的保护企业内部网络免受外部非法用户的攻击。只能针对高级ACL或者高级ACL6进行自反ACL,并且只能根据TCP、UDP和ICMP协议类型的报文自动生成ACL规则。
一、自反ACL的基本工作原理
自反ACL有以下两个显著的特点
(1)由内网始发的流量到达配置了自反ACL功能的设备后,设备根据此流量的第三层和第四层信息自动生成一个临时性的反向ACL,并保持一段时间。此临时性ACL规则中的协议类型不变,源IP地址和目的IP地址,以及源端口与目的端口与始发ACL规则对调。
(2)当对端设备发出的响应报文到达配置了自反ACL功能的设备时,会自动根据这个临时性的ACL允许响应通信通过。设备如何确定该响应通信是始发ACL通信的响应通信?依据响应报文中的第三、四层信息与先前始发ACL通信报文中的第三、四层信息是否严格匹配来判定。
根据不同的匹配规则,自反ACL的实现原理如下:
(1)当配置自反ACL功能的接口通过TCP或UDP协议类型的报文时,接口将下发一条报文源IP地址和目的IP地址、源端口和目的端口互换的ACL规则。
(2)当配置自反ACL功能的接口通过ICMP协议类型的报文时,自反ACL功能阻止目的端发送的ICMP-Echo-Request报文通过,允许接收目的端发送的ICMP-Echo-Reply报文。
(3)自反ACL匹配的协议类型与触发接口自动生成自反ACL的报文协议类型相同。
如上图拓扑,在交换机上配置自反ACL功能后,外网无法主动访问内网。
即使生成了临时自反acl,外网主动发起的报文也无法访问内网,因为还有报文中的第三、四层信息与先前始发ACL通信报文中的第三、四层信息是否严格匹配的限制。
二、配置自反ACL
配置任务3个方面:
(1)配置需要用于启动自反ACL功能的高级ACL。
(2)在对应交换机端口上启用对应高级ACL的自反ACL功能,并可选择配置该自反ACL的老化时间。
(3)(可选)在交换机上全局配置自反ACL的老化时间。
三、自反ACL配置示例
如上拓扑,在Switch的GE1/0/1端口连接了内网的用户,GE2/0/1端口连接到Internet。在GE2/0/1端口的出方向上配置基于UDP协议的自反ACL功能,当内网的主机先访问Internet中的服务器之后才允许Internet的服务器访问内网的主机。同时在全局和GE2/0/1端口下配置自反ACL的老化时间。
配置步骤:
(1)配置高级ACL,允许UDP报文通过。
<Huawei>system-view
[Huawei]acl 3000
[Huawei-acl-adv-3000]rule permit udp
[Huawei-acl-adv-3000]quit
(2)在GE2/0/1端口出方向上自反ACL功能和老化时间(假设600s)
[Huawei]interface Gigabitethernet 2/0/1
[Huawei-GigabitEthernet2/0/1]traffic-reflect outbound acl 3000 timeout 600
[Huawei-GigabitEthernet2/0/1]quit
(3)配置全局自反ACL老化时间,但此时在GE2/0/1端口出方向上的自反ACL的老化时间仍是在该端口上配置的老化时间——600s
[Huawei]traffic-reflect timeout 900
配置实例:
如上拓扑,交换机按默认配置,此时server1、2和Client1互相连通。现在在LSW1的GE0/0/2端口配置出方向上自反ACL,允许Server1自反访问Client1。
本意是通过在LSW1的GE0/0/2上应用自反ACL,允许Client1主动与Server1通信,而不允许server1主动与Client1通信,不允许server2与client1通信,但是测试环境中没有对应的traffic-reflect命令,无法测试。