扫一扫
关注微信公众号

访问控制列表 企业网络管理的必杀技
2008-12-05   

  大部分企业现在存在一种状况,就是网络访问无序的状态。如所有公司的员工都可以随意反问财务部门的电脑;如在开集团的视频会议的时候,其他员工下载电影或者游戏浪费了宝贵的带宽,导致视频会议不怎么连贯;如为了管理的方便,大开Telnet端口,对于这个威胁视若无睹,等等。其实,对于这些问题,都可以通过访问控制列表来实现。笔者将通过一系列的文章,来跟大家分享访问控制列表的使用方法与使用技巧,跟大家一起利用访问控制列表来提高网络的管理。

  我们在企业日常网络的管理中,经常会遇到一些进退两难的问题。如我们即要保障网络点畅通,同时,也必须设法拒绝那些不希望的网络连接。虽然,我们也可以通过其他的一些方式,如密码、权限、虚拟局域网等功能实现这些目的,但是,他们的管理往往是单一的,也就是说,只能实现一些独立的管理功能,或者缺乏管理的灵活性。而访问控制列表,则给我们网络管理员提供了一个网络控制的平台。他就好象一个连通两个国家的边关要地,我们可以根据各种需要,允许某些人通过,而其他人则不允许,或者说有些人可以自由无阻的在两个国家内通行,而有些人则必须凭证件才能够通行;如当道路繁忙时,我们可以设置哪些人具有优先通行权;如我们可以设置每天的通行数量,等等。

  这个访问控制列表是路由器上的一个服务,他结合路由器的基本功能,来实现对于访问流量的过滤与控制。实际上,访问控制列表就是一串连续的语句的集合,这些语句定义了哪些流量可以通过,哪些不可以通过;同时也定义了哪些流量具有优先性等等。

  具体的来说,访问控制列表可以起到如下作用:

  1、 可以限制员工对外部网络的有限访问

  若在企业内网与外网的接口处,部署路由器的访问控制列表的话,则可以决定哪种类型的通信流量杯转发、哪些类型的通信流量被禁止等等。例如,我们可以允许只有Email的通信流量被允许,而其他类型的通信流量都会被路由器所禁止。根据这个控制规则,则就可以限制用户内与外部网络的访问,只允许员工接收外部邮件,而不能进行其他的网络访问。通过类似的规则,还可以限制员工访问外部的WEB服务器(禁止浏览网页)、限制员工访问FTP服务器(不允许像外部的FTP服务器上传公司内部的资料,从而保护企业内部信息安全)、限制员工使用BT下载工具(BT工具由于其又是下载工具又是一个上载的服务器,会占用比较大的带宽,所以,应该禁止使用),等等。总之,若把带有访问控制列表的路由器部署在企业内网与外网的接口上,网络管理员就可以根据协议、端口、IP地址等等各种参数以及相互的结合来对员工的网络行为进行管理控制。

  2、 提供网络访问的限制

  若从企业内部考虑,有时会企业可能希望财务部门的电脑除了总经理办公室可以访问之外,而其他办公室都不能访问;但是,财务部门的电脑则可以访问其他部门的电脑,如他们访问行政部门的电脑,等等。虽然通过虚拟局域网也可以实现网络的隔离,但是,他是双向的,也就是说要么两个部门的网络都不能相互访问,要么就是两个部门的电脑可以畅通无阻的访问,而不能实现这个有限制的访问,除非为其设置具体的访问权限等等。一般情况下,我们可以把一些重要的部门设置成一个独立的网络,然后利用路由器对于彼此的访问进行控制。

  如笔者企业现在就把产品开发部门设置成了一个独立的网络,他们这个部门的网络,全体部门的员工都不能在网络上找到他们的踪影;这个部门网络上的一些共享文件,也不能够被其他部门的人访问。其他部门的员工若需要向这个部门传递信息的话,则只能够通过书面的传递或者通过U盘等工具(这些工具的使用也被严格的监督控制)复制传递。总之,这么处理的话,是为了保障产品开发部门资料的安全性,以及产品开发设计系统的正常运转,不受到外部网络的功能。不过,同时,产品部门的网络要能够连接到企业的文件备份服务器,他们电脑上的文件必须及时的在企业的文件备份服务器上进行备份,以保障文件的安全。

  3、 管理网络流量、对网络流量进行优化

  网络管理员还可以利用网络控制列表,实现对网络流量的控制,并且对网络流量进行适当的优化。

  如笔者的企业现在部署了网络视频会议系统,有时会集团各个子公司的领导需要开视频会议;有时候销售总监也需要对国外的客户进行视频沟通等等。我们都知道,视频会带来很大的数据流量,而且,保障视频的连续性与流畅性,也是一个不小的挑战。如何在视频的时候,保障视频的连续性与流畅性呢?为了达到这个目的,我们首先需要保障视频流量的有限性。如当他们在进行视频会议时,若网络比较繁忙,则我们必须保障视频会议的流量能够优先被放行。这就好像救护车,载着重伤病人,当其拉响警报时,其他车辆必须为其让道,其也有闯红灯的特权。若其他车不让道时,就是违法,就可能得到交警的处罚。而采用访问控制列表,就可以做到这一点。如访问控制列表,可以根据数据包的协议类型,我们可以事先指定这种视频会议的协议类型具有比较高的优先性,在同等情况下,会被路由器优先处理。如此的话,一些重要协议的数据包,就可以实现比较高的优先性。

  同时,还可以在不影响网络性能的情况下,开通一些限制级别的服务。如虽然BT等下载工具会占用比较大的带宽,但是,其存在也有其的特殊优势,就是下载速度特别快。而现在我们通过访问控制列表,可以把BT类型的数据优先级别设置为最低,如此的话,就可以实现,在不影响网络性能的情况下,运行BT软件。因为当网络繁忙的时候,BT类型的数据包会被暂时放放,其他类型的数据包会优先被路由器处理。如此的话,就可以把BT软件给网络带来的负面影响将到最低,同时,在闲暇的时候,如下班后,仍然可以正常使用BT等下载工具,提高网络管理的灵活性。

  由此我们也可以获得这么一个信息,利用访问控制列表,可以实现对网络流量的灵活管理与控制。而不是像其他控制手段,如虚拟局域网或者凭用户名与密码访问那样,利用一帮子打死的策略。

  上面是笔者对于访问控制列表的一些基本介绍。在后续的文章中,笔者将结合自己企业的配置实例,讲述在企业网络中如何通过访问控制列表,来提高对于网络的掌控。为了能够深刻的说明问题,在后续的文章中,会采用比较多的实例以及注意技巧,笔者相信,通过这些文章,你或许还不能成为一个访问控制列表的专家,但是,会对访问控制列表有一个整体的认识。俗话说,师傅领进门,修行在自身。相信大家通过自己的实践,会成为这方面对高手。

