一、802.1x 认证

802.1x 简介

IEEE802 LAN/WAN 委员会为解决无线局域网网络安全问题,提出了 802.1x 协议。后来, 802.1x 协议作为局域网端口的一个普通接入控制机制在以太网中被广泛应用,主要解决以太网内认证和安全方面的问题。

802.1x 协议是一种基于端口的网络接入控制协议。“基于端口的网络接入控制”是指,在局域网接入设备的端口这一级,对所接入的用户设备通过认证来控制对网络资源的访问。

如图所示, 802.1x 系统为典型的 Client/Server 结构,包括三个实体:客户端(Client)、设备端(Device)和认证服务器(Server)。

802.1x 认证系统示意图

 客户端是位于局域网段一端的一个实体,由该链路另一端的设备端对其进行认证。客户端一般为一个用户终端设备,用户可以通过启动客户端软件发起 802.1x 认证。客户端必须支持局域网上的可扩展认证协议EAPOL(Extensible Authentication Protocol over LAN)。

 设备端是位于局域网段一端的另一个实体,对所连接的客户端进行认证。设备端通常为支持 802.1x 协议的网络设备,它为客户端提供接入局域网的端口,该端口可以是物理端口,也可以是逻辑端口。

 认证服务器是为设备端提供认证服务的实体。认证服务器用于实现对用户进行认证、授权和计费,通常为RADIUS 服务器。

**802.1x **的基本概念

1、受控/非受控端口

设备端为客户端提供接入局域网的端口,这个端口被划分为两个逻辑端口:受控端口和非受控端口。

 非受控端口始终处于双向连通状态,主要用来传递 EAPOL 协议帧,保证客户端始终能够发出或接收认证报文。

 受控端口在授权状态下处于双向连通状态,用于传递业务报文;在非授权状态下禁止从客户端接收任何报文。

2、授权/非授权状态

设备端利用认证服务器对需要接入局域网的客户端执行认证,并根据认证结果(Accept 或 Reject)对受控端口的授权/非授权状态进行相应地控制。

图显示了受控端口上不同的授权状态对通过该端口报文的影响。图中对比了两个 802.1x 认证系统的端口状态。

系统 1 的受控端口处于非授权状态(相当于端口开关打开),系统 2 的受控端口处于授权状态(相当于端口开关闭合)。

受控端口上授权状态的影响

802.1x 的认证触发方式

802.1x 的认证过程可以由客户端主动发起,也可以由设备端发起。设备支持的认证触发方式包括以下两种:

  1. 客户端主动触发方式:客户端主动向设备端发送 EAPOL-Start 报文来触发认证。

  2. 设备端主动触发方式:设备端触发方式用于支持不能主动发送 EAPOL-Start 报文的客户端,例如 WindowsXP 自带的 802.1x 客户端。

有以下两种触发方式:  DHCP 报文触发:设备在收到用户的 DHCP 请求报文后主动触发对用户的 802.1x 认证。

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

802.1x 的认证方式

802.1x 认证系统使用可扩展认证协议 EAP(Extensible Authentication Protocol)来实现客户端、设备端和认证服务器之间认证信息的交换,各实体之间 EAP 协议报文的交互形式如下:

  1. 在客户端与设备端之间, EAP 协议报文使用 EAPOL 封装格式,并直接承载于 LAN 环境中。

  2. 在设备端与 RADIUS 服务器之间, EAP 协议报文可以使用以下两种方式进行交互。

**EAP 中继: **

EAP 协议报文由设备端进行中继,设备将 EAP 报文使用 EAPOR(EAP over RADIUS)封装格式承载于 RADIUS 协议中,发送给 RADIUS 服务器进行认证。

该认证方式的优点是:设备处理简单,可支持多种类型的 EAP 认证方法,例如MD5-Challenge、 EAP-TLS、 PEAP 等,但要求服务器端支持相应的认证方法。

**EAP 终结:**EAP 协议报文由设备端进行终结,设备将客户端认证信息封装在标准 RADIUS 报文中,与服务器之间采用密码验证协议 PAP(Password Authentication Protocol)或质询握手验证协议 CHAP(Challenge Handshake Authentication Protocal)方式进行认证。

该认证方式的优点是:现有的 RADIUS服务器基本均可支持 PAP 和 CHAP 认证,无需升级服务器,但设备处理较为复杂,且不能支持除MD5-Challenge 之外的其它 EAP 认证方法。

