收藏 分享(赏)

ACL访问控制列表.doc

上传人:精品资料 文档编号:7655402 上传时间:2019-05-23 格式:DOC 页数:30 大小:240.50KB
下载 相关 举报
ACL访问控制列表.doc_第1页
第1页 / 共30页
ACL访问控制列表.doc_第2页
第2页 / 共30页
ACL访问控制列表.doc_第3页
第3页 / 共30页
ACL访问控制列表.doc_第4页
第4页 / 共30页
ACL访问控制列表.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、 轻松学习理解 ACL 访问控制列表【51CTO.com 独家特稿】任何企业网络系统在为创造价值的同时,对安全性也有很高的要求。ACL(网络层访问控制列表)其实可以帮助企业实现网络安全策略,可以说 ACL 是一个很不错的解决工具或方案。那什么是 ACL 呢?为了帮助企业网络运维人员深入理解 ACL,可以根据以下几点看透 ACL 本质。一、从名称解析 ACLACL:Acess Control List,即访问控制列表。这张表中包含了匹配关系、条件和查询语句,表只是一个框架结构,其目的是为了对某种访问进行控制。信息点间通信,内外网络的通信都是企业网络中必不可少的业务需求,但是为了保证内网的安全性,

2、需要通过安全策略来保障非授权用户只能访问特定的网络资源,从而达到对访问进行控制的目的。简而言之,ACL 可以过滤网络中的流量,控制访问的一种网络技术手段。二、看透 ACL 的本质通常,很多企业都在使用 NAT 技术进行地址转换,而 NAT 技术中就包含了ACL 的应用。通过 ACL,我们可以控制哪些私有地址能上外网(公网),哪些不能。然后把这些过滤好的数据,进行 NAT 转换。另外,企业也需要对服务器的资源访问进行控制,通过 ACL 过滤出哪些用户不能访问,哪些用户能访问。从实际应用中,我们看到 ACL 能够区分不同的数据流。这也意味着 ACL 的本质其实是一种流量分类技术,它是人为定义的一组

3、或几组规则,目的是通过网络设备对数据流分类,以便执行用户规定的动作。换句话说,ACL 本身不能直接达到访问控制的目的,它间接辅助特定的用户策略,达到人们所需效果的一种技术手段。在笔者看来,ACL 是一种辅助型的技术或者说是工具。三、玩转基本的 ACL拓扑描述:某企业有 100 个信息点,分属五个部门。用一台二层交换机和一台路由器作为网络层设备;局域网内部有一台 OA 服务器。组网需求:五个部门分属 5 个 VLAN,VLAN 间不能互通。要求所有终端都可以上公网,并访问 OA 服务器。也就是说,有两个需求:1、5 个部门的终端不能互相通讯2、5 个部门都要求能够访问 OA SERVER 和公网

4、。根据这两种实际需求,怎么用 ACL 实现呢?以 Cisco 路由器为例,在全局模式下进行如下配置:access-list 100 permit ip any host OA 的 ipaccess-list 100 deny ip any ip 网络号 通配符access-list 100 permit ip any any然后在相应的子接口下绑定:ip access-group 100 in命令解释:第一条就是允许 OA 服务器上的数据进入,第二条就是拒绝其它四个部门的数据流进入,第三条是允许所有流量进入,然后最后在相应接口绑定并启用放通或丢弃的操作。我们配置 ACL 都有几个配置原则,细化

5、优先原则和最长匹配原则,不同的配置顺序影响不同的执行效果。通常都是按一个汇总的原则进行规划 IP 地址,所以第二条后面的 IP 网络号代表的是其它 VLAN 的子网汇总网络号。一般来说,思科的 ACL 最后都默认隐藏了一条 deny 所有的语句,所以必须人为添加一条permit 语句。在边界路由器上配置上述的命令,就能满足需求了,当然还需要和其他配置命令相结合使用,比如划分 VLAN,配置路由协议等。但无论是怎样的需求,只要记住 ACL 的核心,它是一种流量分类技术,可以用特定的方式标记和分类网络中的流量,配合其它操作策略一起完成某项任务。只要明白这点,我们就能够玩好基本的 ACL 了。访问控

