NAC配置与管理——1

在计算机网络安全管理中,用户的网络接入控制(NAC)是必须充分考虑的一件大事,因为现在的网络安全隐患主要不是来自外网,而是内网。在用户接入控制方面,最直接、最有效的方法就是基于接入设备接口的各种用户认证方法,如802.1x认证、MAC认证和Portal认证。它们针对不同的用户需求和实际的网络环境提供的几种基于端口的实用接入控制方案。相对前面的AAA方案来说,此处基于接口的接入控制方法更直接,直接在接入处进行认证,但同时又不如AAA方案灵活,因为这三种认证方式仅是简单的允许或者拒绝接入认证,没有AAA方案中的为允许接入的用户授予相应的访问权限,更没有为不同用户进行计费的功能。

NAC基础

NAC(Network Admission Control,网络许可控制)是一套从用户终端角度考虑内部网络安全的“端到端”安全解决方案总称,也就是针对用户终端的接入进行严格控制的解决方案。在华为S系列交换机中NAC包括802.1x认证、MAC认证与Portal认证,都采用下图的认证模型。它包括用户(User)、网络接入设备(NAD)和接入控制服务器(ACS)三大部分。


(1)用户:指接入用户终端,需要对其进行接入认证。如果采用802.1x认证,还需要在用户终端上安装802.1x的客户端软件。

(2)NAD:指网络接入设备(如交换机),对接入用户终端进行认证和授权。一般需要和AAA服务器配合使用,防止非法终端接入,防止合法终端越权访问,保护核心资源。

(3)ACS:指接入控制服务器(如RADIUS服务器),主要进行终端安全健康性检查与策略管理和用户行为管理与违规审计。以上三种认证方案中的认证信息(如802.1x认证和Portal认证中的用户名和密码,MAC认证中的用户MAC地址等)都是需要在接入控制服务器中事先配置好的。

一、802.1x认证系统基础

IEEE802.1x是由IEEE制定的关于用户接入网络的认证标准,全称是“基于端口的网络接入控制”。

802.1x协议是一种基于端口的网络接入控制协议,所以具体的802.1x认证功能必须在设备端口上进行配置,对端口上接入的用户设备通过认证来控制对网络资源的访问。802.1x认证系统采用网络应用系统典型的Client/Server(C/S)结构,包括3个部分:客户端(Client)、设备端(Device)和认证服务器(Server),与上图NAC模型结构一一对应。

(1)客户端:局域网用户终端设备,但必须是支持EAPOL(Extensible Authentication Protocol over LAN,局域网可扩展认证协议)的设备(如PC机),可通过启动客户端设备上安装的802.1x客户端软件发起802.1x认证。

(2)设备端:支持802.1x协议的网络设备(如交换机),对所连接的客户端进行认证。它为客户端提供接入局域网的端口,可以是物理端口,也可以是逻辑端口(如Eth-Trunk口)。

(3)认证服务器:为设备端802.1x协议提供认证服务的设备,是真正进行认证的设备,实现对用户进行认证、授权和计费,通常为RADIUS服务器。

1、802.1x认证受控/非受控端口

在设备端为客户端提供的接入端口被划分为两个逻辑端口:受控端口和非受控端口。“非受控端口”可看成为EAP(可扩展认证协议)端口,不进行认证控制,始终处于双向连通状态,主要用来传递在通过认证前必需的EAPOL协议帧,保证客户端始终能够发出或接收认证报文。

“受控端口”可以看作为普通业务端口,是需要进行认证控制的。它有“授权”和“非授权”两种状态(相当于在该端口上有一个控制开关):在授权状态下处于双向连通状态(控制开关闭合),可进行正常的业务报文传递;在非授权状态下处于打开状态(控制开关打开),禁止任何业务报文的传递。设备端利用认证服务器对客户端进行认证的结果(Accept或Reject)来实现对受控端口的授权/非授权状态进行控制。

2、802.1x认证的触发方式

在华为S系列交换机中,802.1x的认证过程可以由客户端主动发起,也可以由设备端主动发起。在“客户端主动触发方式”中,由客户端主动向设备端发送EAPOL-Start(EAPOL开始)报文来触发认证;而“设备端主动触发方式”中用于支持不能主动发送EAPOL-Start报文的客户端,例如Windows XP自带的802.1x客户端。

在“设备端主动触发方式”中又有两种以下具体的触发方式:

