1、1 网络安全概述2 访问控制列表的原理3 访问控制列表的类型4 访问控制列表的特性和特征5 使用访问控制列表阻止未经授权的访问6 访问控制列表的配置原则7 访问控制列表的实际应用(学校网络拓扑)第二章 访问控制列表的原理访问控制列表是由一系列语句组成,这些语句主要包括匹配条件和采取的动作(允许或拒绝)两个部分。访问控制列表应用在路由器的接口上,通过匹配数据包信息和访问控制列表参数来决定允许还是拒绝数据包通过某个接口。访问控制列表可以分为进站访问控制列表和出站访问控制列表两部分,它们分别对进、出路由器的数据包进行控制,具体有以下三个步骤 :(1) 当路由器的接口接收到一个数据包时,它首先检查是否
2、有进站访问控制列表与接口相关联,如果没有,则进入正常的路由选择进程;如果有,则执行访问控制列表的允许或拒绝操作,被拒绝的数据包将会被丢弃,被允许的数据包将进入路由选择状态。(2) 路由器对通过进站访问控制列表的数据包执行路由选择,如果其路由表中没有到达目标网络的路由,它将丢弃数据包;如果路由表中存在到达目标网络的路由条目,它会将数据包发往合适的出口。(3) 数据包到达路由器的出口时,路由器检查是否有出站访问控制列表与此接口相关联,如果没有,它直接将数据包发送出去;如果有,它会执行访问控制列表的允许或拒绝操作,被拒绝的数据包将会被丢弃,被允许的数据包将被发送出去。第三章 访问控制列表的类型IP
3、ACL 根据功能主要分为两类:标准访问扩展访问访问列表可分为标准访问列表和扩展访问控制列表。标准访问控制列表只检查数据包的源地址,功能较为单一。扩展 IP 访问列表不仅检查数据包的源地址,还要检查数据包的目的地址、特定协议类型、源端口号、目的端口号等,因此,扩展访问控制列表具有更大的灵活性和可扩充性。例 1-1 显示了一个标准访问控制列表的例子例 1-1 标准 ACLAccess-list 10 deny 150.1.1.0 0.0.0.255这个访问控制列表拒绝源 IP 地址包含在子网 150.1.1.0/24 中的流量。Access-list命末尾制定的掩码是通配符掩码,这就意味着它与通常
4、用在 IP 地址中掩码相反。通配符掩码中的 0 制定了 IP 地址中的相应位;对于根据这一访问控制列表来得到匹配,通配符掩码中 1 所指定 IP 地址中的相应位不是重要的。图 1-1 显示了怎样在路由器接口上处理标准 ACL。为了限制通过接口的流量,在特殊的方向将一个访问组应用到一个接口上,这对于以这种方式打开或者关闭 ACL 处理来说就是拨动开关。在给定方向只有一个 ACL 可以应用到一个接口上。一个接口收到分组在分组流方向配置有访问组?不要求 ACL处理转发分组到下一个路由例程根据分组源地址检查 ACE,分组源地址等于ACE 地址吗?检查更多的ACE吗ACE条件采用带隐式拒绝的ACE产生
5、ICMP 消息丢弃分组图 1-1 使用标准 ACL 来限制通过路由器接口的流量例 1-2 显示了一个扩展的访问控制列表。在这个例子中,允许主机 100.1.1.1 访问端口80(HTTP)的 200.1.1.1 上的 Web 服务器。但所有其他的流量都遭到拒绝。扩展访问控制列表中掩码的使用方法与标准访问控制列表中的一样。例 1-2 扩展 ACLAccess-list 100 permit tcp host 100.1.1.1 host 200.1.1.1 eq 80Access-list 100 deny ip host 100.1.1.1 host 200.1.1.1使用代表性的 host
6、关键字来代替通配符掩码 0.0.0.0扩展访问控制列表使用 100 到 199 之间的数字,而标准访问控制列表使用 1 到 99 之间的数字。图 1-2 显示了怎样在路由器接口上处理扩展 ACL。 (插图)第四章 访问控制列表的特性和特征这一节描述的是思科路由器上 ACLde 一些主要特性和特征。ACE 和 ACL 是这些特性的大部分组成。1. 基于匹配必要性的 ACE 顺序以自顶向下的方式对 ACL 进行处理。当发现一个匹配表向时就停止处理过程。因此,首先进行指定主机(host-specific )表项的匹配,接下来进行子网匹配,然后是分类网络匹配,最后是 ACE 的“任意”匹配,以这种方式
7、建立 ACE 很重要。如果 ACL 允许子网的一台特殊主机而不允许该子网的其他主机,并且在该特殊主机表项前已经配置了 ACE,那么就首先匹配子网表项并且不处理更多的 ACE。子网 ACE 应用到一台特殊主机,根据下一个ACE(它永远不会得到处理)该主机将得到允许。2. 基于匹配可能性的 ACE 顺序ACL 以一种自顶向下的方式得到处理,这意味着列在访问控制列表顶端的表项首先得到处理,就像路由器配置中所显示的那样。如果第一个表项没有与正在受检查的流量相匹配,那就接着处理剩余的表项。当发现一个匹配时就停止对访问控制列表的处理。由于 ACL 具有这一特性,所以对访问控制列表顶端那些更可能得到匹配的表
8、项进行配置是非常有用的。然而在做这一项工作时一定要记住“基于匹配必要性的 ACE 顺序”中所描述的内容。这可以节省一些 CPU 的开销。作为头号规则,扩展访问控制列表的性能影响随着访问控制列表中的表项的增加而线性增加。3. 隐式拒绝 ACE任何定义好的访问控制列表在 ACL 配置表项的末尾都有一个隐式的 deny all。这意味着如果访问控制列表中一个标准也没有得到匹配,就考虑拒绝受检查的分组。该规则的一个例外情况是当引用访问控制列表仅仅是为了没有配置的表项时。在这种情况下,就认为访问控制列表包含一个单一的 permit all 表项。4. 分布式环境中的 ACL 处理当路由器带有一个 RSP
9、 卡和一个 VIP 卡时,VIP 卡可以进行 ACL 处理,前提是路由器上配置了 dCEF。但是,如果为了在访问控制列表末未使用 log 关键字对访问控制列表进行采样而配置日志功能,那么 RSP 仍然需要处理日志。5. ACL ACE 的增加顺序ACL 不是路由器上最容易维护的表项。为了从访问控制列表中删除一个 ACE 表项,需要移动整个访问控制列表。然而,对访问控制列表增加表项却不需要进行这样的调整。对于大的访问控制列表,在一个文本编辑器中修改列表,在小心删除将要更改的访问控制列表后,剪切/复制/粘贴这些改变通常是一个好主意。6. 对于未定义 ACL 的 permit all ACE如果在使
10、用 access-group 命令的接口上应用了访问控制列表,但却没有在配置中创建该访问控制列表,那么 Cisco IOS 就假定访问控制列表包含单个的 permit ip any any ACE。第五章 使用访问控制列表阻止未经授权的访问采用 ACL 的一个基本目的是组织未经授权的访问。可以以两种基本方式使用 ACL 来控制访问:可以配置它们来阻止未经授权而访问配置了列表的路由器。可以配置它们来阻止未经授权而访问位于盒子的上游或者下游的设备。ACL 的基本访问控制功能网络中访问控制列表的基本功能是将对网络资源的访问限制到:一组受限的 IP 地址访问一组受限的服务。第六章 访问控制列表的配置原
11、则(1)标准访问控制列表应该尽量放置在接近数据流目的地的地方,扩展访问控制列表应该尽量放置在接近数据流源的地方。 (2)最具限制性的语句应该放在访问控制语句的首行,按从特殊到一般的原则安排先后顺序。(3)新的语句只能被添加到访问控制列表的末尾即不允许将新的语句插入到原有的访问控制列表中(4)在访问控制列表的最后,有一条隐含的“全部拒绝”命令,所以在访问控制列表里至少要有一条“允许”的语句。(5)访问控制列表只能过滤穿过路由器的数据流量,不能过滤路由器本身发出的数据包。第六章 访问控制列表在网络安全中的具体应用右侧为该单位局域网,左侧为互联网,根据网络安全的实际需要,可以选择下面几种配置访问控制
12、列表的方法 :1 TCP 拦截SYN 洪水 (SYN Flood) 攻击是当前比较流行的 DoS( 拒绝服务 )与 DDoS( 分布式拒绝服务 ) 攻击方式之一,它利用 TCP 的缺陷,发送大量的伪造的 TCP 连接请求,从而使被攻击方资源耗尽的攻击方式。Web 服务器的 IP 地址为:192.168.1.10/24 , 配置路由器进行 TCP 拦截,以保护 Web 服务器不受 SYN 洪水攻击,在拦截模式下,设置最大半连接数的高、低值为 500 和 300,每分钟保持连接数的高、低值分别为 500 和 300。配置如下 :Router(config)#access-list 100 perm
13、it tcp any host 192.168.1.10 Router(config)#ip tcp intercept mode interceptRouter(config)#ip tcp intercept max-incomplete high 500Router(config)#ip tcp intercept max-incomplete low 300 Router(config)#ip tcp intercept one-minute high 500Router(config)#ip tcp intercept one-minute low 300Router(config)
14、#ip tcp intercept list 1002 防止病毒的入侵病毒入侵经常会使用某些特殊端口,如 4444、135、139 等,关闭这些端口可有效防止常见病毒、木马的攻击, 以下是配置扩展访问控制列表防止 Blaster 蠕虫的传播和攻击 :Router(config)#access-list 101 deny tcp any any eq 4444Router(config)#access-list 101 deny udp any any eq 69Router(config)#access-list 101 deny tcp any any eq 135Router(config
15、)#access-list 101 deny udp any any eq 135Router(config)#access-list 101 deny tcpRouter(config)#access-list 101 deny udp any any eq 445Router(config)#access-list 101 deny tcp any any eq 593Router(config)#access-list 101 deny udp any any eq 593Router(config)#access-list 101 permit ip any any 3 只对外开放允许
16、的服务局域网内部的服务器可以配置成提供各种的服务,我们通常只允许外网访问其中的某些服务。同样以图 1 为例,假设服务器 192.168.1.10 只对外网开放 Web 和 Ftp 服务,即只向外网开放 80、20、21 端口。访问控制列表可配置如下 :Router(config)#access-list 102 permit tcp any 192.168.1.0 0.0.0.255 eq 80Router(config)#access-list 102 permit tcp any 192.168.1.0 0.0.0.255 eq 20Router(config)#access-list 1
17、02 permit tcp any 192.168.1.0 0.0.0.255 eq 21Router(config)#access-list 102 deny tcp any anyRouter(config)#access-list 102 deny udp any any4 规定访问互联网时间基于时间的访问控制列表可以为一天中的不同时间段,或者一星期的不同日期,制定不同的访问控制策略,从而满足用户对网络的灵活需求。例如要求 192.168.1.0 网段的主机只能在 2010 年的 6 月 1 日至 2010 年的 12 月 31 日 星期六早晨 7:00 到星期天下午1700 进行 ww
18、w 访问,可配置访问控制列表如下 :Router(config)#time-range allow-wwwRouter(config-time-range)#asbolute start 7:00 1 June 2010 end 17:00 31 December 2010Router(config-time-range)#periodic weekend 7:00 to 17:00Router(config)#access-list 103 permit tcp 192.168.1.0 0.0.0.255 any eq www time-range allow-www5 限制虚拟终端连接 (
19、VTY) 的访问网络管理员经常通过虚拟终端 (vty) 登录到路由器以对其进行配置、管理。如果不对登录路由器的主机进行限制,这将使路由器只有访问口令一层安全保护,安全性不高。如果使用访问控制列表对路由器的 Telnet 登录进行控制,可以很大程度增加路由器的安全性。假设我们只允许 192.168.1.11 这个 IP 地址通过 VTY 访问路由器,其配置如下 :Router(config)#access-list 1 permit host 192.1681.11Router(config)#access-list 1 deny anyRouter(config)#line vty 0 4Router(config)#loginRouter(config)#password *Router(config)#access-class 1 in 重要提示:各类电子文档标准格式中的说明(用隶书表示) ,在正式文稿中不应出现(包括本提示) 。