6、制列表(Access Control List,ACL) 是路由器接口的指令列表,用来控制端口进出的数据包。ACL 适用于所有的被路由协议,如IP、IPX、AppleTalk 等。 ACL 的定义也是基于每一种协议的。如果路由器接口配置成为支持三种协议(IP、AppleTalk 以及 IPX)的情况,那么,用户必须定义三种 ACL 来分别控制这三种协议的数据包。 ACL 的作用 ACL 可以限制网络流量、提高网络性能。例如,ACL 可以根据数据包的协议,指定数据包的优先级。 ACL 提供对通信流量的控制手段。例如,ACL 可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量。

7、 ACL 是提供网络安全访问的基本手段。ACL 允许主机 A 访问人力资源网络,而拒绝主机 B 访问。 ACL 可以在路由器端口处决定哪种类型的通信流量被转发或被阻塞。例如,用户可以允许 E-mail 通信流量被路由,拒绝所有的 Telnet 通信流量。 ACL 的执行过程 一个端口执行哪条 ACL,这需要按照列表中的条件语句执行顺序来判断。如果一个数据包的报头跟表中某个条件判断语句相匹配,那么后面的语句就将被忽略,不再进行检查。 数据包只有在跟第一个判断条件不匹配时,它才被交给 ACL 中的下一个条件判断语句进行比较。如果匹配(假设为允许发送),则不管是第一条还是最后一条语句,数据都会立即发

8、送到目的接口。如果所有的 ACL 判断语句都检测完毕,仍没有匹配的语句出口,则该数据包将视为被拒绝而被丢弃。 这里要注意,ACL 不能对本路由器产生的数据包进行控制。 ACL 的分类 目前有两种主要的 ACL:标准 ACL 和扩展 ACL。 这两种 ACL 的区别是,标准 ACL 只检查数据包的源地址; 扩展 ACL 既检查数据包的源地址,也检查数据包的目的地址,同时还可以检查数据包的特定协议类型、端口号等。 网络管理员可以使用标准 ACL 阻止来自某一网络的所有通信流量,或者允许来自某一特定网络的所有通信流量,或者拒绝某一协议簇(比如 IP)的所有通信流量。 扩展 ACL 比标准 ACL 提

9、供了更广泛的控制范围。例如,网络管理员如果希望做到“允许外来的 Web 通信流量通过,拒绝外来的 FTP 和 Telnet 等通信流量”,那么,他可以使用扩展 ACL 来达到目的,标准 ACL 不能控制这么精确。在路由器配置中,标准 ACL 和扩展 ACL 的区别是由 ACL 的表号来体现的,上表指出了每种协议所允许的合法表号的取值范围。 正确放置 ACL ACL 通过过滤数据包并且丢弃不希望抵达目的地的数据包来控制通信流量。然而,网络能否有效地减少不必要的通信流量,这还要取决于网络管理员把ACL 放置在哪个地方。 假设在图 3 所示的一个运行 TCP/IP 协议的网络环境中,网络只想拒绝从R

10、outerA 的 T0 接口连接的网络到 RouterD 的 E1 接口连接的网络的访问,即禁止从网络 1 到网络 2 的访问。 根据减少不必要通信流量的通行准则,网管员应该尽可能地把 ACL 放置在靠近被拒绝的通信流量的来源处,即 RouterA 上。如果网管员使用标准 ACL 来进行网络流量限制,因为标准 ACL 只能检查源 IP 地址,所以实际执行情况为:凡是检查到源 IP 地址和网络 1 匹配的数据包将会被丢掉,即网络 1 到网络 2、网络 3 和网络 4 的访问都将被禁止。由此可见,这个 ACL 控制方法不能达到网管员的目的。同理,将 ACL 放在 RouterB 和 RouterC