#p#副标题#e#

  案例一:拒绝某个IP地址访问互联网

  现在某个企业的网络拓扑结构大致如下:

图2

  公司的网络结构比较简单,一台路由器连接交换机,然后再连接终端电脑,路由器作为企业内网与外网连接的通信口。现在的问题是,企业在网络管理员,可能需要限制某些IP地址,他们不能够访问互联网。但是,他们可以访问连接在路由器上的服务器。针对企业的这种需求,访问控制列表该如何实现呢?下面我们就以拒绝一个IP地址为例,谈谈该如何设置访问控制列表,多个IP地址也是类似的道理。假设用户电脑的IP地址为192.168.0.10,我们现在需要拒绝这个IP地址访问互联网。

  首先,我们来看看访问控制列表的设置。

  Access-list 1 deny host 192.168.0.10 0.0.0.0

  Access-list 1 permit 0.0.0.0 255.255.255.255

  只要在路由器上配置这两条简单的访问控制列表语句,就可以达到限制192.168.0.10这个IP地址访问互联网。然后把这个访问控制列表关联到互联网的出站端口即可。

  在写以上的访问控制列表语句的时候,我们需要注意以下几点:

  1、要注意语句的顺序。我们在上篇文章中,谈到过访问控制列表其实就是各种允许或者拒绝语句的集合。不过,其还有一个特点,就是其是根据从上到下的语句来判断的。当第一个条件满足时,就不会去判断第二条语句。如现在有一个来自于192.168.0.10的数据包,他要发送到互联网上。则在路由器进行检查的时候,他从数据包中获得IP地址,然后根据这个IP地址来核对访问控制列表。当他看到访问控制列表中,第一条语句就是拒绝192.168.0.10这个IP地址访问互联网的话,则其就不会去判断第二条语句/。假设我们现在把第一条语句跟第二条语句进行对换的话,又会有什么结果发生呢?当路由器接到192.168.0.10发来的数据包,然后核对访问控制列表中的语句。而“Access-list 1 permit 0.0.0.0 255.255.255.255”这条语句的意思则是允许所有的IP地址从这个端口转发出去。也就是说,也允许来自于192.168.0.10的数据包从这个端口出去。而这一条语句满足的时候,第二条语句“Access-list 1 deny host 192.168.0.10 0.0.0.0”就不会被执行。此时,主机192.168.0.10就可以光明正大的访问互联网。这就达不到企业所期望的控制要求。所以,若访问控制列表中的语句顺序出现颠倒的话,则最后出现的结果可能是跟用户预先期待的会大相径庭。

  2、访问控制列表的名字是用数字来表示的。如上面语句中的1,就表示这是一号访问控制列表。把访问控制列表关联到具体的路由器端口时,也是利用这个数字进行关联。不过这里要注意一个潜规则。一般访问控制列表分为两类,一是标准访问控制列表,二是扩展的访问控制列表。为了管理的方便,一般1-99之间的数字用来表示是标准的访问控制列表。而100到199之间,就表示路由器将用扩展的访问控制列表条件来进行判断。一般在定义访问控制列表的时候,最好大家都要遵守这个规则。因为有时会,可能不仅一个网络管理员来管理路由器。

  3、访问控制列表配置四步走。虽然在官方的文档上,一般把访问控制列表的配置分成两步,不过,在实际工作中,笔者还是喜欢把他分为四个步骤,如此的话,可以减少错误的发生。第一步就是书写需求。从上面我们可以看出,访问控制列表就是一条条条件语句的集合,而且对于条件的顺序非常敏感。为此,我们在做访问控制列表之前,需要先对用户的需求进行整理,先在纸上对于各条判断语句做出顺序的调整。第二步先在路由器模拟器上进行测试。因为路由器的改动会影响整个网络的运行,所以,在对路由器进行任何调整之前,笔者的建议是现在路由器的模拟器上进行测试。像CISCO就提供了一些很好的路由模拟器,企业可以在这些模拟器上测试自己配置的准确性。第三步在路由器上写访问控制列表语句。当测试没有问题的时候,就把访问控制列表语句移植到路由器上。第四步把访问控制列表语句关联到特定的端口。在访问控制列表语句中,没有指定这个访问控制列表用于哪个端口。只有等访问控制列表完成后,把这个访问控制列表关联到特定的路由器端口,这个访问控制列表才会起作用。

  4、访问控制列表建立之后,如果需要更改访问控制列表,该怎么办呢?如我们现在想让192.168.0.10这个Ip地址访问互联网,而是想禁止102.168.0.60这个IP地址。一般来说,用户是不能直接更改这个访问控制列表的,即使更改了也没有作用。而是必须先用命令删除整个访问控制列表,然后再重新建立并进行端口的关联。另外需要注意的是,没一条新建的条件语句都被安置在访问控制列表的最后面。还有就是,访问控制列表建立之后,若想通过行序号删除访问控制列表中的某条语句,也是不可以的。如在上面这个访问控制列表中,如果现在网络管理员加入“Access-list 1 deny host 192.168.0.60 0.0.0.0”这条条件语句。网络管理员原来的设想是同时拒绝192.168.0.10与192.168.0.60两台主机访问互联网络,可是,若在原有的访问控制列表中,加入语句的话,则会变为:

  Access-list 1 deny host 192.168.0.10 0.0.0.0

  Access-list 1 permit 0.0.0.0 255.255.255.255

  Access-list 1 deny host 192.168.0.60 0.0.0.0

  而根据我们上面所讲的访问控制列表时按先后顺序进行条件语句判断的,由于第二条语句是允许所有的IP地址访问互联网络,所以,第三条判断语句永远不会被执行。如此的话,就不能达到用户的目的。

  如果现在网络管理员想删除第二条语句,然后建一条“Access-list 1 permit 0.0.0.0 255.255.255.255”语句,如此,顺序不是对了吗?这个设想是好的,但是,访问控制列表时不能够通过行序号来删除某个行的条件语句。所以,如果用户需要新加条件语句时,一般只有删除原先的所有条件语句,然后重新建立。

  基于这个原因,所以,笔者不建议直接在路由器上编辑访问控制列表。而是现在网络管理的终端电脑上,利用记事本先编辑好访问控制列表,然后再利用TFTP(简单文本传输协议),把这访问控制列表移植到路由器上。如此的话,就可以提高访问控制列表编辑的效率,而且,通过简单的复制、粘贴还可以减少错误的发生。

  5、若有多台主机需要拒绝访问互联网,该如何处理呢?在企业网络的实际管理中,往往不是一台或者几台电脑不能访问互联网或者某个应用,而是某几个部门的电脑不能访问,如不能使用QQ等。遇到这种情况,若一个个的区制定IP地址,那显然会非常的麻烦。此时,我们可以考虑,把这些不能够访问互联网的电脑,对他们的IP地址尽心规划,划分成一个子网。然后再访问控制列表中,对子网进行过滤,而不是对IP地址进行过滤。如现在网络管理员希望对于192.168.4.0的子网进行管理,不允许他们访问互联网,但是访问内部网络是没有限制的。此时,我们就可以按照如下的规则书写访问控制列表。

  Access-list 1 deny host 192.168.4.0 0.0.0.255

  Access-list 1 permit 0.0.0.0 255.255.255.255

  如此的话,只要数据包的IP地址属于这个子网的,则路由器就会拒绝这些数据包通过其互联网接口进行转发。现在利用子网来进行过滤的话,我们只用了一条条件语句;而我们若利用单个IP地址来过滤的话,则这个子网内有多少主机就需要书写多少条条件语句。而且,灵活性也很差。如以后我们还需要指定某些IP地址不能访问互联网的话,还必须对访问控制列表进行调整。而我们若通过子网的形式进行过滤的话,以后遇到这种需求,只需要把用户的电脑归入到这个子网内,如此的话,在不调整原有访问控制列表的情况下,也可以实现企业的网路管理需求。这明显比按单个IP地址来进行过滤,要方便的多。

  上面笔者讲述的是按IP地址或者子网来进行网络过滤。不过,这有一个比较大的缺陷,这个过滤是“一棒子打死”的过滤方法。也就是说,根据IP地址过滤的话,则会过滤所有的网络流量。被访问控制列表列入黑名单的IP地址,不仅不能够使用QQ等被禁止的网络聊天工具,而且,也不能访问互联网的邮件等等。也就是说,不能根据协议的类型来管理网络流量。而后面笔者要举的扩展访问控制列表的例子,就可以满足企业根据协议对网络流量进行管理的需求。