(1)DHCP报文触发:设备在收到用户的DHCP请求报文后主动触发对用户的802.1x认证,仅适用于客户端采用DHCP方式自动分配IP地址的情形。因为DHCP请求报文是以广播方式发送的,所以在同一网段中的设备都可以收到,故设备端不一定就是担当DHCP服务器的设备

(2)源MAC地址未知报文触发:当设备收到源MAC地址未知的报文时主动触发对用户的802.1x认证。若设备端在设置的时长内没有收到客户端的响应,则重发该报文。

3、802.1x的认证方式

无论哪种触发方式,802.1x认证系统都是使用EAP协议来实现客户端、设备端和认证服务器之间认证信息的交换。在客户端与设备端之间使用的是基于以太局域网的EAPOL格式封装EAP报文,然后承载于以太网数据帧中进行交互;而设备端与RADIUS服务器之间的EAP报文可以使用以下两种方式进行交互:

(1)EAP中继:来自客户端的EAP报文到达设备端后,直接使用EAPOR(EAP overRADIUS)格式封装在RADIUS报文中,再发送给RADIUS服务器,则RADIUS服务器从封装的EAP报文中获取客户端认证信息,然后对客户端进行认证。

这种认证方式的优点是设备端的工作很简单,不需要对来自客户端的EAP报文进行任何处理,只需要用EAPOR对EAP报文进行封装即可,根本不管客户端的认证信息。同时在这种认证方式中,设备端与RADIUS服务器之间可支持多种EAP认证方法,例如MD5-Challenge、EAP-TLS、PEAP等,但要求服务器端也支持相应的认证方法。

(2)EAP终结:来自客户端的EAP报文在设备端进行终结,然后由设备端将从EAP报文中提取的客户端认证信息封装在标准的RADIUS报文(不再是EAPOR格式)中,与RADIUS服务器之间采用PAP(Password Authentication Protocol,密码验证协议)或CHAP(ChallengeHandshake Authentication Protocol,质询握手验证协议)方式对客户端进行认证(当然在RADIUS服务器端必须配置合法用户的用户名和密码信息)。

这种认证方式的优点是现在的RADIUS服务器基本均可支持PAP和CHAP认证,无需升级服务器,但设备端的工作比较繁重,因为在这种认证方式中,设备端不仅要从来自客户端的EAP报文中提取客户端认证信息,还要通过标准的RADIUS协议对这些信息进行封装,且不能支持除MD5-Challenge之外的其他EAP认证方法。

4、802.1x认证支持的Guest VLAN、Restrict VLAN与Critical VLAN

为了使那些不支持802.1x的客户端通过安装或升级802.1x客户端软件来支持802.1x认证,也为那些在认证过程中认证失败,或认证服务器无响应时提供一些基本的访问资源,华为S系列交换机的802.1x认证功能提供了以下三种不同的特殊VLAN功能(都是可选的配置):

(1)Guest VLAN。Guest VLAN(来宾VLAN)功能开启后,当用户不响应802.1x认证请求时(如未安装客户端软件),设备端会将用户所在端口接入到Guest VLAN中,以便这些用户可以访问Guest VLAN,获取客户端软件,升级客户端或执行其他一些用户升级程序等操作。

(2)RestrictVLAN。Restrict VLAN(限制VLAN)功能开启后,当用户认证失败时(如输入了错误的用户名和密码),设备端会将用户所在端口加入到Restrict VLAN中。Restrict VLAN和和Guest VLAN的功能相似,都是满足用户在通过认证前可以访问有限的网络资源。但通常在Restrict VLAN中部署的网络资源比Guest VLAN中更少,从而跟严格地限制未通过认证的用户对网络资源的访问。

(3)CriticalVLAN。Critical VLAN(严格VLAN)功能开启后,当认证服务器无响应时(如设备端与认证服务器之间的网络断开或认证服务器出现故障),设备端会将用户所在端口加入Critical VLAN中进而能够访问Critical VLAN中的资源。

5、802.1x快速部署

在实际应用中,如果网络规模比较大,而且有大量不能很好支持802.1x功能的客户端,这时客户端的部署工作量可能很大。为此华为S系列交换机提供了802.1x认证快速部署功能。可引导这些用户自助下载安装客户端,实现客户端的快速部署。

802.1x认证快速部署功能可以通过以下两个功能实现:

(1)用户受限访问。802.1x认证成功之前,通过ACL限制终端用户只能访问一个特定的IP地址段(免认证IP网段),或是特定服务器,在特定服务器上提供客户端的下载升级或动态地址分配等服务。

