引航顾问 发表于 2013-12-3 15:15:33

Reflexive ACL配置指南-LM

本帖最后由 引航顾问 于 2013-12-3 15:23 编辑


   有这么个要求,我们要允许内部的机器可以访问外部,可是不允许外部的主机访问内部,有人说,这个简单,用一个访问控制列表,在串口上做如下配置:
router(config)#access-list 100 deny ip any any
router(config-if)#ip access-group 100 in
       这样做的结果是外面肯定不能访问内部了,可是我们从内部出去的数据包也没法回来了,所以这种做法不行。

       扩展一下,我们知道TCP在建立连接之前,有一个三次握手过程,在TCP头里面有一个标志位,我们的扩展访问控制列表可以对这个标志位进行控制。内部主机向外发起连接的时候,SYN=1,而外部的主机回应包里面为 SYN=1,ACK=1
而一个外部主机要想内部发起连接,他的第一个包只是SYN=1,而ACK=0,所以,我们可以通过这种方式来做:
Router(config)#access-list 100 permit tcp any any ack
或者
Router(config)#access-list 100 permit tcp any any established
然后应用到接口上
router(config-if)#ip access-group 100 in

       这个方法是可以,但是如果不是TCP的应用,是UDP的程序该如何办?很显然,通过这个方式是解决不了的。我们用自反访问列表就可以很好的解决这个问题:

       自反访问列表的英文名字是Reflexive AccessLists,Reflexive这个词我们翻译成自反(自我反射),它属于动态访问列表的范畴。网络中我们把内部网络称之为Clean Network,而外网称之为Dirty Network。一般来说我们都不希望来自Dirty Network的流量进入Clean Network,而Clean Network发起到外部的连接需要生效。实施上这就是上述描述的案例。系统对自反列表的应用是经过计算的,大体来说他会根据一个方向的访问控制列表,自动创建出一个反方向的控制列表,既一个和原来控制列表的IP的源地址和目的地址颠倒,并且源端口号和目的端口号完全相反的一个列表。由于是动态列表所以动态生成的条目还有一定的时间限制,过了时间,就会超时,这个新创建的列表就会消失或者说失效,这样大大增加了安全性。
看看具体案例:
**** Hidden Message *****
总结:
       自反访问控制列表在第四层上分析数据流,是一个按需生成的控制列表,也就是说属于动态访问列表。在没有数据流的时候,会自动消失,是一种较自动化的数据控制方式,在一定程度上防止了DOS攻击,非常有效的保护了用户的网络免受黑客破坏,并且对UDP数据包最有效(对于UDP包,扩展访问控制列表毫无办法)。

       当然自反列表也有局限性,后期我们来讨论一下CBAC,看看CBAC如何解决高于四层的连接过滤问题。

注:如有兴趣的同学更深了解,点击武汉引航官方网址:www.enhan.com.cn

blue25angel 发表于 2013-12-3 15:28:53

{:6_263:}{:6_263:}

网络稿手 发表于 2013-12-3 15:30:17

{:6_268:}{:6_268:}{:6_268:}

指导顾问 发表于 2013-12-4 10:43:36

过来瞧瞧下!!!!!

JAY_TANK 发表于 2013-12-6 14:12:18

{:6_268:}{:6_268:}{:6_268:}

~小伙子 发表于 2021-6-17 19:51:41

学习
页: [1]
查看完整版本: Reflexive ACL配置指南-LM