书城教材教辅组网技术实训
22843800000016

第16章 项目7扩展访问控制列表(1)

7.1实训目标

能够根据实际需要配置各种扩展访问控制列表。包括基于名称的访问控制列表、反向访问控制列表、基于时间的访问控制列表等。

7.2知识回顾

标准ACL列表是基于IP地址进行过滤的,是最简单的访问控制列表。用标准ACL列表不能实现让用户只能使用一个网络服务而不能使用另外的网络服务的目标。例如,只允许用户访问服务器上的WWW服务,而不允许其进行 FTP 访问,这时,标准ACL列表就无能为力了。但是扩展ACL列表可以做到,它可以实现端口过滤,数据包目的地址过滤。扩展ACL列表使用的ACL号为100~199。

扩展ACL列表是一种高级的访问控制列表,配置命令的具体格式如下:

access-listACL号[permit|deny][协议][定义过滤源主机范围][定义过滤源端口][定义过滤目的主机访问][定义过滤目的端口]

例如,access-list101deny tcp any host192.168.1.1eq WWW这条命令是将所有主机访问192.168.1.1这个地址网页服务(WWW)TCP连接的数据包丢弃。

7.3扩展访问控制列表的五项基本配置

7.3.1基本形式的访问控制列表

1.网络拓扑

搭建扩展访问控制列表网络拓扑环境。

说明:路由器Router1连接了两个网段,分别为10.1.1.0/24和10.2.2.0/24,在10.2.2.0/24网段中的PC2提供Web服务,IP地址为10.2.2.2。

2.配置任务

禁止10.1.1.0/24的计算机访问10.2.2.0/24的计算机,包括PC2,不过唯独可以访问10.2.2.2上的WWW服务,而其他服务不能访问。

3.路由器配置令

access-list101permit tcp any10.2.2.20.0.0.0eq WWW设置ACL101,允许源地址为任意 IP,目的地址为10.2.2.2主机的80端口,即 WWW服务。由于Cisco默认添加DENY ANY的命令,所以ACL只写这一句也可以,不过建议添加一条拒绝其他一切。

int f0/1进入f0/1端口

ip access-group101out 将ACL101宣告出去

设置完毕后,10.1.1.0/24的计算机就无法访问10.2.2.0/24的计算机了,即使 PC210.2.2.2开启了FTP服务也无法访问,唯独可以访问的就是10.2.2.2的WWW服务了。而10.2.2.0/24的计算机访问10.1.1.0/24的计算机没有任何问题。

扩展ACL列表有一个最大的好处就是可以保护服务器。例如很多服务器为了更好的提供服务都是暴露在公网上的,这是为了保证服务正常提供所有端口都对外界开放,很容易招来黑客和病毒的攻击,通过扩展ACL列表可以封锁服务端口以外的其他端口,降低了被攻击的概率。如本例仅将80端口对外界开放。

4.总结

扩展ACL列表功能很强,能够控制源IP、目的IP、源端口、目的端口等,能实现非常精细的控制,扩展ACL列表不仅读取IP包头的源地址/目的地址,还要读取第四层包头中的源端口和目的端口的IP。不过扩展ACL列表存在缺点,就是它会消耗大量的路由器CPU资源,影响路由器的工作效率。所以在使用中低档路由器时应尽量减少扩展ACL列表的条目数,将其简化为标准ACL列表或将多条扩展ACL列表合一是最有效的方法。

7.3.2基于名称的访问控制列表

不管是标准访问控制列表还是扩展访问控制列表都有一个弊端,当设置好ACL的规则后,若发现其中某条信息有问题,需要进行修改或删除,必须将全部ACL信息都删除。修改一条或删除一条信息会影响到整个ACL列表。这个特点为网管员带来了繁重的工作负担,一定要引起注意。不过用基于名称的访问控制列表可以解决这个问题。

(1)基于名称的访问控制列表的格式

ip access-list[standard| extended][ACL名称]

例如:ip access-list standard control 就建立了一个名为control的标准访问控制列表。

(2)基于名称的访问控制列表的使用方法

建立一个基于名称的访问控制列表,进行如下配置。

例如,添加三条ACL规则:

permit10.1.1.10.0.0.0

permit10.2.2.10.0.0.0

permit10.3.3.10.0.0.0

如果发现第二条命令应该是10.2.2.1而不是10.2.2.2,如果使用不是基于名称的访问控制列表,使用no permit10.2.2.20.0.0.0命令后整个ACL信息都会被删除。正是因为使用了基于名称的访问控制列表,使用no permit10.2.2.20.0.0.0后第一条和第三条指令依然存在。

(3)总结

如果设置ACL的规则比较多,应该使用基于名称的访问控制列表进行管理,这样可以减轻很多后期维护的工作,方便随时调整ACL规则。

7.3.3反向访问控制列表

使用访问控制列表除了合理管理网络访问之外还有一个更重要的作用,就是防范病毒,它可以将平时常见病毒传播使用的端口进行过滤,将使用这些端口的数据包丢弃。这样就可以有效地防范病毒的攻击。

(1)反向访问控制列表的用途

反向ACL属于访问控制列表的一种高级应用,可以有效地防范病毒。

(2)反向访问控制列表的格式

反向ACL列表格式非常简单,只要在配置好的扩展访问列表最后加上established即可。

(3)反向访问控制列表配置实例

例如,采用网络结构。路由器连接了两个网段,分别为10.1.1.0/24,10.2.2.0/24。在10.2.2.0/24网段中的计 算 机 PC2,通 过 反 向ACL列 表 设 置保 护10.2.2.0124网段中的计算机免受来自10.1.1.0这个网段的病毒攻击。

配置任务:禁止10.1.1.0/24网段端口号大于1023的未建立连接的应用访问10.2.2.0/24网段。

路由器配置命令如下:

access-list101permit tcp10.1.1.00.0.0.25510.2.2.00.0.0.255 gt1023established

定义ACL101,允许所有来自10.1.1.0网段的计算机访问10.2.2.0网段中的计算机,但是端口号大于1023的且 TCP 连接已经建立了的计算机可以访问,没有建立 TCP 连接的是不允许10.1.1.0/24访问10.2.2.0/24的。

int fa0/1//进入fa0/1端口

ip access-group101out//将ACL101宣告出去

按照这种方法,把病毒的端口号包含在ACL中,病毒就不会轻易地从10.1.1.0/24传播到10.2.2.0/24的网段中的计算机中。因为病毒要想传播都是主动进行 TCP 连接的,由于路由器上采用反向ACL禁止了10.1.1.0网段的TCP 主动连接,因此病毒无法顺利传播。