M000 0037 以太网安全技术(ACL原理及其配置)_第1页
M000 0037 以太网安全技术(ACL原理及其配置)_第2页
M000 0037 以太网安全技术(ACL原理及其配置)_第3页
M000 0037 以太网安全技术(ACL原理及其配置)_第4页
M000 0037 以太网安全技术(ACL原理及其配置)_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程M0000037 以太网安全技术(ACL原理及其配置) Issue1.0PAGE28 1.1以太网访问控制列表 11.1.1什么是访问控制列表 31.1.2流分类介绍 51.1.3访问控制列表构成 71.2以太网访问控制列表的配置 81.2.1时间段的相关配置 81.2.2定义访问控制列表 91.2.3基本访问控制列表的规则配置 111.2.4高级访问控制列表的规则配置 121.2.5端口操作符及语法 141.2.6接口访问控制列表的规则配置 151.2.7二层访问控制列表的规则配置 161.2.8自定义访问控制列表的规则配置 181.2.9规则匹配原则 201.2.10激活访问控制列表 211.2.11配置ACL进行包过滤的步骤 231.2.12访问控制列表配置举例 241.2.13访问控制列表的维护和调试 26

以太网访问控制列表访问控制列表ACL(AccessControlList)为网络设备提供了基本的服务安全性。对某个服务而言,安全管理员首先应该考虑的是:该服务是否有必要运行在当前环境中;如果必要,又有哪些用户能够享用该服务。如果该服务不必要,则应当禁止该服务。因为运行一个不必要的服务,不仅会浪费网络等资源,而且会给当前的网络环境带来安全隐患。如果是部分用户需要,则应当为该服务规划权限,禁止无权限的用户使用该服务。如果某个服务仅仅在网络内部需要,则还需尽力避免该服务被网络外部访问。同样,如果某个服务仅在网络外部是必须的,则管理员还应将该服务限制在网络外部。对于某些服务来说,即使用户能使用该服务,安全管理员也应该能监管该服务的使用情况,比如控制某服务只能在某段时间内使用,对该服务的使用量进行统计等等。在使用访问控制列表之前,安全管理员必须非常清楚当前网络环境的安全规划,和潜在的安全问题。例如上面的图示中,我们所看到的,在企业网内部,管理员必须清楚部门A、部门B能够访问的服务器内容,部门A和部门B相互之间能够互通的服务,各部门能够访问的企业网络外部服务,能被企业网络外部访问的服务,以及服务器的访问权限等等。

什么是访问控制列表访问控制列表被创建后,既可以用于拒绝某些数据包经过某个交换机接口,也可用于拒绝某些数据包经过交换机的所有接口。访问控制列表是否支持在单个接口上的应用要根据交换机型号而定。QuidwayS3526的访问控制列表在创建后将应用于交换机的所有端口。默认情况下,交换机将允许所有的数据包经过所有接口,即不做任何转发限制。而采用访问控制列表,则交换机在转发某个数据包之前,将会参考访问控制列表中的内容以确定是否转发。最初,访问控制列表的作用仅限于决定是否转发数据包(如转发或丢弃)。管理员只能对值得怀疑的数据包作出丢弃决定,但不能监控那些存在安全隐患的数据包。QuidwayS3526提供给管理员更丰富的功能,如利用访问控制列表进行数据包分析、流量限制和流量统计。 包过滤(PacketFiltering):对每个数据包按照用户所定义的项目进行过滤,如比较数据包的源地址、目的地址是否符合规则等。包过滤不涉及会话的状态,也不分析数据,只分析数据包的包头信息。如果配置的规则合理,在这一层能够过滤掉很多有安全隐患的数据包。 报文监控(PacketMonitoring):一般一台设备需要一个监控端口就可以监控设备的所有端口。监控端口一般接报文/协议分析仪,用于报文/协议分析。管理员事先确定要监控的报文类型,如ICMP报文。这时进入或离开交换机的所有ICMP报文都会被拷贝到监控端口,连接到该端口的网络分析仪能同时收到该报文进行分析。 流量限制(CAR):管理员可以限制某一源与目的对之间的平均报文流量。既可以是IP地址对,也可以是MAC地址对。流量限制将在两个方向上同时进行。 报文统计(PacketGathering):管理员确定要统计的报文流向,即从何处而来(报文的源地址),准备去往哪里(报文的目的地址)。这里的地址既可以是MAC地址,也可以是IP地址。而且可以统计双向的报文流量。统计结果可以是报文的字节数,也可以是报文的包数。本章中我们将主要介绍ACL在包过滤方面的应用,实际上ACL在QOS等方面也有相当广泛的应用,对此我们将在另外的章节再进行详细的介绍。大多数访问控制列表在数据本身上不做任何事,不能基于数据流的实际内容作出操作决定。对报文过滤而言,访问控制列表只能实现: 不让任何人从外界使用Telnet登录。 让每个人经由SMTP向我们发送电子邮件。 那台机器经由NNTP能把新闻发给我们,但是没有其它机器能这样做。然而,访问控制列表不能实现如下的一些需求:某个特定用户能从外部远程登录,但是其它用户不能这样做。因为“用户”不是数据包过滤系统所能辨认的。 可以发送这些文件而不是那些文件。因为“文件”也不是数据包过滤系统所能辨认的。

