M000 0037 以太网安全技术ACL原理及其配置.docx

上传人:b****6 文档编号:6026456 上传时间:2023-01-03 格式:DOCX 页数:21 大小:2.30MB
下载 相关 举报
M000 0037 以太网安全技术ACL原理及其配置.docx_第1页
第1页 / 共21页
M000 0037 以太网安全技术ACL原理及其配置.docx_第2页
第2页 / 共21页
M000 0037 以太网安全技术ACL原理及其配置.docx_第3页
第3页 / 共21页
M000 0037 以太网安全技术ACL原理及其配置.docx_第4页
第4页 / 共21页
M000 0037 以太网安全技术ACL原理及其配置.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

M000 0037 以太网安全技术ACL原理及其配置.docx

《M000 0037 以太网安全技术ACL原理及其配置.docx》由会员分享,可在线阅读,更多相关《M000 0037 以太网安全技术ACL原理及其配置.docx(21页珍藏版)》请在冰豆网上搜索。

M000 0037 以太网安全技术ACL原理及其配置.docx

M0000037以太网安全技术ACL原理及其配置

1.1以太网访问控制列表1

1.1.1什么是访问控制列表3

1.1.2流分类介绍5

1.1.3访问控制列表构成7

1.2以太网访问控制列表的配置8

1.2.1时间段的相关配置8

1.2.2定义访问控制列表9

1.2.3基本访问控制列表的规则配置11

1.2.4高级访问控制列表的规则配置12

1.2.5端口操作符及语法14

1.2.6接口访问控制列表的规则配置15

1.2.7二层访问控制列表的规则配置16

1.2.8自定义访问控制列表的规则配置18

1.2.9规则匹配原则20

1.2.10激活访问控制列表21

1.2.11配置ACL进行包过滤的步骤23

1.2.12访问控制列表配置举例24

1.2.13访问控制列表的维护和调试26

1.1

以太网访问控制列表

访问控制列表ACL(AccessControlList)为网络设备提供了基本的服务安全性。

对某个服务而言,安全管理员首先应该考虑的是:

该服务是否有必要运行在当前环境中;如果必要,又有哪些用户能够享用该服务。

●如果该服务不必要,则应当禁止该服务。

因为运行一个不必要的服务,不仅会浪费网络等资源,而且会给当前的网络环境带来安全隐患。

●如果是部分用户需要,则应当为该服务规划权限,禁止无权限的用户使用该服务。

●如果某个服务仅仅在网络内部需要,则还需尽力避免该服务被网络外部访问。

●同样,如果某个服务仅在网络外部是必须的,则管理员还应将该服务限制在网络外部。

●对于某些服务来说,即使用户能使用该服务,安全管理员也应该能监管该服务的使用情况,比如控制某服务只能在某段时间内使用,对该服务的使用量进行统计等等。

在使用访问控制列表之前,安全管理员必须非常清楚当前网络环境的安全规划,和潜在的安全问题。

例如上面的图示中,我们所看到的,在企业网内部,管理员必须清楚部门A、部门B能够访问的服务器内容,部门A和部门B相互之间能够互通的服务,各部门能够访问的企业网络外部服务,能被企业网络外部访问的服务,以及服务器的访问权限等等。

1.1.1

什么是访问控制列表

访问控制列表被创建后,既可以用于拒绝某些数据包经过某个交换机接口,也可用于拒绝某些数据包经过交换机的所有接口。

访问控制列表是否支持在单个接口上的应用要根据交换机型号而定。

QuidwayS3526的访问控制列表在创建后将应用于交换机的所有端口。

默认情况下,交换机将允许所有的数据包经过所有接口,即不做任何转发限制。

而采用访问控制列表,则交换机在转发某个数据包之前,将会参考访问控制列表中的内容以确定是否转发。

最初,访问控制列表的作用仅限于决定是否转发数据包(如转发或丢弃)。

管理员只能对值得怀疑的数据包作出丢弃决定,但不能监控那些存在安全隐患的数据包。

QuidwayS3526提供给管理员更丰富的功能,如利用访问控制列表进行数据包分析、流量限制和流量统计。

●包过滤(PacketFiltering):

对每个数据包按照用户所定义的项目进行过滤,如比较数据包的源地址、目的地址是否符合规则等。

包过滤不涉及会话的状态,也不分析数据,只分析数据包的包头信息。

如果配置的规则合理,在这一层能够过滤掉很多有安全隐患的数据包。

●报文监控(PacketMonitoring):

一般一台设备需要一个监控端口就可以监控设备的所有端口。