802.1x 系统支持 EAP 中继方式和 EAP 终结方式与远端 RADIUS 服务器交互完成认证。

EAP 中继方式业务流程

EAP 中继认证的过程如下:

  1. 当用户需要访问外部网络时打开 802.1x 客户端程序,输入已经申请、登记过的用户名和密码,发起连接请求。此时,客户端程序将向设备端发出认证请求帧(EAPOL-Start),开始启动一次认证过程。

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

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

  4. 设备端将客户端发送的响应帧中的 EAP 报文封装在 RADIUS 报文( RADIUS Access-Request)中发送给认证服务器进行处理。

  5. RADIUS 服务器收到设备端转发的用户名信息后,将该信息与数据库中的用户名列表中对比,找到该用户名对应的密码信息,用随机生成的一个 MD5 Challenge 对密码进行加密处理,同时将此 MD5 Challenge 通过 RADIUS Access-Challenge 报文发送给设备端。

  6. 设备端将 RADIUS 服务器发送的 MD5 Challenge 转发给客户端。

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

  8. 设备端将此 EAP-Response/MD5 Challenge 报文封装在 RADIUS 报文( RADIUS Access-Request)中发送给RADIUS 服务器。

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

  10. 设备收到认证通过报文后向客户端发送认证成功帧(EAP-Success),并将端口改为授权状态,允许用户通过端口访问网络。

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

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

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

  14. 设备端把端口状态从授权状态改变成未授权状态,并向客户端发送 EAP-Failure 报文。

EAP 终结方式业务流程

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

MAC 旁路认证

MAC 旁路认证可使 802.1x 认证系统中无法安装和使用 802.1x 客户端软件的终端,例如打印机等,以自身 MAC地址作为用户名和密码进行认证。

802.1x 认证过程中,设备端会首先触发用户采用 802.1x 认证方式,但若用户长时间内没有进行 802.1x 认证,则以用户的 MAC 地址为认证信息,把 MAC 地址作为用户名和密码上送认证服务器进行认证。

如图所示,当设备端发出多次认证请求而终端没有响应后,将采用 MAC 旁路认证。

MAC 旁路认证示意图

**802.1x **认证支持的 Guest VLANRestrict VLANCritical VLAN 功能

1、 Guest VLAN Guest VLAN 功能开启后,当用户不响应 802.1x 认证请求时,譬如未安装客户端软件,设备端会将用户所在端口加入到 Guest VLAN 中,这样用户就可以访问 Guest VLAN 中的资源,从而满足了未认证的用户获取客户端软件,升级客户端或执行其他一些用户升级程序等操作。

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

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

**802.1x **快速部署

NAC 作为网络端到端接入控制方案,提升了网络的整体防御能力,但是在实际的应用过程中 802.1x 客户端的部署工作量很大,为网络建设带来不便。802.1x 认证快速部署功能就可以解决以上问题,引导用户自助下载安装客户端,实现客户端的快速部署。802.1x 认证快速部署功能通过以下两个功能实现:

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

  1. 用户 HTTP 访问 URL 重定向功能 终端用户在未进行 802.1x 认证前或者认证失败后,使用 IE 访问网络,设备将用户访问的 URL 重定向到配置好的 URL(客户端下载界面)。

用户组授权功能

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

二、MAC 认证

**MAC **认证简介

MAC 认证是一种基于端口和 MAC 地址对用户的网络访问权限进行控制的认证方法,它不需要用户安装任何客户端软件。设备在启动了 MAC 认证的端口上首次检测到用户的 MAC 地址以后,即启动对该用户的认证操作。

认证过程中,不需要用户手动输入用户名或者密码。

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

 MAC 地址用户名格式:使用用户的 MAC 地址作为认证时的用户名和密码。

 固定用户名形式:不论用户的 MAC 地址为何值,所有用户均使用设备上指定的一个固定用户名和密码替代用户的 MAC 地址作为身份信息进行认证。由于同一个端口下可以有多个用户进行认证,因此这种情况下端口上的所有 MAC 认证用户均使用同一个固定用户名进行认证,服务器端仅需要配置一个用户帐户即可满足所有认证用户的认证需求,这适用于接入客户端比较可信的网络环境。

MAC 认证支持的 **Guest VLAN **功能

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

用户组授权功能

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

三、Portal 认证

Portal 认证简介

Portal 认证通常也称为 Web 认证,一般将 Portal 认证网站称为门户网站。