流分类介绍流(flow),即业务流。流分类,就是根据分类项将数据包划分成不同类型。对于访问控制列表ACL来说,在实现包过滤或QOS等应用之前,要做的的第一件事就是对通过网络设备的业务流进行分类。流分类的结果是对每一种数据包类型采取不同的操作,也可能是几种不同的数据包类型采取相同的操作。在三层交换机(如S3526)中,访问控制列表不仅可以应用于以太网帧,还可以应用于IP数据包。而二层交换机(如S3026),就只能应用于以太网帧。数据包到达端口后,如果是可以直接在链路层交换的以太网帧,则先获取以太网帧头信息,包括以太网帧承载的协议类型(如IP、ARP或RARP协议)、以太网帧封装类型(EthernetII、SNAP或802.3封装等等)、源MAC地址、目的MAC地址,以太网帧的入/出端口,然后和设定的2层流规则进行比较,根据比较结果做下一步操作。如果是需要三层转发的数据包,则先获取包头信息,包括IP层所承载的上层协议类型(ICMP、TCP、UDP、IGMP),数据包的源IP地址、目的IP地址、4层源端口、目的端口或者是DSCP优先级标记,然后和设定的规则进行比较。

下面我们再来看看有关包过滤的一些概念。对IP数据包实现过滤,通常用到的属性如上图所示(图中IP所承载的上层协议为TCP),即: IP的源、目的地址及协议域 TCP或UDP的源、目的端口可以用这些域的各式各样的组合形成不同的规则。比如,要禁止从主机到主机的FTP连接,管理员可以创建这样的规则用于丢弃相应的报文: IP目的地址= IP源地址= IP协议域=6(TCP) 目的端口=21(FTP)

访问控制列表构成访问控制列表由一条条安全策略构成,每一条策略(AccessControlList,简称ACL)由一系列的规则(rule)组成。规则(rule)用于划分数据包类型,并定义动作用于决定对数据包的下一步操作,常用的动作有permit(允许)和deny(丢弃)。根据工作模式的不同,访问控制列表可以分为两类: 基于MAC层的访问控制列表,主要使用2层流规则 基于IP层的访问控制列表,主要使用3/4层流规则ACL可以带上时间段,表示使某一条ACL在特定的时间段内起作用。ACL可以用名字标识,也可以用数字进行标识。