11、 上也存在同样的问题。只有将 ACL 放在连接目标网络的 RouterD 上(E0 接口),网络才能准确实现网管员的目标。由此可以得出一个结论: 标准 ACL 要尽量靠近目的端。 网管员如果使用扩展 ACL 来进行上述控制,则完全可以把 ACL 放在RouterA 上,因为扩展 ACL 能控制源地址(网络 1),也能控制目的地址(网络2),这样从网络 1 到网络 2 访问的数据包在 RouterA 上就被丢弃,不会传到RouterB、RouterC 和 RouterD 上,从而减少不必要的网络流量。因此,我们可以得出另一个结论:扩展 ACL 要尽量靠近源端。 ACL 的配置 ACL 的配置分为

12、两个步骤: 第一步:在全局配置模式下,使用下列命令创建 ACL: Router (config)# access-list access-list-number permit | deny test-conditions 其中,access-list-number 为 ACL 的表号。人们使用较频繁的表号是标准的 IP ACL(199)和扩展的 IP ACL(100199)。 在路由器中,如果使用 ACL 的表号进行配置,则列表不能插入或删除行。如果列表要插入或删除一行,必须先去掉所有 ACL,然后重新配置。当 ACL 中条数很多时,这种改变非常烦琐。一个比较有效的解决办法是:在远程主机上启用

13、一个 TFTP 服务器,先把路由器配置文件下载到本地,利用文本编辑器修改ACL 表,然后将修改好的配置文件通过 TFTP 传回路由器。 这里需要特别注意的是,在 ACL 的配置中,如果删掉一条表项,其结果是删掉全部 ACL,所以在配置时一定要小心。 在 Cisco IOS11.2 以后的版本中,网络可以使用名字命名的 ACL 表。这种方式可以删除某一行 ACL,但是仍不能插入一行或重新排序。所以,笔者仍然建议使用 TFTP 服务器进行配置修改。 第二步:在接口配置模式下,使用 access-group 命令 ACL 应用到某一接口上: Router (config-if)# protocol

14、access-group access-list-number in | out 其中,in 和 out 参数可以控制接口中不同方向的数据包,如果不配置该参数,缺省为 out。 ACL 在一个接口可以进行双向控制,即配置两条命令,一条为 in,一条为out,两条命令执行的 ACL 表号可以相同,也可以不同。但是,在一个接口的一个方向上,只能有一个 ACL 控制。 值得注意的是,在进行 ACL 配置时,网管员一定要先在全局状态配置 ACL表,再在具体接口上进行配置,否则会造成网络的安全隐患。路由器是工作在 OSI 参考模型第三层网络层的数据包转发设备。路由器通过转发数据包来实现网络互连。虽然路由

15、器可以支持多种协议(如TCP/IP、 IPX/SPX、AppleTalk 等协议),但是在我国绝大多数路由器运行TCP/IP 协议。路由器通常连接两个或多个由 IP 子网或点到点协议标识的逻辑端口,至少拥有 1 个物理端口。路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包。路由器通过动态维护路由表来反映当前的网络拓扑,并通过与网络上其他路由器交换路由和链路信息来维护路由表。路由器设备厂商最有名的是 Cisco 公司,以下是 Cisco 路由器配置的常用命令汇总,希望对正在学习和应用思科路由器的你有帮助。启动接口,分配

16、IP 地址:routerrouter enablerouter#router# configure terminalrouter(config)#router(config)# interface Type Portrouter(config-if)# no shutdownrouter(config-if)# ip address IP-Address Subnet-Maskrouter(config-if)# z配置 RIP 路由协议:30 秒更新一次router(config)# router riprouter(config-if)# network Network-Number ro

17、uter(config-if)# z配置 IGRP 路由协议:90 秒更新一次router(config)# router igrp AS-Number router(config -if)# network Network-Number router(config-if)# z配置 Novell IPX 路由协议:Novell RIP 60 秒更新一次router(config)# ipx routing node addressrouter(config)# ipx maximum-paths Paths router(config)# interface Type Portrouter(

18、config-if)# ipx network Network-Number encapsulation encapsulation-type secondary router(config-if)# z配置 DDR:router(config)# dialer-list Group-Number protocol Protocol-Type permitlist ACL-Numberrouter(config)# interface bri 0router(config-if)# dialer-group Group-Numberrouter(config-if)# dialer map P

