网络设备配置与管理————16、ACL(访问控制列表)
使用ACLS保护网络
tcp会话
ACL 使您能够控制进出网络的流量.
ACLs 可以将 ACL 配置为根据使用的 TCP 和UDP端口来控制网络流量.
Port Number
数据包过滤
当数据包到达过滤数据包的路由器时,路由器会从数据包报头中提取某些信息,根据过滤规则决定该数据包是应该通过还是应该丢弃.
ACL 可以从数据包报头中提取以下信息,根据规则进行测试,然后决定是“允许”还是“拒绝”:
源IP地址
- 目的IP地址
- ICMP消息类型
ACL 也可以提取上层信息并根据规则对其进行测试。上层信息包括:
- TCP/UDP 源端口
- TCP/UDP目的端口
在本场景中,数据包过滤器按如下方式检查每个数据包:
如果来自网络 A 的TCP SYN 数据包使用端口80,则允许其通过。但会拒绝用户的所有其它访问。
如果来自网络 B 的TCP SYN 数据包使用端口80,则阻止该数据包。但会允许用户的所有其它访问。
ACL
ACL简介
ACL 是一种路由器配置脚本,它根据从数据包报头中发现的条件来控制路由器应该允许还是拒绝数据包通过.
ACL 执行以下任务:
–限制网络流量以提高网络性能.
–提供流量控制。ACL可以限制路由更新的传输.
–提供基本的网络访问安全性。ACL可以允许一台主机访问部分网络,同时阻止其它主机访问同一区域。
–决定在路由器接口上转发或阻止哪些类型的流量。
–控制客户端可以访问网络中的哪些区域。
–屏蔽主机以允许或拒绝对网络服务的访问。ACL可以允许或拒绝用户访问特定文件类型,例如FTP 或 HTTP.
3P 原则
- 每种协议一个ACL 要控制接口上的流量,必须为接口上启用的每种协议定义相应的ACL。
- 每个方向一个ACL 一个ACL 只能控制接口上一个方向的流量。要控制入站流量和出站流量,必须分别定义两个ACL。
- 每个接口一个ACL 一个ACL 只能控制一个接口(例如快速以太网0/0)上的流量。
ACL工作原理
ACL 要么配置用于入站流量,要么用于出站流量.
•入站 ACL传入数据包经过处理之后才会被路由到出站接口。入站 ACL 非常高效,如果数据包被丢弃,则节省了执行路由查找的开销。当测试表明应允许该数据包后,路由器才会处理路由工作.
•出站 ACL 传入数据包路由到出站接口后,由出站 ACL 进行处理.
ACL 及路由器上的路由和 ACL 过程
隐含的“拒绝所有流量”条件语句
Cisco ACLs的类型
有两类Cisco ACLs, 标准的和扩展的.
–标准 ACLs:标准 ACL根据源IP地址允许或拒绝流量.
–扩展 ACLs:扩展 ACL根据多种属性.
标准ACL的工作原理
使用ACL 时主要涉及以下两项任务:
- Step 1.通过指定访问列表编号或名称以及访问条件来创建访问列表.
- Step 2.将 ACL应用到接口或终端线路.
编号ACL和命名ACLS
从Cisco IOS 11.2 版开始,您可以使用名称来标识Cisco ACL.
编号 200 到 1299 已由其它协议使用. 例如,AppleTalk使用编号 600 到 699,而 IPX 使用编号 800 到 899.
ACLS的放置位置
每个ACL 都应该放置在最能发挥作用的位置。基本的规则是:
–将扩展ACL 尽可能靠近要拒绝流量的源。这样,才能在不需要的流量流经网络之前将其过滤掉.
–因为标准ACL 不会指定目的地址,所以其位置应该尽可能靠近目的地.
ACL最佳做法
配置标准ACLS
输入条件语句
您应该将最频繁使用的ACL 条目放在列表顶部.
您必须在ACL 中至少包含一条 permit 语句,否则所有流量都会被阻止For example,图中的两个ACL(101 和102)具有相同的效果.
配置标准ACL
在图中,路由器会检查进入Fa0/0 的数据包的源地址:
access-list2 deny 192.168.10.1
access-list2 permit 192.168.10.0 0.0.0.255
access-list2 deny 192.168.0.0 0.0.255.255
access-list2 permit 192.0.0.0 0.255.255.255
标准 ACL命令的完整语法如下:
Router(config)#access-listaccess-list-numberdeny/permitremarksource [source-wildcard] [log]
ACL通配符掩码
通配符掩码使用以下规则匹配二进制 1 和0:
- 通配符掩码位0 — 匹配地址中对应位的值
- 通配符掩码位 1 — 忽略地址中对应位的值
将标准ACLS应用到接口
配置标准ACL 之后,可以使用ipaccess-group 命令将其关联到接口:
Router(config-if)#ipaccess-group{access-list-number |access-list-name}{in | out}
编辑编号ACLS
创建标准命名ACLS
监控和检查ACLS
编辑和命名ACLS
配置扩展ACLS
扩展ACLS
创建扩展命名ACLS
配置复杂ACLS
复杂ACLS
复杂ACL 的类型
在标准 ACL和扩展 ACL的基础上构建复杂 ACL,从而实现更多功能。图中的表格总结了复杂ACL 的三种类型
动态ACLS
什么是动态ACL?
– “锁和钥匙”是使用动态ACL(有时也称为锁和钥匙ACL)的一种流量过滤安全功能
–动态ACL依赖于Telnet连接、身份验证(本地或远程)和扩展ACL。
动态ACL 的优点?
使用询问机制对每个用户进行身份验证
简化大型网际网络的管理
在许多情况下,可以减少与ACL有关的路由器处理工作
降低黑客闯入网络的机会
通过防火墙动态创建用户访问,而不会影响其它所配置的安全限制
自反ACLS
基于时间的ACLS
排除常见ACLS错误
参考:Cisco