以太网访问控制列表的配置时间段的相关配置对时间段的配置有如下内容:配置每天的时分范围、周期范围和日期范围。配置日期范围采用的是年、月、日、时、分的形式,配置周期范围采用的是每周的周几的形式,配置每天的时分范围采用的是每天的几点、几分的形式。如果不配置起始时分和结束时分,时间范围就是一天内所有的时间。如果不配置结束日期,时间范围就是从配置生效之日起到系统可以表示的最大时间为止。对于时间段的配置是在系统视图下进行的,在完成时间段的配置之后,我们就可以在配置ACL的规则时指定该条规则在什么时间段内有效。下面我们来看一个关于时间段配置的例子:假设管理员需要在从2002年12月1日上午8点到2003年1月1日下午18点的时间段内实施安全策略,可以定义时间段名为denytime,具体配置如下:[Quidway]time-rangedenytimefrom8:0012-01-2002to18:0001-01-2003

定义访问控制列表在系统视图下,我们可以通过ACL命令来定义一条访问控制列表并进入访问控制列表视图。在前面我们已经提到过,ACL可以用名字来标识,也可以用数字来标识:如果用名字,必须由从a到z的英文字母组成,长度不能超过32个字母。如果用数字进行标识,取值范围为1~1999。在华为的Quidway系列以太网交换机支持多种访问控制列表,并把这些访问控制列表分为四类:基本访问控制列表(basic)、高级访问控制列表(advanced)、接口访问控制列表(interface)和基于二层的访问控制列表(link)。在定义访问控制列表时,我们也必须定义其类型。如果是用数字对访问控制列表进行标识,我们则可以通过不同的数字范围来表示不同的列表类型:1~99:基本访问控制列表(basic)100~199:高级访问控制列表(advanced)1000~1999:接口访问控制列表(interface)200~299:基于二层的访问控制列表(link)在进入访问控制列表视图之后,我们就可以用rule命令来为ACL定义规则。在定义ACL的子规则时,我们可以多次使用rule命令给同一个访问控制列表定义多条规则。这样在多条规则之间,就存在一个匹配顺序matchorder的问题。在定义ACL时,我们也可以同时定义规则之间的匹配顺序:config或auto。对于不同类型的访问控制列表,其规则的配置也不尽相同,下面我们分别进行介绍:

基本访问控制列表的规则配置基本访问控制列表的特点是只用IP数据包的源地址信息来定义规则,并以此来对通过交换机的业务流进行分类。下面介绍一下相关的参数:rule-id:指定访问控制列表的子规则ID,取值范围为0~127。permit:表明允许满足条件的报文通过。deny:表明禁止满足条件的报文通过。time-rangetime-range-name:时间段的名称,可选参数,表示该规则在此时间段内有效。sourcesource-addrsource-wildcard|any:source-addrsource-wildcard表示源IP地址和源地址通配位,点分十进制表示;any表示所有源地址。fragment:表示此条规则仅对分片报文有效,而对非分片报文忽略此规则。

高级访问控制列表的规则配置高级访问控制列表与基本访问控制列表的区别在于,高级访问控制列表使用更多的信息来定义规则。除了IP数据包的源地址之外,高级访问控制列表还使用目的地址和协议号,而对于使用TCP、UDP协议传输的数据包还可以同时使用目的端口号来对数据包做出区分。下面介绍一下高级访问控制列表所特有的一些参数:protocol:本参数用来指定协议类型。协议类型可以使用名字表示,也可以使用数字表示。在使用名字表示时,该参数可以取值icmp、igmp、tcp、udp、ip、gre、ospf、ipinip等。如果本参数取值为IP,表示所有的IP协议。在使用数字表示时,数字的取值范围为1~255。sourcesource-addrsource-wildcard|any:source-addrsource-wildcard表示源IP地址和源地址通配位,点分十进制表示;any表示所有源地址。destinationdest-addrdest-wildcard|any:dest-addrdest-wildcard表示目的IP地址和目的地址通配位,点分十进制表示;any表示所有目的地址。source-portoperatorport1[port2]:表示报文使用的源TCP或者UDP端口号。其中operator表示端口操作符,包括eq(等于)、gt(大于)、lt(小于)、neq(不等于)、range(在某个范围内)。注:本参数在protocol参数取值为TCP或UDP时才可用。port1[port2]:报文使用的TCP或者UDP源端口号,用字符或数字表示。数字的取值范围为0~65535,字符取值请参看端口号助记符表。只有操作符为range时才会同时出现port1port2两个参数,其它操作符只需port1。destination-portoperatorport1[port2]:表示报文使用的目的TCP或者UDP端口号。具体描述同source-portoperatorport1[port2]。icmp-typeicmp-typeicmp-code:当protocol参数取值icmp时出现。icmp-typeicmp-code指定一ICMP报文。icmp-type代表ICMP报文类型,用字符或数字表示,数字取值范围为0~255;icmp-code代表ICMP码,在协议为icmp且没有使用字符表示ICMP报文类型时出现,取值范围是0~255。established:表示此条规则仅对TCP建立连接的第一个SYN报文有效,可选参数,当protocol参数取值tcp时出现。precedenceprecedence:可选参数,表示IP优先级,取值为0~7的数值或名字。dscpdscp:可选参数,数据包可以根据DSCP值来分类,取值为0~63的数值或名字。tostos:可选参数,数据包可以根据TOS值来分类,取值为0~15的数值或名字。fragment:表示此条规则仅对分片报文有效,而对非分片报文忽略此规则。