19、rotocol-Type Next-Hop-Address name Hostname Telphone-Numberrouter(config-if)# z配置 ISDN:router(config)# isdn swith-type Swith-Type router(config-if)# z 配置 Frame Relay: router(config-if)# encapsulation frame-relay cisco IEtf router(config-if)# frame-relay lmi-type ansi cisco q933a router(config-if)# b

20、andwidth kilobitsrouter(config-if)# frame-relay invers-arp Protocol dlci router(config-if)# z配置标准 ACL:router(config)# access-list Access-List-Number permit deny source source-mask router(config)# interface Type Portrouter(config-if)# ip access-group Access-List-Number in out router(config-if)# z配置扩展

21、 ACL:router(config)# access-list Access-List-Number permit deny Protocol Protocol-Number source source-wildcard Source-Port destination destination-wildcard Destination-Port established router(config)# interface Type Portrouter(config-if)# ip access-group Access-List-Number in out router(config-if)#

22、 z配置命名 ACL:router(config)# ip access-list standard extended ACL-Namerouter(config std- ext- nacl)# permit deny IP-Access-List-Test-Conditions router(config std- ext- nacl)# no permit deny IP-Access-List-Test-Conditions router(config std- ext- nacl)# zrouter(config)# interface Type Portrouter(config-

23、if)# ip access-group ACL-Name 1199 in out router(config-if)# z配置 DCE 时钟:router# show controllers Type Port router(confin-if)# clock rate 64000 router(config-if)# z配置 PPP 协议:router(config)# username Name passWord Set-Password-Here router(config)# interface Type Portrouter(config-if)# encapsulation pp

24、p router(config-if)# ppp outhentication chap chap pap pap chap pap router(config-if)# ppp pap sent-username Name password Password router(config-if)# zPAP 单向认证配置实例:验证方:router-server(config)# username ClIEnt passWord 12345 router-server(config)# interface serial 0router-server(config-if)# encapsulati

25、on ppprouter-server(config-if)# ppp authentication pap router-server(config-if)# z被验证方:router-client(config-if)# encapsulation ppprouter-client(config-if)# ppp pap sent-username Client password 12345 router-client(config-if)# zPAP 双向认证配置实例:路由器 A:routerA(config)# username B password 12345routerA(conf

26、ig)# interface serial 0routerA(config-if)# encapsulation ppprouterA(config-if)# ppp authentication paprouterA(config-if)# ppp pap sent-username A password 54321routerA(config-if)# z路由器 B:routerB(config)# username A password 54321routerB(config)# interface serial 1routerB(config-if)# encapsulation pp

27、prouterB(config-if)# ppp authentication paprouterB(config-if)# ppp pap sent-username B password 12345routerB(config-if)# zCHAP 单向认证配置实例:验证方:router-server(config)# username router-client password 12345router-server(config)# interface serial 0router-server(config-if)# encapsulation ppprouter-server(co

28、nfig-if)# ppp authentication chaprouter-server(config-if)# z被验证方:router-client(config-if)# encapsulation ppprouter-client(config-if)# ppp authentication chaprouter-client(config-if)# ppp chap hostname router-clientrouter-client(config-if)# ppp chap password 12345router-client(config-if)# zCHAP 双向认证配

29、置实例: 路由器 A:routerA(config)# username routerB passWord 12345routerA(config)# interface serial 0routerA(config-if)# encapsulation ppprouterA(config-if)# ppp authentication chaprouterA(config-if)# ppp chap hostname routerArouterA(config-if)# ppp chap password 54321routerA(config-if)# z路由器 B:routerB(con

30、fig)# username routerA password 54321routerB(config)# interface serial 1routerB(config-if)# encapsulation ppprouterB(config-if)# ppp authentication chaprouterB(config-if)# ppp chap hostname routerBrouterB(config-if)# ppp chap password 12345routerB(config-if)# zTelnet 使用:routerA# terminal monitor rou