#p#副标题#e#

  扩展访问控制列表比标准访问控制列表提供了更广阔的控制范围,其灵活性也比标准访问控制列表要高的多。在实际工作中,很少有网络管理员会简单的采用标准访问控制列表,而基本上是采用扩展型的访问控制列表,来对通过路由器的部分数据流量进行过滤。如我们有时候只允许来自于外部的EMAIL通信流量进入企业网络,而其他的通信流量,如FTP、WEB等等,路由器都要把他们挡在门外,此时,就可以通过扩展型的访问控制列表来实现。扩展访问控制列表提供了很多的控制关口,如源地址、目标地址、协议类型、端口号等等,这种扩展后所带来的功能,可以实现网络管理员对网络访问进行复杂控制的要求,而不再是简单的只根据IP地址进行控制。废话不说了,我们先来看一个扩展访问控制列表的实例,看看其到底有什么神秘的地方。

  案例二:拒绝企业内部某个用户访问FTP服务器

  假设现在企业内部有一台主机A,其IP地址为192.168.1.10。而路由器上有一台FTP服务器B,其IP地址为192.168.0.2。现在企业为了FTP服务器的安全,只有经过授权的用户才能够访问这台FTP服务器。一般来说,这台FTP服务器是为业务部门准备的,默认情况下,只要业务员可以访问这台FTP服务器。

  针对这种情况,该如何配置访问控制列表呢?

  Access-list 101 deny tcp 192.168.1.0 0.0.0.255 192.168.0.2 0.0.0.0 eq 21

  Access-list 101 permit ip 192.168.1.0 0.0.0.255 0.0.0.0 255.255.255.255

  要拒绝某个协议类型的数据流量,若依靠标准的访问控制列表是达到这个目标的。一般来说,标准的访问控制列表之能够简单的对IP地址进行数据流量的过滤,也就是说,其要么允许全部的数据包通过,要么就是拒绝所有的数据包。而现在若采用扩展的访问控制列表,则可以根据数据包的协议来类型来实现对部门数据包进行过滤,对部分数据包放行。

  下面笔者对以上的访问控制列表条件语句作一些必要的说明

  1、访问控制列表标号。在上面一篇文章中,笔者谈到,为了管理的方便,访问控制列表规定,用数字1到99来表示标准的访问控制列表;而100到199用来表示扩展的访问控制列表。而这边数字“101”就表示这个访问控制列表是一个扩展型的访问控制列表。

  2、关键字deny与permit。这两个关键字,顾名思义,就是表示拒绝某个流量还是允许某个流量通过路由器。这里要注意一个书写的顺序。在一般情况下,都把拒绝的语句,而就是deny语句放在前头,而把拒绝的语句放在后面。因为访问控制列表示从头到脚对这些语句进行判断,若前面一条语句满足的话,则后续的将都不会被判断。所以,一般要把拒绝的条件语句放在前面。具体的例子在上篇文章中笔者已经详细介绍过,这里就不再过过多的叙述了。

  3、tcp表示一种传输层的协议。若想要使用扩展型的访问控制列表,则一定要对传输层的各种访问协议有清晰的认识,否则的话,配置访问控制列表的时候,就有点束手束脚的了。

  4、192.168.1.0 0.0.0.255,表示对那些IP地址进行这个拒绝操作。这两组数字是配套使用的。后面的0.0.0.255表示对IP地址的前三位进行检查,而对最后一位不进行检查。如此的话,结合前面的IP地址,也就表示IP地址前面三位为192.168.1的IP地址,后面不管是什么,从192.168.1.0到192.168.1.255,都会采用这条语句。也就是说,0表示检查,必须完全匹配,而255的话,就表示不进行检查。

  5、172.168.0.2 0.0.0.0,表示目的地址。在采用访问控制列表中,一般源地址与目的地址是成对出现的。因为网络管理员虽然不允许内部用户访问企业内部的FTP服务器,但是,有可能其允许访问其他的FTP服务器。所以,最好能够指定目的IP地址,以防止把一些正常访问的流量拒绝掉。

  6、eq 21,表示服务的端口好。我们都知道,在访问某个服务的时候,一般都是需要有协议类型与端口号才可以。如我们访问FTP服务器的时候,可能就是通过“FTP://192.168.0.2:21”进行访问。最后面的21就表示FTP服务器为这个服务所开的端口。所以,在配置扩展访问列表的时候,需要对各种服务的默认端口了如指掌。如端口23表示终端连接,25表示简单邮件传输协议,69表示普通文本传输协议等等。不过这些端口是系统默认的端口,而在实际工作中,有时会我们会为了安全方面的考虑,改变这些端口。如把FTP的端口21改为8000等等,这主要是为了让别人不能够破解FTP服务器。所以,针对这种情况的话,我们在配置访问控制列表的话,也需要注意。

  这种拒绝某种通信流量的设置,我们一般会在路由器上普遍采用。如我们都知道,在知道路由器管理员用户名与密码的情况下,可以把一些路由器的配置文件,如访问控制列表,通过普通文本传输协议,放到路由器上。所以,有时会为了确保其他人员无法使用路由器的普通文本传输协议,我们就会利用访问控制列表,禁止除了管理员以外的IP地址利用这个普通文本传输协议向路由器传输相关的配置文件。

  所以,Access-list 101 deny tcp 192.168.1.0 0.0.0.255 192.168.0.2 0.0.0.0 eq 21这条语句完整的意思就是,拒绝所有来自于192。168.1.0到192.168.01.255的IP地址访问192.168.0.2的FTP服务器。若FTP的服务器发生了变化的话,则这个访问列表的端口号也要进行相应的更改。不过,在上面文章中,我们谈到过对以标准访问控制列表来说,使不能直接在原有的访问控制列表中进行更改,而必须先把原有访问控制列表中的判断语句删除,然后重新建访问控制列表,并关联到相关的端口。这个规则,对于扩展访问控制列表来说,也是适用的。所以,对于配置扩展访问控制列表,我们也是建议现在管理员的主机上写好扩展访问控制列表,然后再通过简单文本传输协议把访问控制列表传到路由器上,再进行端口的关联动作。如此的话,可以提高访问控制列表配置的效率与准确性。

  另外要注意最后一条语句,Access-list 101 permit ip 192.168.1.0 0.0.0.255 0.0.0.0 255.255.255.255,这表示来自于192.168.1.0到192.168.1.255的IP地址的主机通信流量,可以畅通无阻的进行访问。这跟前面那条语句结合起来,就表示路由器只是拒绝了对FTP服务器21端口的访问而已。也就是说,我们此时仍然可以利用PING命令PING通FTP服务器,或者通过网上邻居找到这台服务器,只是不能够通过FTP工具访问这个服务器而已。

  在管理访问控制列表的时候,无论是标准型的访问控制列表,还是扩展型的访问控制列表,都需要注意一个问题就是即可以在路由器的进口,也可以在出口关联访问控制列表。不过,两者还是有一点区别。若在出口关联访问控制列表的时候,就意味着被允许的数据包将直接被发送出去,而被拒绝的数据包就会被阻塞。而若把访问控制列表关联到进口的话在,则被允许的数据包将进入路由器进行后续的处理,而被拒绝的数据包将直接被丢弃。这个进出口的差异,就引起了访问控制列表的另一个话题,就是该把访问控制列表放在进口好还是出口好。因为采用了访问控制列表之后,会让路由器多额外的开销,会对网络的性能造成一定的影响。而合理放置访问控制列表,可以把这个影响减少到最低。在后续的文章中,笔者将专门介绍如何来选择访问控制列表的放置问题。

  另外,在前面笔者在配置访问控制列表的时候,都是用数字对访问控制列表进行命名。但是,这个数字的话,明显不能够反映这个访问控制列表的实际作用。如时间长了,或者是前任的网络管理员留下来的访问控制列表,我们只是接手,光看这个101三个数字,我们怎么知道他到底实现了什么控制呢?所以,在访问控制列表管理机制中,路由器还提供了一个命名的访问控制列表。命名访问控制列表不仅可以形象的描述访问控制列表的功能,而且,他还有一些标准或者扩展访问列表没有的功能。如通过命名访问控制列表,如可以让网络管理员删除某个访问控制列表中不需要的判断语句。我们上面文章中说过,若是标准型或者扩展型访问控制列表,是不能够按照语句序号删除某个不需要的条件语句。而若采用命名的访问控制列表的话,则可以达到这个目的。具体该如何操作,请关注我后面的文章,笔者会给大家详细讲述如何使用命名的访问控制列表,以及其跟其他两种访问控制列表的优点。