端口操作符及语法应用高级访问控制列表时,对于使用TCP、UDP协议传输的数据包还可以同时使用目的端口号来对数据包做出区分。上面的胶片中给出了TCP/UDP协议支持的端口操作符以及语法。

接口访问控制列表的规则配置在三层交换机中,接口访问控制列表是一种比较特殊的访问控制列表。它主要用来在三层交换机上区分来自不同VLAN的业务流,并对不同的业务流进行不同的处理(permit或deny)。下面是接口访问控制列表特有的参数:interface{interface-name|interface-typeinterface-num|any}:三层接口名,其中interface-name为接口名,等于interface-type加上interface-num,用来表示一个接口,在交换机中三层接口只能是VLAN接口,即interface-type只能取值VLANInterface;any表示所有三层接口。在配置接口访问控制列表时要注意的是:在以太网交换机中,不存在三层物理接口,只存在三层Vlan虚接口,因此当命令行提示用户输入接口类型时,只能选择Vlan-interface型的接口,选择了其他类型的接口类型,命令行将会提示失败。另外只有当交换机上已经配置了Vlan-interface的时候,在配置才能够选择相应的VLAN-interface。

二层访问控制列表的规则配置与路由器不同的是,在交换机产品中我们除了可以配置基于三层即IP数据包的访问控制列表,还可以配置基于二层即MAC地址的访问控制列表。在二层访问控制列表中,我们主要根据源MAC地址、源VLANID、二层协议类型、报文二层接收端口、报文二层转发端口、目的MAC地址等二层信息制定规则,对数据进行相应处理。实际上所谓的“二层流规则”主要用于区分同一个VLAN内部的数据流。同一个VLAN内的数据流主要在2层转发,因为2层流规则信息是附属于MAC-PORT转发表的。因此硬件接口收到数据包后,能提取出以太网首部信息作为流分类依据。下面是二层访问控制列表特有的参数:protocol:为以太网帧承载的协议类型,可选参数,取值范围为ip、arp、rarp、pppoe-control和pppoe-data。cosvlan-pri:802.1p优先级,取值范围为0~7。ingress{{[source-vlan-id][source-mac-addrsource-mac-wildcard][interface{interface-name|interface-typeinterface-num}]}|any}:数据包的源信息,[source-vlan-id]表示的是数据包的源VLAN,[source-mac-addrsource-mac-wildcard]表示的是数据包的源MAC地址和MAC地址的通配符,这两个参数共同作用可以得到用户感兴趣的源MAC地址的范围,比如source-mac-wildcard取值为0.0.ffff,则表示用户只对源MAC地址的前32个bit(即通配符中数字0对应的比特位)感兴趣,interface{interface-name|interface-typeinterface-num}表示的是接收该报文的二层端口,any表示从所有端口接收到的所有报文。egress{{[dest-mac-addrdest-mac-wildcard][interface{interface-name|interface-typeinterface-num}]}|any}:数据包的目的信息,dest-mac-addrdest-mac-wildcard表示该报文的目的MAC地址和目的MAC地址通配符,这两个参数共同作用可以得到用户感兴趣的目的MAC地址的范围,比如dest-mac-wildcard取值为0.0.ffff,则表示用户只对目的MAC地址的前32个bit(即通配符中数字0对应的比特位)感兴趣,interface{interface-name|interface-typeinterface-num}表示转发该报文的二层端口,any表示从所有端口转发的所有报文。