31、terA# telnet IP-Address Router-Name routerB# exit logout routerB# 再按 routerA# show sessions routerA# Connect-Number routerA# disconnect IP-Address Router-Name routerA# show user routerA# clear line 0 1 2 3 4 禁止任何 Telnet 到本机:router(config)# line vty 0 4router(config-line)# access-class ACL-Numberrout

32、er(config)# z设置主机名:router(config)# hostname Set-Hostnamerouter(config)# zrouter(config)# z设置用户模式密码:router(config)# line console 0router(config-line)# loginrouter(config-line)# password Set-Passwordrouter(config-line)# z设置 Telnet 密码:router(config)# line vty 0 4router(config-line)# loginrouter(config-

33、line)# passWord Set-Passwordrouter(config-line)# z设置特权模式密码:router(config)# enable password Set-Password router(config)# enable secret Set-Password router(config)# z给所有密码加密:router(config)# service password-ancryption Set-Password-Hererouter(config)# no service password-ancryption router(config)# z设置登

34、录 Banner:router(config)# banner motd 分隔符 Set-Banner-InFORMation-Here 分隔符 设置接口的描述信息:router(config-if)# description Set-Port-InFORMation-Hererouter(config)# zCDP 的控制:router(config-if)# cdp enable router(config-if)# no cdp enable router(config)# cdp run router(config)# no cdp run Ping 的使用:router# ping

35、IP-Addressrouter# ping Protocol ip: Protocol-Type Target IP address:IP-Address Repeat count 5: Datagram size 100: Timeout in seconds 2: Extended commands n:y Sweep range of sizes n:Tracke 的使用:router# trace IP-Address Host-Name 为 Cisco 4000 路由器指定媒体类型:router(config-if)# media-type 10basetrouter(config

36、-if)# z更改路由器启动顺序: router(config)# boot system Flash IOS-FileNamerouter(config)# boot system tftp IOS-FileName TFTP-IP-Addressrouter(config)# boot system romrouter(config)# z修改寄存器数值:router(config)# config-register value 在 ROM 监视器中更改寄存器数值: o/r value路由器密码的恢复: o/r 0x2142 或 confreg 0x2142 router Irouter

37、nrouter enablerouter# copy startup-config running-configrouter# configure terminalrouter(config)# enable secret New-PassWordrouter(config)# config-register 0x2102router(config)# zrouter# copy running-config startup-configrouter# reload冷关机,然后再开机并在 60 秒内按 进入 ROM 监视器模式配置名称主机入口:router(config)# ip host S

38、et-Name TCP-Port-Number IP-Address IP-Address 2 router(config)# z定义 DNS 主机:router(config)# ip name-server Server-Address Server-Address 2 router(config)# z禁用 DNS:router(config)# no ip domain-lookuprouter(config)# z配置水平分割:router(config-if)# ip split-horizonrouter(config-if)# no ip split-horizonrouter

39、(config-if)# z配置静态路由: router(config)# ip route IP-Address Subnet-Mask Next-Hop-Address Local-Out-Port Distace router(config)# z配置缺省路由:router(config)# ip defoult-network IP-Address router(config)# ip route 0.0.0.0 0.0.0.0 Next-Hop-Address Local-Out-Port Distace router(config)# z其它命令:router# show vers

40、ionrouter# show running-configrouter# show startup-configrouter# show Flashrouter# show interface Type Port router# show buffersrouter# show protocolrouter# show memrouter# show stacksrouter# show processesrouter# show cdp entry Device-Name router# show cdp neighborsrouter# show cdp neighbors detail

41、 router# show ip routerrouter# show ipx routerrouter# show hostrouter# show ip protocolrouter# show ip interface Type Portrouter# show ipx interface Type Portrouter# show ipx serversrouter# show ipx trafficrouter# show access-lists ACL-Number router# show isdn statusrouter# show dialer router# show

42、isdn activerouter# show frame-relay pvcrouter# show frame-relay maprouter# show frame-relay lmirouter# erase startup-configrouter# reloadrouter# setuprouter# copy running-config startup-configrouter# copy startup-config running-configrouter# copy tftp running-configrouter# copy running-config tftpro

