18-802.1x及System-Guard操作
本章节下载: 18-802.1x及System-Guard操作 (584.68 KB)
目 录
l 新增“在线用户握手”功能,具体请参见1.3.2 配置802.1x基本功能。
l 新增“配置802.1x重认证”功能,具体请参见1.4.5 配置802.1x重认证功能。
l 新增“配置802.1X重认证的超时定时器”功能,具体请参见1.4.6 配置802.1x重认证定时器。
IEEE802 LAN/WAN委员会为解决无线局域网网络安全问题,提出了802.1x协议。后来,802.1x协议作为局域网端口的一个普通接入控制机制应用于以太网中,主要解决以太网内认证和安全方面的问题。
802.1x协议是一种基于端口的网络接入控制(Port Based Network Access Control)协议。“基于端口的网络接入控制”是指在局域网接入设备的端口这一级对所接入的设备进行认证和控制。连接在端口上的用户设备如果能通过认证,就可以访问局域网中的资源;如果不能通过认证,则无法访问局域网中的资源。
使用802.1x的系统为典型的Client/Server体系结构,包括三个实体,如图1-1所示分别为:Supplicant System(客户端)、Authenticator System(设备端)以及Authentication Server System(认证服务器)。
图1-1 802.1x认证系统的体系结构
l 客户端是位于局域网段一端的一个实体,由该链路另一端的设备端对其进行认证。客户端一般为用户终端设备,用户通过启动客户端软件发起802.1x认证。客户端软件必须支持EAPOL(Extensible Authentication Protocol over LAN,局域网上的可扩展认证协议)协议。
l 设备端是位于局域网段一端的另一个实体,用于对所连接的客户端进行认证。设备端通常为支持802.1x协议的网络设备(如H3C系列交换机),它为客户端提供接入局域网的端口,该端口可以是物理端口,也可以是逻辑端口。
l 认证服务器是为设备端提供认证服务的实体。认证服务器用于实现用户的认证、授权和计费,通常为RADIUS服务器。该服务器可以存储用户的相关信息,例如用户的账号、密码以及用户所属的VLAN、优先级、用户的访问控制列表等。
三个实体涉及如下四个基本概念:PAE、受控端口、受控方向和端口受控方式。
PAE是认证机制中负责执行算法和协议操作的实体。
l 设备端PAE利用认证服务器对需要接入局域网的客户端执行认证,并根据认证结果相应地对受控端口的授权/非授权状态进行相应地控制。
l 客户端PAE负责响应设备端的认证请求,向设备端提交用户的认证信息。客户端PAE也可以主动向设备端发送认证请求和下线请求。
设备端为客户端提供接入局域网的端口,这个端口被划分为两个虚端口:受控端口和非受控端口。
l 非受控端口始终处于双向连通状态,主要用来传递EAPOL协议帧,保证客户端始终能够发出或接受认证。
l 受控端口在授权状态下处于连通状态,用于传递业务报文;在非授权状态下处于断开状态,禁止传递任何报文。
l 受控端口和非受控端口是同一端口的两个部分;任何到达该端口的帧,在受控端口与非受控端口上均可见。
在非授权状态下,受控端口可以被设置成单向受控:实行单向受控时,禁止从客户端接收帧,但允许向客户端发送帧。
缺省情况下,受控端口实行单向受控。
H3C系列交换机支持以下两种端口受控方式:
l 基于端口的认证:只要该物理端口下的第一个用户认证成功后,其他接入用户无须认证就可使用网络资源,当第一个用户下线后,其他用户也会被拒绝使用网络。
l 基于MAC地址认证:该物理端口下的所有接入用户都需要单独认证,当某个用户下线时,只有该用户无法使用网络,不会影响其他用户使用网络资源。
IEEE 802.1x认证系统利用EAP(Extensible Authentication Protocol,可扩展认证协议)协议,在客户端和认证服务器之间交换认证信息。
图1-2 802.1x认证系统的工作机制
l 在客户端PAE与设备端PAE之间,EAP协议报文使用EAPOL封装格式,直接承载于LAN环境中。
l 在设备端PAE与RADIUS服务器之间,EAP协议报文可以使用EAPOR(EAP over RADIUS)封装格式,承载于RADIUS协议中;也可以由设备端PAE进行终结,而在设备端PAE与RADIUS服务器之间传送PAP协议报文或CHAP协议报文。
l 当用户通过认证后,认证服务器会把用户的相关信息传递给设备端,设备端PAE根据RADIUS服务器的指示(Accept或Reject)决定受控端口的授权/非授权状态。
EAPOL是802.1x协议定义的一种报文封装格式,主要用于在客户端和设备端之间传送EAP协议报文,以允许EAP协议报文在LAN上传送。格式如图1-3所示。
图1-3 EAPOL数据包格式
PAE Ethernet Type:表示协议类型,802.1x分配的协议类型为0x888E。
Protocol Version:表示EAPOL帧的发送方所支持的协议版本号。
Type:
l EAP-Packet(值为00),认证信息帧,用于承载认证信息;
l EAPOL-Start(值为01),认证发起帧;
l EAPOL-Logoff(值为02),退出请求帧;
l EAPOL-Key(值为03),密钥信息帧;
l EAPOL-Encapsulated-ASF-Alert(值为04),用于支持ASF(Alerting Standards Forum)的Alerting消息。
Length:表示数据长度,也就是“Packet Body”字段的长度。如果为0,则表示没有后面的数据域。
Packet Body:根据不同的Type有不同的格式。
其中,EAPOL-Start,EAPOL-Logoff和EAPOL-Key仅在客户端和设备端之间存在;在设备端和认证服务器之间,EAP-Packet报文重新封装承载于RADIUS协议上,以便穿越复杂的网络到达认证服务器;EAPOL-Encapsulated-ASF-Alert封装与网管相关的信息,例如各种警告信息,由设备端终结。
当EAPOL数据包的Type域为EAP-Packet时,Packet Body为EAP数据包内容,如图1-4所示。
图1-4 EAP数据包格式
Code:指明EAP包的类型,一共有4种:Request,Response,Success,Failure。
Identifier:辅助进行Response和Request消息的匹配。
Length:EAP包的长度,包含Code、Identifier、Length和Data的全部内容。
Data:EAP数据信息,内容格式由Code决定。
Success和Failure类型的包没有Data域,相应的Length域的值为4。
Request和Response类型的Data域的格式如图1-5所示。
图1-5 Request和Response类型的Data域的格式
Type:指出EAP的认证类型。其中,值为1时,代表Identity,用来查询对方的身份;值为4时,代表MD5-Challenge,类似于PPP CHAP协议,包含质询消息。
Type Data:Type Data域的内容随不同类型的Request和Response而不同。
RADIUS为支持EAP认证增加了两个属性:EAP-Message(EAP消息)和Message-Authenticator(消息认证码)。RADIUS协议的报文格式请参见“AAA操作手册”中的RADIUS协议简介部分。
EAP-Message属性用来封装EAP数据包,如图1-6所示,类型代码为79,string域最长为253字节,如果EAP数据包长度大于253字节,可以对其进行分片,依次封装在多个EAP-Message属性中。
图1-6 EAP-Message属性封装
Message-Authenticator可以用于在使用CHAP、EAP等认证方法的过程中,避免接入请求包被窃听。在含有EAP-Message属性的数据包中,必须同时包含Message-Authenticator,否则该数据包会被认为无效而被丢弃。格式如图1-7所示。
H3C E352&E328交换机支持EAP终结方式和EAP中继方式进行认证。
这种方式是IEEE 802.1x标准规定的,将EAP协议承载在其他高层协议中,如EAP over RADIUS,以便扩展认证协议报文穿越复杂的网络到达认证服务器。一般来说,EAP中继方式需要RADIUS服务器支持EAP属性:EAP-Message(值为79)和Message-Authenticator(值为80)。
EAP中继方式有四种认证方法:EAP-MD5、EAP-TLS(Transport Layer Security,传输层安全)、EAP-TTLS(Tunneled Transport Layer Security,隧道传输层安全)和PEAP(Protected Extensible Authentication Protocol,受保护的扩展认证协议):
l EAP-MD5:验证客户端的身份,RADIUS服务器发送MD5加密字(EAP-Request/MD5 Challenge报文)给客户端,客户端用该加密字对口令部分进行加密处理。
l EAP-TLS:客户端和RADIUS服务器端通过EAP-TLS认证方法检查彼此的安全证书,验证对方身份,保证通信目的端的正确性,防止网络数据被窃听。
l EAP-TTLS:是对EAP-TLS的一种扩展。在EAP TLS中,实现对客户端和认证服务器的双向认证。EAP-TTLS扩展了这种实现,它使用TLS建立起来的安全隧道传递信息。
l PEAP:首先创建和使用TLS安全通道来进行完整性保护,然后进行新的EAP协商,从而完成对客户端的身份验证。
以下以EAP-MD5方式为例介绍基本业务流程,如图1-8所示。
图1-8 IEEE 802.1x认证系统的EAP中继方式业务流程
认证过程如下:
l 当用户有上网需求时打开802.1x客户端,输入已经申请、登记过的用户名和口令,发起连接请求(EAPOL-Start报文)。此时,客户端程序将发出请求认证的报文给交换机,开始启动一次认证过程。
l 交换机收到请求认证的数据帧后,将发出一个请求帧(EAP-Request/Identity报文)要求用户的客户端程序发送输入的用户名。
l 客户端程序响应交换机发出的请求,将用户名信息通过数据帧(EAP-Response/Identity报文)送给交换机。交换机将客户端送上来的数据帧经过封包处理后(RADIUS Access-Request报文)送给RADIUS服务器进行处理。
l RADIUS服务器收到交换机转发的用户名信息后,将该信息与数据库中的用户名表相比对,找到该用户名对应的口令信息,用随机生成的一个加密字对它进行加密处理,同时也将此加密字通过RADIUS Access-Challenge报文传送给交换机,由交换机传给客户端程序。
l 客户端程序收到由交换机传来的加密字(EAP-Request/MD5 Challenge报文)后,用该加密字对口令部分进行加密处理(此种加密算法通常是不可逆的,生成EAP-Response/MD5 Challenge报文),并通过交换机传给RADIUS服务器。
l RADIUS服务器将加密后的口令信息(RADIUS Access-Request报文)和自己经过加密运算后的口令信息进行对比,如果相同,则认为该用户为合法用户,反馈认证通过的消息(RADIUS Access-Accept报文和EAP-Success报文)。
l 交换机将端口状态改为授权状态,允许用户通过该端口访问网络。
l 客户端也可以发送EAPoL-Logoff报文给交换机,主动终止已认证状态,交换机将端口状态从授权状态改变成未授权状态。
由于EAP中继方式对报文的内容不做改动,如果要采用PEAP、EAP-TLS、EAP-TTLS或者EAP-MD5这四种认证方法之一,需要在客户端和RADIUS服务器上选择一致的认证方法,而在交换机上,只需要通过dot1x authentication-method eap命令启动EAP中继方式即可。
这种方式将EAP报文在设备端终结并映射到RADIUS报文中,利用标准RADIUS协议完成认证和计费。
对于EAP终结方式,交换机与RADIUS服务器之间可以采用PAP或者CHAP认证方法。以下以CHAP认证方法为例介绍基本业务流程,如下图所示。
图1-9 IEEE 802.1x认证系统的EAP终结方式业务流程
EAP终结方式与EAP中继方式的认证流程相比,不同之处在于用来对用户口令信息进行加密处理的随机加密字由交换机生成,之后交换机会把用户名、随机加密字和客户端加密后的口令信息一起送给RADIUS服务器,进行相关的认证处理。
802.1x认证过程中会启动多个定时器以控制接入用户、交换机以及RADIUS服务器之间进行合理、有序的交互。802.1x的定时器主要有以下几种:
l 握手定时器(handshake-period):此定时器是在用户认证成功后启动的,交换机以此间隔为周期发送握手请求报文,以定期检测用户的在线情况。如果重试一定次数后仍然没有收到客户端的响应报文,就认为用户已经下线。用户可以使用dot1x retry命令配置最大发送次数。
l 静默定时器(quiet-period):对用户认证失败以后,交换机需要静默一段时间(该时间由静默定时器设置)后,用户可以再重新发起认证,在静默期间,交换机不进行该用户的802.1x认证相关处理。
l 重认证定时器(reauth-period):每隔该定时器设置的时长,交换机会定期发起802.1x重认证。
l RADIUS服务器超时定时器(server-timeout):若在该定时器设置的时长内,RADIUS服务器未成功响应,交换机将向RADIUS服务器重发认证请求报文。
l 客户端认证超时定时器(supp-timeout):当交换机向客户端发送了Request/Challenge请求报文后,交换机启动此定时器,若在该定时器设置的时长内,设备端没有收到客户端的响应,交换机将重发该报文。
l 传送超时定时器(tx-period):以下两种情况交换机启动tx-period定时器:其一是在客户端主动发起认证的情况下,当交换机向客户端发送单播Request/Identity请求报文后,交换机启动该定时器,若在该定时器设置的时长内,交换机没有收到客户端的响应,则交换机将重发认证请求报文;其二是为了对不支持主动发起认证的802.1x客户端进行认证,交换机会在启动802.1x功能的端口不停地发送组播Request/Identity报文,发送的间隔为tx-period。
l ver-period:客户端版本请求超时定时器。若在该定时器设置的时长内,客户端设备未成功发送版本应答报文,则交换机将重发版本请求报文。
E352&E328交换机除了支持前面所述的802.1x特性外,还支持如下特性:
l 与CAMS服务器配合,实现检测客户端功能(检测使用代理登录、用户使用多网卡等);
l 客户端版本检测功能;
l Guest VLAN功能。
CAMS服务器是H3C公司提供的业务管理系统,支持与交换机等网络产品共同组网,完成终端用户的认证、授权、计费和权限管理等功能,实现网络的可管理、可运营,保证网络和用户信息的安全。
交换机的802.1x代理用户检测特性包括:
l 检测使用代理服务器登录的用户;
l 检测使用IE代理服务器登录的用户;
l 检测用户是否使用多网卡(即用户登录时,其PC上处于激活状态的网卡超过一个)。
当交换机发现以上任意一种情况时,可以采取以下控制措施:
l 只切断用户连接,不发送Trap报文;
l 只发送Trap报文,不切断用户连接。
此功能的实现需要802.1x客户端和CAMS的配合:
l 802.1x客户端需要具备检测用户是否使用多网卡、代理服务器或者IE代理服务器功能;
l CAMS上开启认证客户端禁用多网卡、禁用代理服务器或者禁用IE代理服务器功能。
802.1x客户端默认关闭防止使用多网卡、代理服务器或IE代理服务器功能,如果CAMS打开防多网卡、代理或IE代理功能,则在用户认证成功时,CAMS会下发属性通知802.1x客户端打开防多网卡、代理或IE代理功能。
l 该功能的实现需要H3C 802.1x客户端程序(iNode)的配合。
l 对于检测通过代理登录的用户功能,需要在CAMS上也启用该功能,同时需要在交换机上启用客户端版本检测功能(通过命令dot1x version-check配置)。
在交换机上启动了对802.1x客户端的版本验证功能后,交换机会对接入用户的802.1x客户端软件的版本和合法性进行验证,以防止使用有缺陷的老版本客户端或者非法客户端的用户上网。
启用客户端版本检测功能后,如果在客户端版本检测定时器设置的时长内,客户端未成功发送版本应答报文,则交换机将重发版本请求报文。
该功能的实现需要H3C 802.1x客户端程序(iNode)的配合。
Guest VLAN功能用来允许未认证用户访问某些特定资源。
在实际应用中,如果用户在没有安装802.1x客户端的情况下,需要访问某些资源;或者在用户未认证的情况下升级802.1x客户端,这些情况可以通过开启Guest VLAN功能来解决。
Guest VLAN的功能开启后:
l 交换机将在所有开启802.1x功能的端口发送触发认证报文(EAP-Request/Identity),如果达到最大发送次数后,仍有端口尚未返回响应报文,则交换机将该端口加入到Guest VLAN中;
l 之后属于该Guest VLAN中的用户访问该Guest VLAN中的资源时,不需要进行802.1x认证,但访问外部的资源时仍需要进行认证。
通常,Guest VLAN功能与动态VLAN下发功能配合使用。
动态VLAN下发功能的具体介绍,请参见“AAA操作手册”中的配置部分。
802.1x重认证是通过定时器或报文触发,对已经认证成功的用户进行一次重新认证。通过启用802.1x重认证功能,交换机可以定时检测用户的连接状况。当发现接入用户在一定时间内未响应重认证报文,则切断与该用户的连接。若用户希望再次连接,则必须通过客户端软件重新发起802.1x认证。
l 重认证时交换机上会进行完整的认证过程,将认证的用户名及其密码上传给认证服务器进行认证,但不同的服务器对重认证的处理策略有所不同,部分服务器会进行用户名密码的校验,部分服务器只是把重认证作为计费和检查用户连接状况的手段,不进行用户名密码的校验。
l 当认证服务器为CAMS时,PAP和CHAP认证方式下重认证时服务器不进行用户名、密码校验,EAP认证方式下重认证时进行用户名、密码校验。
图1-10 802.1x重认证功能示意图
802.1x重认证功能的开启方式有如下两种:
l RADIUS服务器触发交换机对接入用户的802.1x重认证:RADIUS服务器向交换机发送Termination-Action属性字段为1的Access-Accept报文,交换机收到此报文后会对接入的用户进行周期性的重新认证。
l 交换机上配置对接入用户的802.1x重认证:用户在交换机上启用802.1x重认证功能后,交换机则会对接入的用户进行周期性的重新认证。
在使用CAMS作为认证服务器时,由于CAMS只有对认证用户开始计费时才建立用户会话,当配置CAMS服务器对用户只认证不计费时,802.1x重认证将无法成功。因此,当要启用802.1x重认证时,不能在domain中配置accounting none。而其他服务器无此限制。
802.1x提供了一个用户身份认证的实现方案,为了实现此方案,除了配置802.1x相关命令外,还需要在交换机上配置AAA方案,选择使用RADIUS或本地认证方案,以配合802.1x完成用户身份认证。
图1-11 802.1x配置示意图
l 802.1x用户通过域名和交换机上配置的ISP域相关联。
l 配置ISP域使用的AAA方案,包括本地认证方案、RADIUS方案。
l 如果是需要本地认证,则需要在交换机上手动添加认证的用户名和密码,当用户使用和交换机中记录相同的用户名和密码,启动802.1x客户端软件进行认证时,就可以通过认证。
l 如果采用RADIUS方案,通过远端的RADIUS服务器进行认证,则需要在RADIUS服务器上配置相应的用户名和密码,然后在交换机上进行RADIUS客户端的相关设置。
l 也可以配置交换机先采用RADIUS方案,通过RADIUS服务器进行认证,如果RADIUS服务器无效,则使用本地认证。
AAA方案的具体配置细节,请参见“AAA操作手册”中的配置部分。
l 配置ISP域及其使用的AAA方案,选择使用RADIUS或者本地认证方案,以配合802.1x完成用户的身份认证。
l 配置本地认证时,本地用户的服务类型(service-type)必须配置为lan-access。
表1-1 配置802.1x基本功能
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
开启全局的802.1x特性 |
dot1x |
必选 缺省情况下,全局的802.1x特性为关闭状态 |
|
开启端口的802.1x特性 |
系统视图下 |
dot1x interface interface-list |
必选 缺省情况下,端口的802.1x特性均为关闭状态 |
端口视图下 |
interface interface-type interface-number |
||
dot1x |
|||
quit |
|||
设置端口接入控制的模式 |
系统视图下 |
dot1x port-control { authorized-force | unauthorized-force | auto } [ interface interface-list ] |
可选 缺省情况下,802.1x在端口上进行接入控制的模式为auto |
端口视图下 |
interface interface-type interface-number |
||
dot1x port-control { authorized-force | unauthorized-force | auto } |
|||
quit |
|||
设置端口接入控制方式 |
系统视图下 |
dot1x port-method { macbased | portbased } [ interface interface-list ] |
可选 缺省情况下,802.1x在端口上进行接入控制方式为macbased,即基于MAC地址进行认证 |
端口视图下 |
interface interface-type interface-number |
||
dot1x port-method { macbased | portbased } |
|||
quit |
|||
设置802.1x用户的认证方法 |
dot1x authentication-method { chap | pap | eap } |
可选 缺省情况下,交换机采用EAP终结方式的CHAP认证方法 |
|
开启在线用户握手功能 |
dot1x handshake enable |
可选 缺省情况下,开启在线用户握手功能 |
|
进入以太网端口视图 |
interface interface-type interface-number |
- |
|
开启握手报文的安全扩展功能 |
dot1x handshake secure |
可选 缺省情况下,关闭握手报文的安全扩展功能 |
l 必须同时开启全局和端口的802.1x特性后,802.1x的配置才能生效。
l 如果端口启动了802.1x,则不能配置该端口的最大MAC地址学习个数;反之,如果端口配置了最大MAC地址学习个数,则禁止在该端口上启动802.1x。
l 如果端口启动了802.1x,则不能配置该端口加入汇聚组。反之,如果该端口已经加入到某个汇聚组中,则禁止在该端口上启动802.1x。
l 802.1x用户在线时,如果通过dot1x port-method命令更改端口接入控制方式,则在线用户会被强制下线。
l 当采用设备本身作为认证服务器时,802.1x用户的认证方法,不可以配置为EAP方式。
l 握手报文的发送需要H3C私有客户端的支持,用以探测用户是否在线。对于非H3C客户端,由于不支持握手功能,在握手周期内交换机不会收到握手回应报文。因此需要将在线用户握手功能关闭,以防止错误地认为用户下线。
l 握手报文的安全扩展功能需要支持此功能的客户端与认证服务器配合才能正常使用,若客户端或者认证服务器不支持握手报文的安全扩展功能,则需要关闭此功能。
表1-2 配置802.1x的定时器及接入用户的最大数目
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
设置端口同时接入用户数量的最大值 |
系统视图下 |
dot1x max-user user-number [ interface interface-list ] |
可选 缺省情况下,所有的端口上都允许同时最多有256个接入用户 |
端口视图下 |
interface interface-type interface-number |
||
dot1x max-user user-number |
|||
quit |
|||
设置允许认证请求帧的最大发送次数 |
dot1x retry max-retry-value |
可选 缺省情况下,max-retry-value为2,即设备最多可向接入用户发送2次认证请求帧 |
|
配置定时器参数 |
dot1x timer { handshake-period handshake-period-value | quiet-period quiet-period-value | server-timeout server-timeout-value | supp-timeout supp-timeout-value | tx-period tx-period-value | ver-period ver-period-value } |
可选 缺省情况下,handshake-period-value为15秒,quiet-period-value为60秒server-timeout-value为100秒supp-timeout-value为30秒,tx-period-value为30秒, ver-period-value为30秒 |
|
开启静默定时器 |
dot1x quiet-period |
可选 缺省情况下,静默定时器处于关闭状态 |
l dot1x max-user命令还可以在端口视图下进行配置。在系统视图下,当没有指定任何确定的端口时,是对所有端口进行相关配置。在端口视图下使用此命令时,不能输入interface-list参数,仅对当前端口进行配置。
l 一般情况下,建议保持802.1x定时器的缺省值。
802.1x的应用特性的各项配置都是可选的,包括如下配置任务:
l 配置802.1x与CAMS配合应用的特性:检测客户端使用多网卡、代理等;
l 配置客户端版本检测功能;
l 配置允许DHCP触发认证;
l 配置Guest VLAN功能;
l 配置802.1x重认证功能;
l 配置802.1x重认证的超时定时器。
在配置802.1x的应用特性前,请首先完成802.1x的基本功能配置。
表1-3 配置代理用户检测功能
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
开启全局的代理检测功能 |
dot1x supp-proxy-check { logoff | trap } |
必选 缺省情况下,全局的802.1x代理检测特性都处于关闭状态 |
|
开启端口的代理检测功能 |
系统视图下 |
dot1x supp-proxy-check { logoff | trap } [ interface interface-list ] |
必选 缺省情况下,端口的802.1x代理检测特性都处于关闭状态 |
端口视图下 |
interface interface-type interface-number |
||
dot1x supp-proxy-check { logoff | trap } |
|||
quit |
l 该功能的实现需要H3C 802.1x客户端程序(iNode)的配合。
l 802.1x的代理检测功能依赖于在线用户握手功能。在配置代理检测功能之前,必须先开启在线用户握手功能。
l 对于检测通过代理登录的用户功能,需要在CAMS上也启用该功能,同时需要在交换机上启用客户端版本检测功能(通过命令dot1x version-check配置)。
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
启动对802.1x客户端的版本验证功能 |
系统视图下 |
dot1x version-check [ interface interface-list ] |
必选 缺省情况下,所有端口的802.1x客户端版本检测特性都处于关闭状态 |
端口视图下 |
interface interface-type interface-number |
||
dot1x version-check |
|||
quit |
|||
设置交换机向客户端发送版本验证请求帧的最大次数 |
dot1x retry-version-max max-retry-version-value |
可选 缺省情况下,可重复向客户端发送版本请求帧的最大次数为3次 |
|
配置版本验证的超时定时器 |
dot1x timer ver-period ver-period-value |
可选 缺省情况下,版本验证的超时定时器为30秒 |
dot1x version-check命令还可以在端口视图下进行配置。在系统视图下,当没有指定任何确定的端口时,是对所有端口进行相关配置。在端口视图下使用此命令时,不能输入interface-list参数,仅对当前端口进行配置。
通过如下配置,802.1x允许设备在接入用户运行DHCP、申请动态IP地址时就触发对其的身份认证。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
允许DHCP触发认证 |
dot1x dhcp-launch |
必选 缺省情况下,不允许DHCP触发对接入用户的身份认证 |
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
设置端口接入控制方式 |
dot1x port-method portbased |
必选 缺省情况下,802.1x在端口上进行接入控制方式为基于MAC地址进行认证 |
|
开启Guest VLAN功能 |
系统视图下 |
dot1x guest-vlan vlan-id [ interface interface-list ] |
必选 缺省情况下,Guest VLAN功能处于关闭状态 |
端口视图下 |
interface interface-type interface-number |
||
dot1x guest-vlan vlan-id |
|||
quit |
l 只有在端口认证方式下,交换机才可以支持Guest VLAN功能。
l 一台交换机只能配置一个Guest VLAN。
l 当交换机配置为dot1x dhcp-launch方式时,因为该方式下交换机不发送主动认证报文,Guest VLAN功能不能实现。
表1-7 启用802.1x用户重认证功能
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
启用802.1x用户重认证功能 |
系统视图下 |
dot1x re-authenticate [ interface interface-list ] |
必选 缺省情况下,所有端口的802.1x重认证功能均处于关闭状态 |
端口视图下 |
dot1x re-authenticate |
l 在启动端口802.1x重认证功能之前,必须开启全局802.1x功能和该端口的802.1x功能。
l 重认证时交换机上会进行完整的认证过程,将认证的用户名及其密码上传给认证服务器进行认证,但不同的服务器对重认证的处理策略有所不同,部分服务器会进行用户名密码的校验,部分服务器只是把重认证作为计费和检查用户连接状况的手段,不进行用户名密码的校验。
l 当认证服务器为CAMS时,PAP和CHAP认证方式下重认证时服务器不进行用户名、密码校验,EAP认证方式下重认证时进行用户名、密码校验。
交换机启用重认证功能后,通过以下两种方式可以确定重认证周期时间:
(1) 交换机以RADIUS服务器下发的Access-Accept报文中Session-timeout属性字段的取值,作为重认证周期。
(2) 交换机以dot1x timer reauth-period命令设置的值,作为接入用户的重认证周期。
需要注意的是:
在重认证过程中,无论采用上述哪种方式确定802.1x重认证周期时间,交换机只采用最后一次设定的重认证周期。例如,用户在交换机上配置了重认证的周期后,交换机又收到了Termination-Action属性字段为1的Access-Accept报文,则交换机将按照Access-Accept报文中的Session-timeout属性字段的取值作为最终的重认证周期。
下面给出在交换机上进行配置的过程。
表1-8 配置定时器的超时时长
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置重认证定时器的时长 |
dot1x timer reauth-period reauth-period-value |
可选 缺省情况下,重认证定时器的值为3600秒 |
在完成上述配置后,在任意视图下执行display命令可以显示配置802.1x后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除802.1x的统计信息。
表1-9 802.1x配置的显示和维护
操作 |
命令 |
说明 |
显示802.1x的配置信息、运行情况和统计信息 |
display dot1x [ sessions | statistics ] [ interface interface-list ] |
display命令可以在任意视图下执行 |
清除802.1x的统计信息 |
reset dot1x statistics [ interface interface-list ] |
reset命令在用户视图下执行 |
l 要求在各端口上对用户接入进行认证,以控制其访问Internet;接入控制模式要求是基于MAC地址的接入控制。
l 所有接入用户都属于一个缺省的域:example.com,该域最多可容纳30个用户;认证时,先进行RADIUS认证,如果RADIUS服务器没有响应再转而进行本地认证;计费时,如果RADIUS计费失败则切断用户连接使其下线;此外,接入时在用户名后不添加域名,正常连接时如果用户有超过20分钟流量持续小于2000Bytes的情况则切断其连接。
l 由两台RADIUS服务器组成的服务器组与交换机相连,其IP地址分别为10.11.1.1和10.11.1.2,前者作为主认证/备份计费服务器,后者作为备份认证/主计费服务器;设置系统与认证RADIUS服务器交互报文时的加密密码为“name”、与计费RADIUS服务器交互报文时的加密密码“money”,设置系统在向RADIUS服务器发送报文后5秒种内如果没有得到响应就向其重新发送报文,重复发送报文的次数总共为5次,设置系统每15分钟就向RADIUS服务器发送一次实时计费报文,指示系统从用户名中去除用户域名后再将之传给RADIUS服务器。
l 本地802.1x接入用户的用户名为localuser,密码为localpass,使用明文输入,闲置切断功能处于打开状态。
图1-12 启动802.1x和RADIUS对接入用户进行AAA操作
下述各配置步骤包含了大部分AAA/RADIUS协议配置命令,对这些命令的介绍,请参见“AAA操作手册”中的配置部分。此外,客户端和RADIUS服务器上的配置略。
# 开启全局802.1x特性。
<H3C> system-view
System View: return to User View with Ctrl+Z.
[H3C] dot1x
# 开启指定端口Ethernet 1/0/1的802.1x特性。
[H3C] dot1x interface Ethernet 1/0/1
# 设置接入控制方式(该命令可以不配置,因为端口的接入控制在缺省情况下就是基于MAC地址的)。
[H3C] dot1x port-method macbased interface Ethernet 1/0/1
# 创建RADIUS方案radius1并进入其视图。
[H3C] radius scheme radius1
# 设置主认证/计费RADIUS服务器的IP地址。
[H3C-radius-radius1] primary authentication 10.11.1.1
[H3C-radius-radius1] primary accounting 10.11.1.2
# 设置备份认证/计费RADIUS服务器的IP地址。
[H3C-radius-radius1] secondary authentication 10.11.1.2
[H3C-radius-radius1] secondary accounting 10.11.1.1
# 设置系统与认证RADIUS服务器交互报文时的加密密码。
[H3C -radius-radius1] key authentication name
# 设置系统与计费RADIUS服务器交互报文时的加密密码。
[H3C-radius-radius1] key accounting money
# 设置系统向RADIUS服务器重发报文的时间间隔与次数。
[H3C-radius-radius1] timer 5
[H3C-radius-radius1] retry 5
# 设置系统向RADIUS服务器发送实时计费报文的时间间隔。
[H3C-radius-radius1] timer realtime-accounting 15
# 指示系统从用户名中去除用户域名后再将之传给RADIUS服务器。
[H3C-radius-radius1] user-name-format without-domain
[H3C-radius-radius1] quit
# 创建域example.com并进入其视图。
[H3C] domain example.com
# 指定radius1为该域用户的RADIUS方案,若RADIUS服务器无效,则使用本地认证方案。
[H3C-isp-example.com] scheme radius-scheme radius1 local
# 设置该域最多可容纳30个用户。
[H3C-isp-example.com] access-limit enable 30
# 启动闲置切断功能并设置相关参数。
[H3C-isp-example.com] idle-cut enable 20 2000
[H3C-isp-example.com] quit
# 配置域example.com为缺省用户域。
[H3C] domain default enable example.com
# 添加本地接入用户。
[H3C] local-user localuser
[H3C-luser-localuser] service-type lan-access
[H3C-luser-localuser] password simple localpass
本章为新增内容。
EAD(Endpoint Admission Defense,端点准入防御)方案作为一个整合方案,提升了网络的整体防御能力。但是在实际的应用过程中EAD客户端的部署工作量很大,带来不便。
H3C E352&E328以太网交换机通过802.1x认证支持EAD客户端的强制下发功能,实现了EAD客户端的快速部署。
E352&E328以太网交换机利用以下两个功能实现EAD客户端的强制下发功能,解决目前EAD推广中的客户端部署难题。
802.1x认证成功之前(包括认证失败),通过ACL限制终端用户只能访问一个特定的IP地址段或是特定服务器,在特定服务器上提供EAD客户端的下载升级或者动态地址分配等服务。
终端用户在未进行802.1x认证前(包括认证失败),使用IE访问网络,交换机会将用户访问的URL重定向到设置好的URL(EAD客户端下载界面),这样用户一打开IE就必须进入管理员预设的界面。
通过以上两个功能结合使用,EAD可以在部署时要求所有接入网络的终端用户到指定的机器上下载客户端,并进行安装,解决了EAD客户端部署困难和工作量大的难题。
EAD快速部署特性只在802.1x端口接入控制的模式为auto的情况下生效。
l 设备启用802.1x。
l 802.1x在指定端口上接入控制的模式为auto。
1. 配置可访问的受限IP网段
受限IP网段是指802.1x认证成功之前(包括认证失败),终端用户可以访问的IP地址段,也称为免认证IP网段。
表2-1 配置受限IP网段
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置重定向URL |
dot1x url url-string |
必选 |
配置免认证IP网段 |
dot1x free-ip ip-address { mask-address | mask-length } |
必选 缺省情况下,系统没有配置免认证IP网段地址 |
l 在配置免认证IP网段时必须先配置重定向的URL,此URL必须以“http://”开头。URL所在网段必须处于免认证IP网段,否则不能重定向。
l 配置免认证IP网段时不能开启802.1x特性的dhcp-launch功能。
l 在没有开启EAD快速部署功能时,开启dot1x后,若认证失败,则不能访问DHCP服务器。在开启了EAD快速部署功能后,若DHCP服务器在Free IP网段内,则认证成功前可以动态获得IP地址。
l EAD快速部署功能只对接入控制的模式为auto(通过dot1x port-control命令配置)的端口才有效。
l 目前的EAD支持快速部署特性只是基于802.1x认证方式实现,其他接入方式暂不支持。
l 目前的EAD快速部署特性不支持端口安全,在使能端口安全的情况下,配置的受限IP网段功能失效。
l EAD快速部署特性和MAC地址认证不能同时开启,请在使用中注意。
2. 配置ACL定时器超时时间
EAD快速部署功能通过ACL来给予未通过认证的终端用户受限制的网络访问权限,在用户认证成功后,所占用的ACL将被释放。由于设备支持的ACL数量有限,当大量用户同时上线时,ACL资源将迅速被占用,如果没有用户认证成功,将出现ACL数量不足的情况,这样会导致一部分用户无法上线。
管理员可以通过配置ACL定时器超时时间来控制对ACL资源的占用,当用户访问网络时该定时器即开始计时,如果该用户在超时时间内没有下载客户端并进行认证,则删除其所占用的ACL资源,使其他用户可以进行接入。在接入用户数量较多时,可以将超时时间适当缩短,以提高ACL的使用效率。
表2-2 配置ACL定时器超时时间
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置ACL定时器超时时间 |
dot1x timer acl-timeout acl-timeout-value |
可选 缺省情况下ACL定时器超时时间值为30分钟 |
在完成上述配置后,在任意视图下执行display命令,可以显示EAD支持快速部署特性的配置情况。
表2-3 显示dot1x相关信息
操作 |
命令 |
说明 |
显示EAD快速部署特性的相关配置 |
display dot1x [ sessions | statistics ] [ interface interface-list ] |
display命令可以在任意视图下执行 |
用户直接和交换机相连,交换机和Web服务器、外部网络相连。用户在未通过认证前,IE访问外部网络会被重定向至Web服务器,下载认证客户端,升级软件等。通过认证后,PC可以访问网络。
图2-1 EAD快速部署配置举例组网图
# 用户在使用EAD快速部署功能之前首先必须配置好Web服务器,也就是用户接入设备后,能够下载客户端的重定向服务器。
# 用户的PC的默认网关配置为与其直连的交换机VLAN所对应的IP地址。
# 配置重定向URL。
<H3C> system-view
[H3C] dot1x url http://192.168.0.111
# 配置一条免认证IP网段。
[H3C] dot1x free-ip 192.168.0.111 24
# 配置ACL定时器超时时间为10分钟。
[H3C] dot1x timer acl-timeout 10
# 启动全局dot1x。
[H3C] dot1x
# 启动端口dot1x。
[H3C] dot1x interface Ethernet 1/0/1
故障描述:用户使用IE浏览器输入任意地址不能正确重定向到指定的URL服务器。
故障排除:
l 如果用户在自己PC的IE地址栏内输入了字符串类型的地址,此时会发现不能正确重定向。这和PC使用的操作系统有关,此种情况下PC首先会将这个字符串地址作为名字进行网络地址解析,如果解析不成功会访问某个特定的网站,通常这个地址不是X.X.X.X形式的,这样PC发出的ARP请求就不会收到回应,也就不能进行重定向。故IE内输入的地址应该为X.X.X.X(点分十进制格式)的非免认证IP网段地址才有效。
l 如果用户在自己PC的IE地址栏内输入了符合免认证IP配置的网段内的任意地址,也不会进行重定向操作,设备此时认为用户试图访问免认证IP网段的某台主机,即使这台主机不存在。如果需要进行重定向,则需输入非免认证IP网段的任意地址。
l 是否用户在配置和组网时没有将服务器加入免认证IP网段,或者配置的URL是个不存在的地址,或者该URL指向的服务器没有提供Web服务。
如果交换机上启动了802.1x功能,交换机会对启动了802.1x的端口进行授权认证,只允许经过授权的端口转发报文。此时如果连接下挂交换机的端口没有通过802.1x的授权和认证,所有的报文将会被过滤,使用户无法对下挂的交换机进行管理。HABP(Huawei Authentication Bypass Protocol,华为旁路认证协议)特性可以解决这个问题。
交换机上启动了HABP特性之后,HABP报文将会忽略端口上的802.1x认证,在交换机之间进行通信。其中HABP报文携带下挂交换机的MAC地址等信息,从而使管理设备可以获取下挂交换机的MAC地址,对下挂的交换机进行管理。
HABP包括HABP Server和HABP Client。一般情况下,Server会定期向Client发送HABP请求报文,收集下挂交换机的MAC地址。而Client会对请求报文进行应答,同时向下层交换机转发HABP请求报文。HABP Server一般应该在管理设备上启动,HABP Client应该在下挂的交换机上启动。
如果交换机上启动了802.1x,建议用户启动HABP特性,以便对交换机进行管理。
在管理设备上启动了HABP Server以后,管理设备就会向下挂的交换机发送HABP请求报文,收集下挂交换机的MAC地址,以方便对下挂交换机的管理。发送HABP请求报文的时间间隔也是在管理设备上进行配置的。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启HABP特性 |
habp enable |
可选 缺省情况下,HABP特性处于开启状态 |
配置当前交换机为HABP Server |
habp server vlan vlan-id |
必选 缺省情况下,交换机的HABP特性工作在Client模式下,必须开启HABP Server才可以对Client进行管理 |
配置发送HABP请求报文的时间间隔 |
habp timer interval |
可选 缺省情况下,交换机发送HABP请求报文的时间间隔为20秒 |
HABP Client在下挂的交换机上启动。交换机上启动HABP特性后,交换机缺省情况下就运行在HABP Client模式下。因此本配置只要在交换机上启动HABP特性即可。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启HABP特性 |
habp enable |
可选 缺省情况下,HABP特性处于开启状态。 启动了HABP特性之后,HABP特性即工作在Client模式下 |
在完成上述配置后,在任意视图下执行display命令都可以显示配置后HABP特性的运行情况。用户可以通过查看显示信息验证配置的效果。
操作 |
命令 |
说明 |
显示HABP特性的配置信息和状态 |
display habp |
display命令可以在任意视图下执行 |
显示HABP的MAC地址表的信息 |
display habp table |
|
显示HABP报文的统计信息 |
display habp traffic |
system-guard功能通过监控10秒钟内CPU收到的IP报文,找到这10秒中内有攻击特性的源IP地址,并对其进行统计,一旦超过设定的阈值,则对此IP地址采取如下控制措施:当检查到有攻击特性的源IP地址时,如果该源IP地址对应的主机发送的报文需要交换机发送至CPU进行处理,则交换机会降低此源IP的报文上送CPU处理的优先级。
监测端口的TCN/TC收包速率。如果端口收到过多TCN/TC报文,则每10秒只上送1个报文给CPU,其他TCN/TC报文丢弃,同时输出trap和log信息。
将错误的三层报文上送CPU。
system-guard IP防攻击的配置包括:
l 开启system-guard IP防攻击监测功能。
l 设置当前最大可监测的染毒主机数目。
l 设置每次地址学习相关参数。
表4-1 开启system-guardIP防攻击监测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启system-guard监测功能 |
system-guard ip enable |
必选 缺省情况下,禁止system-guard监测功能 |
设置当前最大可监测的染毒主机数目 |
system-guard ip detect-maxnum number |
可选 缺省情况下,当前最大可监测染毒主机的数目为30 |
设置地址学习数目的上限、重复学习次数的上限和隔离时间 |
system-guard ip detect-threshold ip-record-threshold record-times-threshold isolate-time |
可选 缺省情况下,ip-record-threshold的值为30、record-times-threshold的值为1、isolate-time的值为3 |
system-guard ip detect-threshold命令设置的各参数的相互关系,通过如下举例得以较为清晰的体现:在设置了地址学习数目的上限为50、重复监测次数的上限为3、隔离时间为5倍的MAC地址老化时间后,系统如果连续3次监测到10秒钟的周期内来自某一个源IP地址的IP报文(其目的IP地址不是交换机的IP地址)的个数超过了50,系统就认为受到了攻击,将此源IP监测出来,在5倍的MAC地址老化时间内降低此源IP的报文上送CPU处理的优先级。
可以通过以下配置命令配置system-guard TCN防攻击使能,及配置TCN/TC报文的收包速率限制。
表4-2 配置system-guard TCN防攻击
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启TCN防攻击功能 |
system-guard tcn enable |
必选 缺省情况下,TCN防攻击功能处于关闭状态 |
设置TCN防攻击监测端口的TCN/TC收包速率 |
system-guard tcn rate-threshold rate-threshold |
可选 缺省情况下,TCN/TC报文的收包速率限制为1 pps |
设备监测周期为10秒,因此缺省情况下10秒内收到的TCN/TC报文超过10个,则会发送trap和log。并且当一个10秒的监测周期内收到的TCN/TC报文低于设置的收包速率时,则下一个监测周期设备恢复正常状态,不再发送trap和log。
可以通过以下配置命令配置三层错误报文防攻击。
表4-3 配置三层错误报文防攻击
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启三层错误报文防攻击功能 |
system-guard l3err enable |
必选 缺省情况下,三层错误报文防攻击功能处于开启状态 |
完成上述配置后,在任意视图下执行display命令可以显示配置后system-guard的运行情况,通过查看显示信息验证配置的效果。
表4-4 system-guard显示与调试
操作 |
命令 |
说明 |
显示当前IP防攻击的监测结果以及设置的参数 |
display system-guard ip state |
display命令可以在任意视图下执行 |
显示本次监测周期中,交换机的CPU上收到的IP报文的情况 |
display system-guard ip-record |
|
显示三层错误报文防攻击的状态 |
display system-guard l3err state |
|
显示TCN防攻击的状态 |
display system-guard tcn state |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!