自定义访问控制列表的规则配置前面我们介绍了常见的四种常见的访问控制列表:基本、高级、基于接口和基于二层的。实际上在华为某些型号的以太网交换机上(如S3526E),还支持另外一种访问控制列表的类型,即用户自定义型的访问控制列表。用户自定义访问控制列表的好处在于,用户可以根据实际的需求来定义访问控制列表的类型,以实现比较灵活的应用。用户自定义访问控制列表根据用户的定义对二层数据帧的前64个字节中的任意字节进行匹配,对数据报文作出相应的处理。正确使用用户自定义访问控制列表需要用户对二层数据帧的构成有深入的了解。下图为二层数据帧的前64个字节的示意图(每个字母代表一个16进制数,每两个字母代表一个字节)。在上图中,各个字母的含义及偏移量取值如下表所示:字母含义偏移量字母含义偏移量A目的MAC地址0OTTL字段34B源MAC地址6P协议号(6代表TCP,17代表UDP)35C数据帧的长度字段12QIP校验和36DVLANtag字段14R源IP地址38EDSAP(目的服务访问点)字段18S目的IP地址42FSSAP(源服务访问点)字段19TTCP源端口46GCtrl字段20UTCP目的端口48Horgcode字段21V序列号50I封装的数据类型24W确认字段54JIP版本号26XYIP头长度和保留比特位58KTOS字段27Z保留比特位和flags比特位59LIP包的长度28aWindowSize字段60MID号30b其他62NFlags字段32上表中各个字段的偏移量是它们在SNAP+tag的802.3数据帧中的偏移量。在用户自定义访问控制列表中,用户可以使用规则掩码和偏移量两个参数共同从数据帧中提取前64个字节中的任意字节,然后和用户定义的规则比较,从而过滤出匹配的数据帧,作相应的处理。用户定义的规则可以是数据的某些固定属性,比如用户要将所有的TCP报文过滤出来,可以将规则定义为“06”,规则掩码定义为“FF”,偏移量定义为35,此时规则掩码和偏移量共同作用,把接收到的数据帧中的TCP协议号字段的内容提取出来,和规则比较,匹配出所有的TCP报文。下面是用户自定义访问控制列表特有的参数:{rule-stringrule-maskoffset}&<1-20>:rule-string是用户自定义的规则字符串,必须是16进制数组成,字符必须是偶数个;rule-maskoffset用于提取报文的信息,rule-mask是规则掩码,用于和数据包作“与”操作,offset是偏移量,它以数据包的头部为基准,指定从第几个字节开始进行“与”操作,rule-maskoffset共同作用,将从报文提取出来的字符串和用户定义的rule-string比较,找到匹配的报文,然后进行相应的处理。&<1-20>表示则一次最多可以定义20这样的规则。此参数用于用户自定义的访问控制列表。

规则匹配原则现在我们已经介绍了在不同类型的访问控制列表之中,如何进行规则的配置。由于在一条访问控制列表中,往往会配置多条规则,而每一条规则指定的数据包的范围大小有别,这样在匹配一个访问控制规则的时候就存在匹配顺序的问题。访问控制列表子规则的匹配顺序有如下两种:config:指定匹配该规则时按用户的配置顺序。auto:指定匹配该规则时系统自动排序。(按“深度优先”的顺序)缺省情况下匹配顺序为按用户的配置排序,即“config”。用户一旦指定某一条访问控制规则的匹配顺序,就不能再更改该顺序,除非把该规则的内容全部删除,再重新指定其匹配顺序。auto所用的“深度优先”的原则是指:把指定数据包范围最小的语句排在最前面。这一点可以通过比较地址的通配符来实现,通配符越小,则指定的主机的范围就越小。比如指定了一台主机:,而55则指定了一个网段:~55,显然前者在访问控制规则中排在前面。具体标准为:对于基本访问控制规则的语句,直接比较源地址通配符,通配符相同的则按配置顺序;对于基于接口过滤的访问控制规则,配置了“any”的规则排在后面,其它按配置顺序;对于高级访问控制规则,首先比较源地址通配符,相同的再比较目的地址通配符,仍相同的则比较端口号的范围,范围小的排在前面,如果端口号范围也相同则按配置顺序。

