IP access-list 十大军规
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IP Access-List 十大军规
文/锐捷网络 刘亮
访问控制列表技术在网络安全技术中的应用可以说是最广泛的一种,而基于IP的访问控制列表更是在多种访问控制列表技术当中运用最广泛的,能够让学生很好地掌握访问控制列表技术,是在网络实践教学中一个重要课题,由于访问控制列表技术的讲解涉及到规则的规划,规则的调整,规则的关联,规则的调用,所以访问控制列表技术的讲解是实践教学工作中的一个难点。
针对这个课题,我结合多年的培训经验将访问控制列表的讲授重点跟各位老师分享一下,供老师在教学工作中参考。
访问控制列表军规第一条:基于IP的访问控制列表分为标准访问控制列表和扩展访问控制列表。
IP标准访问控制列表的编号范围是1-99,IP扩展访问控制列表的编号范围是100-199。
标准访问控制列表所检查的项目比较少,适合于规则控制不精细的网络,扩展访问控制列表适合于规则控制得比较精细的网络。
访问控制列表军规第二条:标准访问控制列表只检查源地址。
只检查源地址的意思是说只检查数据包是从哪一个网段发出的,符合规则的网段采用相应的规则。
标准访问控制列表例子:access-list 10 deny 192.168.1.0 0.0.0.255 这条访问控制列表的意思是拒绝192.168.1.0网段发出的任何数据包的任意访问通过。
访问控制列表军规第三条:访问控制列表的策略执行是从上至下,逐条匹配的,一旦匹配,立即执行。
例如:access-list 10 premit 192.168.1.0 0.0.0.255 access-list 10 deny
192.168.2.0 0.0.0.255 当一个属于192.168.2.0网段的数据包过来以后首先会查看第一条规则,然后才会查看第二条规则,直到找到适合自己的规则之后才会执行相应的策略。
访问控制列表军规第四条:越精细的规则越要放在访问控制列表的前列。
在设计访问控制列表规则时,要防止精细的规则由于位置的问题,基于军规第三条,可能产生这样的情况。
例如access-list 10 permit 192.168.1.0 0.0.0.255 access-list 10 deny 192.168.1.1 0.0.0.0 两条访问控制列表的规则分别是允许192.168.1.0网段数据包通过,不允许192.168.1.1这台主机的数据包通过,如果按照例子中的顺序来写规则,那么当192.168.1.1这台主机的数据包到来时,会优先查看允许192.168.1.0网段数据包通过的规则,恰好符合,那么自然就通过了,而拒绝192.168.1.1这台主机数据包通过的规则就不会发生作用了,与我们想象中的作用不符。
访问控制列表军规第五条:越常用的规则越要放在访问控制列表的前列,但不能逾越军规四。
本条军规也是访问控制列表的规则设计上进行指导,例如access-list 10 deny 192.168.1.1
0.0.0.0 access-list 10 permit 192.168.1.0 0.0.0.255 access-list 10 deny
192.168.2.0 0.0.0.255 三条规则中按设计原则上没有太大问题,但如果网络中存在大量的192.168.2.0网段的向外访问,而192.168.1.0网段向外访问量比较少,那么我们可以将规则这样调整access-list 10 deny 192.168.1.1 0.0.0.0 access-list 10 deny
192.168.2.0 0.0.0.255 access-list 10 permit 192.168.1.0 0.0.0.255 ,这样可以提高规则查找的效率,近而提高整个访问控制列表的工作效率。
但是为了提高访问控制列表工作效率不能以牺牲精确查找推后为原则。
例如:access-list 10 deny 192.168.2.0 0.0.0.255 access-list 10 permit 192.168.1.0 0.0.0.255 access-list 10 deny 192.168.1.1 0.0.0.0。
这样是与军规四相违背的。
访问控制列表军规第六条: 访问控制列表存在隐含规则为拒绝所有。
军规第六条之所以这样设计,主要是考虑到对于非法用户及不确定是否拥有访问权限的用户进行默认控制。
这样可以避免因为遗忘或者访问控制规则设计的纰漏造成的不能对非法用户进行有效控制的情况。
例如access-list 1 permit 192.168.1.0 0.0.0.255这条访问控制列表表面上允许192.168.1.0网段通过,其实隐含了一条规则为access-list 1 deny any,这样如果该网络中还有192.168.2.0 或者其他网段的用户默认情况下是拒绝通过的,如需开放某网段,需再添加条件即可。
访问控制列表军规第七条:访问控制列表必须在接口下调用。
这条规则比较好理解,就是说制定完访问控制规则之后,一定要找一个地方来调用它,执行它。
如果访问控制列表没有被在接口下调用,那么即使设计再细致的方案也将无法生效,好比一项法令颁布后,有人违法却无人执法一个道理。
之所以将此规定明确列入十大军规,是因为对于学生或者初学者,经常会遗忘这一看似不重要的要点。
访问控制列表军规第八条:访问控制列表某条规则一旦删除必须重新配置所有规则。
军规第八条的规定更象是访问控制列表的一个毛病,特别是在大型网络的设计实施过程中,如果某条访问控制条目出错,需要删除时,必须将这条访问控制列表的所有规则删除掉,因为在访问控制列表中没有指针指定某个条目的所在位置。
如何解决这个不近人情的问题呢?最好的办法就是将所有的访问控制列表规则现在电脑“记事本”程序中将所有规则敲入,制作成规则模板,确认无误后再导入设备中,如果后期出现问题,那么直接在规则模板中修改并导入即可。
访问控制列表军规第九条:标准访问控制列表尽量在靠近目标地址的接口上调用。
由于标准访问控制列表只能检查源地址,不考虑数据包的目标地址,所以如果在靠近源地址上调用访问控制列表,极有可能造成该网段用户所有地址均不能访问网络任何资源。
例如下图中PC2处于172.16.2.0/24网段,规则只禁止该网段不能访问172.16.4.0/24网段,如果该规则在router1的F1/1接口调用,那么该网段将不能访问所有外部网络,因为标准访问控制列表只检查源地址,所以标准访问控制列表尽量在靠近目标地址的接口上调用。
访问控制列表军规第十条:扩展访问控制列表尽量在靠近源地址的接口上调用。
扩展访问控制列表可以检查源地址及目标地址,按照一般的应用放在哪个接口上都不影响规则的实施,但我们要注意一个细节。
如果不允许某些用户的访问请求,那么就应该尽可能早的将访问的请求拒绝掉,而如果将规则在靠近目标地址的接口下调用,那么本该拒绝的数据流依然会在链路上传输,从而造成带宽资源的浪费。
例如下图中规则禁止PC2访问PC4,那么如果将规
则应用在router2的F1/1接口下,效果也可以达到,但是PC2访问PC4的数据请求,也经过了整个网络的传输,既然不允许两台主机互访,为了提高网络的整体运行效率,那么为什么不将该数据请求发出时就禁止掉呢?
所以扩展访问控制列表尽量在靠近源地址的接口上调用。