监控端口一般接报文/协议分析仪,用于报文/协议分析。

管理员事先确定要监控的报文类型,如ICMP报文。

这时进入或离开交换机的所有ICMP报文都会被拷贝到监控端口,连接到该端口的网络分析仪能同时收到该报文进行分析。

●流量限制(CAR):

管理员可以限制某一源与目的对之间的平均报文流量。

既可以是IP地址对,也可以是MAC地址对。

流量限制将在两个方向上同时进行。

●报文统计(PacketGathering):

管理员确定要统计的报文流向,即从何处而来(报文的源地址),准备去往哪里(报文的目的地址)。

这里的地址既可以是MAC地址,也可以是IP地址。

而且可以统计双向的报文流量。

统计结果可以是报文的字节数,也可以是报文的包数。

本章中我们将主要介绍ACL在包过滤方面的应用,实际上ACL在QOS等方面也有相当广泛的应用,对此我们将在另外的章节再进行详细的介绍。

大多数访问控制列表在数据本身上不做任何事,不能基于数据流的实际内容作出操作决定。

对报文过滤而言,访问控制列表只能实现:

●不让任何人从外界使用Telnet登录。

●让每个人经由SMTP向我们发送电子邮件。

●那台机器经由NNTP能把新闻发给我们,但是没有其它机器能这样做。

然而,访问控制列表不能实现如下的一些需求:

●某个特定用户能从外部远程登录,但是其它用户不能这样做。

因为“用户”不是数据包过滤系统所能辨认的。

●可以发送这些文件而不是那些文件。

因为“文件”也不是数据包过滤系统所能辨认的。

1.1.2

流分类介绍