激活访问控制列表在前面我们介绍了如何定义一条访问控制列表。在访问控制列表定义好之后,还必须激活之后才能使之生效。激活ACL的命令如胶片中所示,下面介绍相关的参数:user-group{acl-number|acl-name}:表示激活用户自定义的港问控制列表。acl-number:访问控制列表序号,300到399之间的一个数值。acl-name:访问控制列表名字,字符串参数,必须以英文字母(即[a~z,A~Z])开头,而且中间不能有空格和引号。ip-group{acl-number|acl-name}:表示激活IP访问控制列表,包括基本、高级和基于接口的访问控制列表。acl-number:访问控制列表序号,1到199之间和1000到1999之间的一个数值。acl-name:访问控制列表名字,字符串参数,必须以英文字母(即[a~z,A~Z])开头,而且中间不能有空格和引号。link-group{acl-number|acl-name}:表示激活二层访问控制列表。acl-number:访问控制列表序号,200到299之间的一个数值。acl-name:访问控制列表名字,字符串参数,必须以英文字母(即[a~z,A~Z])开头,而且中间不能有空格和引号。rulerule:可选参数,指定激活访问列表中的哪个子项,取值范围为0~127,如果不指定则表示要激活访问列表中的所有子项。在激活ACL时需要注意的是:华为交换机上支持同时激活二层访问控制列表和IP访问控制列表。IP访问控制列表包括基本访问控制列表、高级访问控制列表和基于接口的访问控制列表。但是要求组合项的动作一致,如果动作冲突(一个是permit,而另一个是deny)则不能激活。

配置ACL进行包过滤的步骤在前面我们已经介绍了有关访问控制列表ACL的一些配置命令,下面我们再来总结一下在交换机上配置ACL进行包过滤的步骤:配置时间段(可选,系统视图模式下进行):时间段的配置不是必须的,通常当我们需要访问控制列表在一段特殊的时间内有效时,才需要用到时间段的配置。定义访问控制列表(系统视图模式下进行):在交换机上有五类访问控制列表,分别是基本、高级、基于接口、基于二层和用户自定义。在定义访问控制列表并进入ACL配置模式之后,我们还需要根据不同的类型来定义访问控制列表规则rule,以对通过交换机的业务流进行分类和执行相应的动作(permit或deny)。在一条访问控制列表下可以配置多条规则,而且可以用config和auto两种顺序进行规则匹配。激活访问控制列表(系统视图模式下进行):在访问控制列表定义好之后,还必须激活之后才能使之生效。

访问控制列表配置举例下面我们根据一个实际应用的例子来练习一下有关访问控制列表的配置。胶片中的组网图表示的是一个公司的内部网络,该网络通过一台S3526以太网交换机的百兆端口实现各部门之间的互连。财务部门的工资查询服务器由Ethernet2/1端口接入(子网地址)。现在的要求是在交换机上正确配置访问控制列表ACL,限制其它部门在上班时间8:00至12:00访问工资服务器,而总裁办公室(IP地址:)不受限制,可以随时访问。下面是具体的配置:1.定义上班时间时间段:[Quidway]time-rangeworktime8:00to12:00daily//定义8:00至12:00的时间段,其中daily表示在每一天都有效。其他的时间参数如working-day、off-day等请参考命令手册。2.定义到工资服务器的ACL[Quidway]aclnametraffic-to-salaryserveradvance

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论