43、uter# debug ipx routing activityrouter# debug ipx saprouter# debug isdn q921router# debug isdn q931router# debug dialerrouter# debug ip riprouter# clear interface bri 0 1 2 配置实例:要想使基于时间的 ACL 生效需要我们配置两方面的命令:1、定义时间段及时间范围。2、ACL 自身的配置,即将详细的规则添加到 ACL 中。3、宣告 ACL,将设置好的 ACL 添加到相应的端口中。网络环境介绍:我们采用如图所示的网络结构。路由

44、器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24。在 172.16.4.0/24 网段中有一台服务器提供FTP 服务,IP 地址为 172.16.4.13。配置任务:只容许 172.16.3.0 网段的用户在周末访问 172.16.4.13 上的 FTP 资源,工作时间不能下载该 FTP 资源。路由器配置命令:time-range softer 定义时间段名称为 softerperiodic weekend 00:00 to 23:59 定义具体时间范围,为每周周末(6,日)的 0 点到 23 点 59 分。当然可以使用 periodic weekdays 定义工

45、作日或跟星期几定义具体的周几。access-list 101 deny tcp any 172.16.4.13 0.0.0.0 eq ftp time-range softer 设置 ACL,禁止在时间段 softer 范围内访问 172.16.4.13 的 FTP服务。access-list 101 permit ip any any 设置 ACL,容许其他时间段和其他条件下的正常访问。int e 1 进入 E1 端口。ip access-group 101 out 宣告 ACL101。基于时间的 ACL 比较适合于时间段的管理,通过上面的设置 172.16.3.0 的用户就只能在周末访问服

46、务器提供的 FTP 资源了,平时无法访问。(由于芯片结构的原因,中端产品的 QACL 配置较复杂,给用户使用带来了一定的难度,用服人员维护起来有时也会较为棘手,经常会有用户和用服人员打电话过来咨询这方面的配置的使用,下面的配置案例全部取材于 6500 系列产品在使用中的实际配置,大多是客户的咨询,其中一些还曾发生过网上问题。将这些东西进行总结,有利于我们更好的使用 6506。【案例 1】我想实现办公网只有个别的机器(10.1.0.38)访问服务器 10.1.0.254,我进行了如下配置,但 10.1.0.38 依然无法访问服务器,6506 是不是不能实现这种需求啊。aclnumber100ru

47、le0 permit ip sou 10.1.0.380 des 10.1.0.2540rule1 deny ipinte2/0/1paipin100【问题分析】这是个比较典型的错误,错误原因就是没有搞清 6506 的 acl 的其作用的顺序。在 6500 系列产品上,是根据规则的下发时间顺序来决定起作用的顺序的,最近下发的规则我们认为是用户最新的需求,它会最新起作用。对于上面的配置,rule0 先下发,rule1 后下发,那么首先其作用的是 rule1。这样会将所有的报文都过滤掉。【解决办法】将两条规则的配置顺序对调。【案例 2】我想禁止 210.31.12.00.0.1.255 访问任何网

48、段的 ICMP 报文,但却无法实现,请帮忙检查一下。aclnumber100match-orderautorule0denyicmpsource210.31.12.00.0.1.255rule1denytcpsource-porteq135destination-porteq135rule2denytcpsource-porteq135destination-porteq139rule3denytcpsource-porteq135destination-porteq4444rule4denytcpsource-porteq135destination-porteq445rule5denyud

49、psource-porteqtFTPdestination-porteqtftprule6denytcpsource-porteq1025rule8permitip【问题分析】又是一个比较典型的错误,用户认为要想让交换机转发,必须配置类似 rule8的规则,其实这是不必要的,6506 缺省有一条 matchall 表项,将交换机配置成转发模式,再配置一条,则覆盖了前面的所有规则。【解决办法】将最后一条规则去掉。【案例 3】规则如下,要求只允许 10.89.0.0/16 访问 10.1.1.0,但配置后其他网段也可以访问了,请问是为什么?aclnumber101match-orderautorule0denyipaclnumber102match-orderautorule0permitips

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报