(2)用户HTTP访问URL重定向功能。用户在未进行802.1x认证前或认证失败后,使用浏览器访问网络时,设备会将用户访问的URL重定向到配置好的URL,供这些用户从这个网页中下载客户端软件。

6、用户组授权功能

设备支持根据用户组对用户进行授权控制。在用户认证成功后,认证服务器为该用户下发到对应的用户组,使该用户具备该用户组的访问权限。每个用户组可以关联不同的ACL规则,通过用户组和ACL规则的关联,实现对每类用户进行ACL授权信息控制,即同类用户采用同样的授权信息。

二、802.1x认证原理

在802.1x认证过程中,设备与RADIUS服务器之间支持EAP中继和EAP终结两种认证方式。以下均以客户端主动发起认证理解两种认证方式的工作原理。

1、EAP中继认证原理

在EAP中继认证的过程中,设备端起一个中继代理的角色,用于通过EAPOR封装和解封装的过程转发客户端和认证服务器之间的交互报文。整个认证过程是先进行用户名认证,再进行对应的密码认证

(1)当用户访问网络时自动打开802.1x客户端程序,根据提示输入已经在RADIUS服务器中创建的用户名和密码,发起连接请求。因为端口最初的状态时未授权状态,所以此时端口除了IEEE802.1x协议包外不能接收和发送任何包。此时,客户端程序将向设备端发出认证请求帧(EAPOL-Start),启动认证过程。

(2)设备端在收到客户端的认证请求帧后,将发出一个Identity(标识)类型的EAP请求帧(EAP-Request/Identity),要求用户的客户端程序发送上一步用户所输入的用户名。

(3)客户端程序在收到设备端的Identity请求帧后,将用户名信息通过Identity类型的EAP响应帧(EAP-Response/Identity)发送给设备端,响应设备端发出的请求。

(4)设备端将客户端发送的Identity响应帧中的EAP报文原封不动地使用EAPOR格式封装在RADIUS报文(RADIUSAccess-Request)中,发送给认证服务器进行处理。

(5)RADIUS服务器收到设备端发来的RADIUS报文后从中提取用户名信息后,将该信息与数据库中的用户名列表中对比,找到该用户名对应的密码信息,并用随机生成的一个MD5 Challenge消息对密码进行加密处理,然后将此MD5 Challenge消息同样通过EAPOR格式封装以RADIUS Access-Challenge报文发送给设备端。

(6)设备端在收到来自RADIUS服务器的EAPOR格式的Access-Challenge报文后,通过解封装,将其中的MD5 Challenge消息转发给客户端。

(7)客户端在收到由设备端传来的MD5 Challenge消息后,用该Challenge消息对密码部分进行加密处理,然后生成EAP-Response/MD5 Challenge报文,并发送给设备端。

(8)设备端又将此EAP-Response/MD5Challenge报文以EAPOR格式封装在RADIUS报文(RADIUS Access-Request)中发送给RADIUS服务器。

(9)RADIUS服务器收到的已加密的密码信息后,与第(5)步在本地经过加密运算后的密码信息进行对比,如果相同则认为是合法用户,并向设备端发送认证通过报文(RADIUS Access-Accept)。

(10)设备收到RADIUSAccess-Accept报文后,进过EAPOR解封装再以EAP-Success报文向客户端发送,并将端口改为授权状态,允许用户通过端口访问网络。

(11)用户在线期间设备端会通过向客户端定期发送握手报文,对用户的在线情况进行监测。

(12)客户端收到握手报文后向设备发送应答报文,表示用户仍然在线。缺省情况下,若设备端发送的两次握手请求报文都未得到客户端应答,设备端就会让用户下线,防止用户因为异常原因下线而设备无法感知。

(13)客户端可以发送EAPOL-Logoff帧给设备端,主动要求下线。

(14)在设备端收到客户端发来的EAPOL-Logoff帧后,把端口状态从授权状态改为未授权状态,并向客户端发送EAP-Failure报文,确认对应客户端下线。

2、EAP终结认证原理

EAP终结方式与EAP中继方式的认证流程相比,主要不同在于步骤(4)中用来对用户密码信息进行加密处理的MD5 Challenge是由设备端生成(而不是由RADIUS服务器生成),之后设备端会把用户名、MD5 Challenge和客户端加密后的密码信息一起送给RADIUS服务器,进行相关的认证处理:

3、MAC旁路认证

在802.1x认证过程中,设备端会首先触发用户采用802.1x认证方式,但若用户长时间内没有进行802.1x认证(如下图),则以用户的MAC地址作为用户名和密码上送认证服务器进行认证。MAC旁路认证可使802.1x认证系统中无法安装和使用802.1x客户端软件的终端,如打印机等,以自身MAC地址作为用户名和密码进行认证。