流(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的源、目的端口

可以用这些域的各式各样的组合形成不同的规则。

比如,要禁止从主机1.1.1.1到主机2.2.2.2的FTP连接,管理员可以创建这样的规则用于丢弃相应的报文:

●IP目的地址=2.2.2.2

●IP源地址=1.1.1.1

●IP协议域=6(TCP)

●目的端口=21(FTP)

1.1.3

访问控制列表构成

访问控制列表由一条条安全策略构成,每一条策略(AccessControlList,简称ACL)由一系列的规则(rule)组成。

规则(rule)用于划分数据包类型,并定义动作用于决定对数据包的下一步操作,常用的动作有permit(允许)和deny(丢弃)。

根据工作模式的不同,访问控制列表可以分为两类:

●基于MAC层的访问控制列表,主要使用2层流规则

●基于IP层的访问控制列表,主要使用3/4层流规则

ACL可以带上时间段,表示使某一条ACL在特定的时间段内起作用。

ACL可以用名字标识,也可以用数字进行标识。

1.2

以太网访问控制列表的配置

1.2.1时间段的相关配置

对时间段的配置有如下内容:

配置每天的时分范围、周期范围和日期范围。

配置日期范围采用的是年、月、日、时、分的形式,配置周期范围采用的是每周的周几的形式,配置每天的时分范围采用的是每天的几点、几分的形式。

如果不配置起始时分和结束时分,时间范围就是一天内所有的时间。

如果不配置结束日期,时间范围就是从配置生效之日起到系统可以表示的最大时间为止。

对于时间段的配置是在系统视图下进行的,在完成时间段的配置之后,我们就可以在配置ACL的规则时指定该条规则在什么时间段内有效。

下面我们来看一个关于时间段配置的例子:

假设管理员需要在从2002年12月1日上午8点到2003年1月1日下午18点的时间段内实施安全策略,可以定义时间段名为denytime,具体配置如下:

[Quidway]time-rangedenytimefrom8:

0012-01-2002to18:

0001-01-2003

1.2.2

定义访问控制列表

在系统视图下,我们可以通过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。

对于不同类型的访问控制列表,其规则的配置也不尽相同,下面我们分别进行介绍:

1.2.3

基本访问控制列表的规则配置

基本访问控制列表的特点是只用IP数据包的源地址信息来定义规则,并以此来对通过交换机的业务流进行分类。

下面介绍一下相关的参数:

rule-id:

指定访问控制列表的子规则ID,取值范围为0~127。

permit:

表明允许满足条件的报文通过。

deny:

表明禁止满足条件的报文通过。

time-rangetime-range-name:

时间段的名称,可选参数,表示该规则在此时间段内有效。

sourcesource-addrsource-wildcard|any:

source-addrsource-wildcard表示源IP地址和源地址通配位,点分十进制表示;any表示所有源地址。

fragment:

表示此条规则仅对分片报文有效,而对非分片报文忽略此规则。

1.2.4

高级访问控制列表的规则配置

高级访问控制列表与基本访问控制列表的区别在于,高级访问控制列表使用更多的信息来定义规则。

除了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:

表示此条规则仅对分片报文有效,而对非分片报文忽略此规则。

1.2.5

端口操作符及语法

应用高级访问控制列表时,对于使用TCP、UDP协议传输的数据包还可以同时使用目的端口号来对数据包做出区分。

上面的胶片中给出了TCP/UDP协议支持的端口操作符以及语法。

1.2.6

接口访问控制列表的规则配置

在三层交换机中,接口访问控制列表是一种比较特殊的访问控制列表。

它主要用来在三层交换机上区分来自不同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。

1.2.7

二层访问控制列表的规则配置

与路由器不同的是,在交换机产品中我们除了可以配置基于三层即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表示从所有端口转发的所有报文。

1.2.8

自定义访问控制列表的规则配置

前面我们介绍了常见的四种常见的访问控制列表:

基本、高级、基于接口和基于二层的。

实际上在华为某些型号的以太网交换机上(如S3526E),还支持另外一种访问控制列表的类型,即用户自定义型的访问控制列表。

用户自定义访问控制列表的好处在于,用户可以根据实际的需求来定义访问控制列表的类型,以实现比较灵活的应用。

用户自定义访问控制列表根据用户的定义对二层数据帧的前64个字节中的任意字节进行匹配,对数据报文作出相应的处理。

正确使用用户自定义访问控制列表需要用户对二层数据帧的构成有深入的了解。

下图为二层数据帧的前64个字节的示意图(每个字母代表一个16进制数,每两个字母代表一个字节)。

在上图中,各个字母的含义及偏移量取值如下表所示:

字母

含义

偏移量

字母

含义

偏移量

A

目的MAC地址

0

O

TTL字段

34

B

源MAC地址

6

P

协议号(6代表TCP,17代表UDP)

35

C

数据帧的长度字段

12

Q

IP校验和

36

D

VLANtag字段

14

R

源IP地址

38

E

DSAP(目的服务访问点)字段

18

S

目的IP地址

42

F

SSAP(源服务访问点)字段

19

T

TCP源端口

46

G

Ctrl字段

20

U

TCP目的端口

48

H

orgcode字段

21

V

序列号

50

I

封装的数据类型

24

W

确认字段

54

J

IP版本号

26

XY

IP头长度和保留比特位

58

K

TOS字段

27

Z

保留比特位和flags比特位

59

L

IP包的长度

28

a

WindowSize字段

60

M

ID号

30

b

其他

62

N

Flags字段

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这样的规则。

此参数用于用户自定义的访问控制列表。

1.2.9

规则匹配原则

现在我们已经介绍了在不同类型的访问控制列表之中,如何进行规则的配置。

由于在一条访问控制列表中,往往会配置多条规则,而每一条规则指定的数据包的范围大小有别,这样在匹配一个访问控制规则的时候就存在匹配顺序的问题。

访问控制列表子规则的匹配顺序有如下两种:

●config:

指定匹配该规则时按用户的配置顺序。

●auto:

指定匹配该规则时系统自动排序。

(按“深度优先”的顺序)

缺省情况下匹配顺序为按用户的配置排序,即“config”。

用户一旦指定某一条访问控制规则的匹配顺序,就不能再更改该顺序,除非把该规则的内容全部删除,再重新指定其匹配顺序。

auto所用的“深度优先”的原则是指:

把指定数据包范围最小的语句排在最前面。

这一点可以通过比较地址的通配符来实现,通配符越小,则指定的主机的范围就越小。

比如129.102.1.10.0.0.0指定了一台主机:

129.102.1.1,而129.102.1.10.0.255.255则指定了一个网段:

129.102.1.1~129.102.255.255,显然前者在访问控制规则中排在前面。

具体标准为:

对于基本访问控制规则的语句,直接比较源地址通配符,通配符相同的则按配置顺序;对于基于接口过滤的访问控制规则,配置了“any”的规则排在后面,其它按配置顺序;对于高级访问控制规则,首先比较源地址通配符,相同的再比较目的地址通配符,仍相同的则比较端口号的范围,范围小的排在前面,如果端口号范围也相同则按配置顺序。

1.2.10

激活访问控制列表

在前面我们介绍了如何定义一条访问控制列表。

在访问控制列表定义好之后,还必须激活之后才能使之生效。

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

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1