未认证用户上网时,设备强制用户登录到特定站点,用户可以免费访问其中的服务。当用户需要使用互联网中的其它信息时,必须在门户网站进行认证,只有认证通过后才可以使用互联网资源。

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

Portal 认证业务可以为运营商提供方便的管理功能,门户网站可以开展广告、社区服务、个性化的业务等,使宽带运营商、设备提供商和内容服务提供商形成一个产业生态系统。

Portal 认证系统结构

Portal 服务器可以是接入设备之外的独立实体(外置 Portal 服务器),也可以是存在于接入设备之内的内嵌实体(内置 Portal 服务器)。

使用外置 Portal 服务器的 Portal 认证系统

如图所示, Portal 认证系统的典型组网方式由四个基本要素组成:认证客户端、接入设备、 Portal 服务器与认证/计费服务器。

使用外置 Portal 服务器的 Portal 认证系统组成示意图

  1. 认证客户端:安装于用户终端的客户端系统,为运行 HTTP/HTTPS 协议的浏览器或运行 Portal 客户端软件的主机。

  2. 接入设备:交换机、路由器等宽带接入设备的统称,主要有三方面的作用:

 在认证之前,将认证网段内用户的所有 HTTP 请求都重定向到 Portal 服务器。  在认证过程中,与 Portal 服务器、认证/计费服务器交互,完成身份认证/计费的功能。  在认证通过后,允许用户访问被管理员授权的互联网资源。

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

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

使用内置 Portal 服务器的 Portal 认证系统

内置 Portal 服务器是指, Portal 认证系统中不采用外部独立的 Portal 服务器,而由接入设备实现 Portal 服务器功能。这种情况下, Portal 认证系统仅包括三个基本要素:认证客户端、接入设备和认证/计费服务器,如图所示。

使用内置 Portal 服务器的 Portal 认证系统组成示意图

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

二层认证方式

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

二层认证流程简单,安全性高,但由于限制了用户只能与接入设备处于同一网段,降低了组网的灵活性。

在二层认证方式下,用户上线时的报文交互过程如图所示。

1.Portal 用户通过 HTTP 协议发起认证请求。HTTP 报文经过接入设备时,对于访问 Portal 服务器或设定的免认证网络资源的 HTTP 报文,接入设备允许其通过;对于访问其它地址的 HTTP 报文,接入设备将其重定向到 Portal 服务器。Portal 服务器提供 Web 页面供用户输入用户名和密码来进行认证。

  1. Portal服务器与接入设备之间进行CHAP(Challenge Handshake Authentication Protocol,质询握手验证协议)认证交互。若采用 PAP(Password Authentication Protocol,密码验证协议)认证则 Portal 服务器无需与接入设备进行 PAP 认证交互,而直接进行第三步。

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

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

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

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

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

三层认证方式

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

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

**Portal **认证探测与逃生功能

Portal 认证实际组网应用中,若设备与 Portal 服务器之间出现网络故障导致通信中断或者 Portal 服务器本身出现故障,则会造成新的 Portal 认证用户无法上线,已经在线的 Portal 用户也无法正常下线。这将给用户带来很大的不便,同时可能会造成 Portal 服务器与设备的用户信息不一致,以致带来计费不准确等问题。

Portal 探测和逃生功能可使在网络故障或 Portal 服务器无法正常工作的情况下,设备让用户仍然能够正常使用网络并具有一定的网络访问权限,并通过日志和 Trap 的方式报告故障。同时设备通过用户信息同步机制,可保证Portal 服务器与设备上用户信息的一致性,以避免可能出现的计费不准确问题。

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

四、混合认证

在客户端形式多样的网络环境中,不同客户端支持的接入认证方式有所不同。

有的客户端只能进行 MAC 地址认证(比如打印机终端);有的主机安装了 802.1x 客户端软件,可以进行 802.1x 认证;有的用户主机则只希望通过 Web 访问进行 Portal 认证。

为了灵活地适应这种网络环境中的多种认证需求,需要在接入用户的端口上对三种认证方式进行统一部署,使得用户可以选择任何一种适合的认证机制来进行认证,且只需要成功通过一种方式的认证即可实现接入。

混合认证方案可满足以上需求,通过同时在设备的二层端口上使能 Portal 认证、 MAC 地址认证、 802.1x 认证,使得客户端可以通过三种认证方式中的任意一种进行认证即可接入网络。

说明: 混合认证中的 Portal 认证仅支持使用内置 Portal 服务器认证场景。