三、MAC认证

MAC认证是一种基于端口和MAC地址对用户的网络访问权限进行控制的认证方法。与802.1x认证相比,最大的特点是不需要用户安装任何客户端软件,也不需要用户手动输入用户名或者密码,设备在启动了MAC认证的端口上首次检测到用户的MAC地址以后即启动对该用户的认证操作。很显然这不是一种十分安全的认证方式,因为MAC地址完全可以仿冒。但MAC认证确实是一种比较有用的认证方式,因为他的配置和认证过程都很简单。

根据设备端最终用于验证用户身份的用户名格式和内容的不同,可将MAC认证使用的用户名格式分为两种类型:

(1)MAC地址用户名格式:使用用户的MAC地址作为认证时的用户名和密码,适用于一个端口连接一个客户端的情形。

(2)固定用户名形式:不论用户的MAC地址为何值,所有用户均使用设备上指定的一个固定用户名和密码替代用户的MAC地址作为身份信息进行认证。适用于同一个端口下连接多个用户的情形,但要求接入的客户端比较可信。

MAC认证也支持“Guest VLAN”功能和“用户组授权功能”。在Guest VLAN功能开启后,当用户不响应MAC认证请求时,设备会将用户所在端口加入Guest VLAN中,这样用户就可以访问Guest VLAN中的资源,从而满足了用户不进行认证也能够访问某些基本的网络资源的需求。

在用户组授权功能开启后,设备支持根据用户组对用户进行授权控制,即用户认证成功后,认证服务器下发用户组,将用户进行分类。每个用户组可以关联不同的ACL规则,通过用户组和ACL规则的关联,实现对每类用户进行ACL授权信息控制,即同类用户采用同样的授权信息。

四、Portal认证

Portal认证通常也称为Web认证,是通过Web页面进行认证的,一般将用于Portal认证的网站称为门户网站。未认证用户上网时,设备强制用户登录到特定站点,用户可以免费访问其中的服务。当用户需要使用互联网中的其他信息时,必须在门户网站进行认证,只有认证通过后才可以使用互联网资源。

用户可以主动访问已知的Portal认证网站,输入用户名和密码进行认证,这种开始Portal认证的方式称为主动认证。反之,如果用户试图通过HTTP访问其他外网,将被强制访问Portal认证网站,从而开始Portal认证过程,这种方式称作强制认证。

1、Portal认证系统结构

Portal服务器可以是接入设备之外的独立设备担当,称之为“外置Portal服务器”,也可由接入设备自己担当,称之为“内置Portal服务器”。使用外置Portal服务器的Portal认证系统由4个基本要素组成:认证客户端、接入设备、Portal服务器与认证/计费服务器:

(1)认证客户端:运行HTTP/HTTPS协议的浏览器或运行Portal客户端软件的主机。

(2)接入设备:与认证客户端连接的设备(如交换机、路由器等),提供以下三方面作用。

①在认证之前,将认证网段内用户的所有HTTP请求都重定向到Portal服务器。

②在认证过程中,与Portal服务器、认证/计费服务器交互,完成身份认证/计费的功能。

③在认证通过后,允许用户访问被管理员授权的互联网资源。

(3)Portal服务器:接收Portal客户端认证请求的服务器端系统,提供免费门户服务和基于Web认证的界面,与接入设备交互认证客户端的认证信息。

(4)认证/计费服务器:与接入设备进行交互,完成对用户的认证和计费。

虽然看起来有4个部分,但与前面的NAC模型的3个部分是一样的,因为Portal服务器和认证/计费服务器都属于ACS。

使用内置Portal服务器的Portal认证系统由3个基本要素组成:认证客户端、接入设备和认证/计费服务器,如下图:不同的只是接入设备与Portal服务器时由一个设备担当。

2、Portal认证方式

不同的组网方式下,可采用的Portal认证方式不同。按照网络中实施Portal认证的网络层次来分,Portal的认证方式分为两种:二层认证方式和三层认证方式。

(1)二层认证方式

当认证客户端与接入设备直连(或之间只有二层设备存在)时,设备能够学习到用户的MAC地址,则设备可以利用IP和MAC地址来识别用户,此时可配置Portal认证为二层认证方式。

二层认证流程简单,但由于限制了用户只能与接入设备处于同一网段,降低了组网的灵活性。报文交互过程如下:

①认证客户端进行HTTP访问时,HTTP报文进入接入设备时,接入设备要进行分辨:对于访问Portal服务器或设定的免认证网络资源的HTTP报文,允许其通过;对于访问其他地址的HTTP报文,将HTTP访问重定向到Portal服务器。Portal服务器提供Web页面供用户输入用户名和密码来进行认证。

②Portal服务器与接入设备之间进行CHAP认证交互。如果采用PAP认证,则Portal服务器无需与接入设备进行PAP认证交互,不进行本步流程,直接第③步。

③Portal服务器将用户输入的用户名和密码组装成认证请求报文发往接入设备,同时开启定时器等待认证应答报文。

④接入设备与RADIUS服务器之间进行RADIUS协议报文的交互。

⑤接入设备向Portal服务器发送认证应答报文。

⑥Portal服务器向客户端发送认证通过报文,通知客户端认证成功。

⑦Portal服务器向接入设备发送认证应答确认。

(2)三层认证方式

当设备部署在汇聚层或核心层时,在认证客户端和设备之间存在三层转发设备,此时设备不一定能够获取到认证客户端的MAC地址,所以将以IP地址唯一标识用户,此时需要将Portal认证配置为三层认证方式。

三层认证的报文处理流程跟二层认证完全一致。三层认证组网灵活,容易实现远程控制,但由于只有IP可以用来标识一个用户,所以安全性不高。

3、Portal认证探测与逃生功能

在Portal认证实际组网应用中,如果接入设备与Portal服务器之间出现网络故障,导致通信中断或者Portal服务器本身出现故障,就会造成新的Portal认证用户无法上线,已经在线的Portal用户也无法正常下线。这时就要用到Portal认证的探测和逃生功能,它可使在网络故障或Portal服务器无法正常工作的情况下,接入设备让用户仍然能够正常使用网络,并具有一定的网络访问权限,并通过日志和Trap的方式报告故障。同时在故障修复后,接入设备通过用户信息同步机制可保证Portal服务器与设备上用户信息的一致性,以避免可能出现的计费不准确问题。

4、用户组授权功能

与802.1x认证和MAC认证一样,Portal认证也支持根据用户组对用户进行授权控制。即用户认证成功后,认证服务器下发用户组,将用户进行分类。每个用户组可以关联不同的ACL规则,通过用户组和ACL规则的关联,实现对每类用户进行ACL授权信息控制,即同类用户采用同样的授权信息。

五、NAC特性的产品支持

华为S系列交换机同时支持802.1x认证、MAC认证、Portal认证以及混合认证。

1、802.1x认证特性及产品支持

除了基本的802.1x认证功能外,为了使管理员能够更加合理有序地控制、管理802.1x用户,华为S系列交换机还支持以下802.1x认证特性:

(1)支持MAC旁路认证功能

(2)支持对多个定时器的值进行设置。

(3)支持Guest VLAN、RestrictVLAN与Critical VLAN功能。

(4)支持通过DHCP报文或源MAC未知报文触发802.1x认证。

(5)支持802.1x认证快速部署功能。

2、MAC认证特性及产品支持

除了基本的MAC认证功能外,为了使管理员能够更加合理有序地控制、管理MAC认证用户,华为S系列交换机还支持以下MAC认证特性:

(1)支持用户名形式以及用户认证域的设置。

(2)支持配置接口允许接入的最大MAC认证用户数。

(3)支持对多个定时器的值进行设置。

(4)支持对MAC认证榕湖进行重认证功能。

(5)支持Guest VLAN功能。

3、Portal认证及产品支持

除了基本的Portal认证功能外,为了使管理员能够更加合理有序地控制、管理设备与Portal服务器的信息交互以及Portal认证用户,华为S系列交换机还支持以下Portal认证特性:

(1)支持采用外置Portal服务器与内置Portal服务器的Portal认证。

(2)支持配置设备与Portal服务器信息交互参数。

(3)支持配置Portal认证用户接入控制参数。

(4)支持配置Portal认证用户下线探测周期。

(5)支持Portal认证的探测与逃生功能。

4、混合认证

为了灵活地适应网络环境中的多种认证需求,一些华为S系列交换机支持在接入用户的端口上同时配置802.1x认证、MAC认证、Portal认证,使得用户可以选择任何一种适合的认证机制来进行认证,且只需要成功通过一种方式的认证即可实现接入。

5、三种认证方式比较

六、各种NAC认证方式的缺省配置


猜你喜欢

转载自blog.csdn.net/kaoa000/article/details/80433333