#p#副标题#e#

  在前面关于访问控制列表的三篇文章中,笔者阐述了访问控制列表的基本功能与注意点。在这篇文章中,笔者将脱开技术层面的内容,谈谈自己在访问控制列表管理中的经验教训,或许,这可以从另一个角度提高大家对访问控制列表的认识。

  思考一:如何合理放置访问控制列表

  访问控制列表即可以放在进口,也可以放在出口,都是正确的。但是,正确跟合理还是有一步之差。位置正确,不一定说,如此放置是最合理的,效率是最高的。

  若我们把访问控制列表放在进口的话,在路由器在进口就会对数据流量进行判断,看其是否满足条件语句,若满足的话,则放行,转发给下一个端口;不满足的话,就直接丢进垃圾桶。若把访问控制列表放在出口的话,则当满足放行条件时,则路由器会把数据流转发出去;当不满足条件时,则会把已经在这个端口存储缓存中的数据丢进垃圾桶。很明显,这个访问控制列表放在进口或者出口,对路由器的性能会有所影响。

  假设现在某个集团企业的网络部署架构如下:

  用户主机---路由器A—路由器B-----互联网。

  在这种网络架构下,企业现在希望实现如下控制。

  1、 用户主机甲不能够访问互联网。

  2、 其他用户都可以不受限制的访问互联网。

  此时,很明显可以通过多种方式来实现这种需求。不过,访问控制列表是实现这种控制的一个比较灵活的策略。此时,拒绝用户主机甲访问互联网的访问控制列表可以放在路由器A,也可以放在路由器B上;可以放在路由器A的进口或者出口端口上,也可以放在路由器B的进口或者出口端口上。放在这四个位置的任何一个位置上,都可以实现企业的需求。只是对于网络的影响有所不同。

  假设我们现在把这个访问控制列表放在路由器B的出口上,则当用户主机甲访问互联网时,这个数据流会通过路由器A,到达路由器B的出口站点上,然后才被丢弃。如此的话,这个本来早早应该被丢弃的数据流,却一直畅通无阻的到了路由器B的出口商,才被抛弃。

  这就好像群众上访,本来在农村基层就可以解决的问题,但是,农村基层不解决,当地政府也不解决,一直闹到中央,这不仅会浪费各地政府部门的精力,而且,中央政府若每天都处理这些基层来的上访者,那他们就没有精力去关心一些重大问题了。所以,一些纠纷,在基层可以解决,还是在基层解决好。

  访问控制列表也是如此。若按上面这个位置放置,用户主机甲若想访问互联网,则这些数据流量一直畅通无阻的到达路由器B出口站是,是一种浪费网络带宽的行为。所以,应该把拒绝主机用户甲的访问控制列表放置在路由器A的进口上,从源头就把不需要的访问控制列表抛弃。

  很明显,若只有一台用户主机不能访问互联网的话,则这个访问控制列表具体放在上面位置,其所产生的影响对于企业整个网络来说,是微乎其微的。但是,在实际工作中,我们往往不是拒绝一台主机的通信流量,而是拒绝一批,如一个子网的通信流量。如此的话,其产生的数据流量就比较大了,会对企业的内部网络产生比较大的影响。

  所以,在访问控制列表管理的时候,要慎重考虑访问控制列表的放置地方,否则的话,会对整个网络产生比较大的影响。那这访问控制列表该放在什么地方合适呢?笔者给大家提个建议,最好把访问控制列表放置在离被拒绝的信息来源最近的地方,即上面讲的路由器A的进口站点上。如此的话,不允许通过的数据流量就会被尽早的丢进垃圾桶,而不会被畅通无阻的传递下去。当然,前期是,路由器A必须支持访问控制列表,否则的话,也指能够放在路由器B上了。

  思考二:访问控制列表如何跟防火墙配合使用

  现在大部分企业都在企业内外网的接口处,部署了防火墙。那么,访问控制列表该如何跟防火墙配合使用呢?

  根据官方的建议,访问控制列表应该用在防火墙路由器上,防火墙路由器经常放置在内部网络与外部网络之间,即企业内网与互联网的分割点,目的是为其提供一个孤立的点,以便不受其他互联网网络结构的影响。

  其实,有些防火墙服务器的话,本身就带有访问控制列表的功能。如防火墙的低安全端口要访问防火墙中的高安全端口的话,就需要访问控制列表的支持。所以,把访问控制列表结合防火墙服务器使用,是一个比较好的选择。

  不过,说实话,若把他们两个部署在一起的话,会增加访问控制列表的复杂程度,会增加访问控制列表与防火墙服务器的维护难度。笔者虽然觉得这么部署比较合理,但是,在实际工作中,笔者出于管理与维护的方便,确不是这么部署的。

  如企业现在的网络部署架构如下:

  主机-路由器-VPN服务器-防火墙。

  其中,这个路由器与防火墙都支持访问控制列表的功能。按照官方的建议,应该把访问控制列表部署在防火墙服务器上。但是,笔者认为这么管理的话,会增加防火墙与访问控制列表的复杂程度,不利于后续的维护与故障的维修。所以,笔者在部署访问控制列表的时候,没有遵循官方的建议,而是把访问控制列表部署在路由器上,而不是防火墙。如此的话,把防火墙与路由器上的访问控制列表独立管理,虽然可能会增加一定的工作量,但是,至少把复杂的工作简单化,反而有利于企业网络的管理,出现故障的时候,也比较容易检修。

  不过这是笔者个人的工作经验,其到底是否合理,还需要靠以后网络维护工作的检验。

  不过如果要在防火墙服务器这种边界设备上,部署访问控制列表的话,笔者可以给大家提一些意见。

  一是部署在边界设备上的访问控制列表,无论是防火墙服务器还是路由器上,可以为配置在设备接口上的每一个网络协议创建访问控制列表。通过配置访问控制列表。来过滤通过接口的入站通信流量、出站通信流量。

  二是如果在边界路由器与内部的路由器,即上面的路由器A与路由器B上,都配置了访问控制列表,该如何处理呢?一般来说,若在路由器A上部署了拒绝用户主机甲访问互联网的访问控制列表,然后再边界路由器B上又配置了同样内容的访问控制列表,就有点脱裤子放屁,多此一举的感觉。但是,在实际管理中,有些网路管理元还是会这么处理。这主要是出于统一管理的需要。在路由器A上部署访问控制列表,可以拒绝不应该的数据流量在网络上传输;而在路由器B上部署访问控制列表的话,则是出于统一管理的需要。或者说,起到双重保险的作用,即使路由器A上的访问控制列表因为某种原因失效,还由路由器B在那边把关。不过,这么配置的话,边界路由器B的负担会比较中。因为他要对来自于企业网络的所有数据流量进行判断。所以,具体如何部署,还是要看企业对于安全性的要求。到底是牺牲一定的安全来提高网络性能,还是降低网络性能来提高网络的安全冗余,如何在网络的安全性与网络性能之间取得均衡的话,网络管理员还是需要根据企业的实际情况,在这上面花一番心思。

  三是要注意访问控制列表中最后的隐含语句。假设现在有一个访问控制列表,其前面有八条判断语句。而其实呢,有九条,最后一条是隐含的,当前面八条语句都没有满足的情况下,则这最后一条语句,就会把这个数据流量拒绝掉。不过在访问控制列表管理中,我们往往不希望出现这种情况。我们希望,当前面的这些条件都不满足的情况下,则该数据量背放行。如在一个访问控制列表中,我们写了两条判断语句,一是拒绝用户A访问互联网;二是拒绝用户B访问外部的邮件服务器。此时,若有用户C访问互联网的话,由于前面两条语句都不满足,则默认情况下,访问控制列表会应用隐含的判断语句,把用户C的数据流量也拒绝掉,这是我们不希望看到的。为此,我们就需要改变这条隐含的判断语句,把它改为上面条件都不满足的情况下,数据流量为允许通过。或者,我们可以显示的给出这条隐含语句,这有利于提高访问控制列表的可读性,对我们后续排除故障也是比较有利的。

热词搜索:

上一篇:管理以及维护宽带路由器的常用经验技巧
下一篇:专家解读:基于网络流量模型的异常检测方法

分享到: 收藏