802.1X认证原理

802.1X(dot1x)技术简介

802.1X认证,又称为EAPOE(Extensible Authentication Protocol Over Ethernet)认证,主要目的是为了解决局域网用户接入认证问题。

802.1X认证时采用了RADIUS协议的一种认证方式,典型的C/S结构,包括终端、RADIUS客户端和RADIUS服务器。

802.1x简介:

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

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

802.1X认证的特点:

  • 安全性高,认证控制点可部署在网络接入层或汇聚层。
  • 需要使用802.1x认证客户端或操作系统自带的802.1X客户端。使用AnyOffice时可以根据终端检查结果规格隔离于和后域。
  • 技术成熟,被广泛应用于各类型园区网员工接入。

802.1X认证应用场景:

  • 有线接入层:安全性最高,设备管理复杂。
  • 有线汇聚层:安全性中高,设备少,管理方便。
  • 无线接入:安全性高,设备少,管理方便。

802.1X系统架构:

802.1X系统为典型的Client/Server结构,包括三个实体:客户端、接入设备和认证服务器。

  • 客户端是位于局域网段一端的一个实体,由该链路另一端的接入设备对其进行认证。客户端一般为一个用户终端设备,用户可以通过启动客户端软件发起802.1X认证。客户端必须支持局域网上的可扩展认证协议EAPOL(Extensible Authentication Protocol over LAN)。
  • 接入设备是位于局域网段一端的另一个实体,对所连接的客户端进行认证。接入设备通常为支持802.1X协议的网络设备,它为客户端提供接入局域网的接口。
  • 认证服务器是为接入设备提供认证服务的实体。认证服务器用于对用户进行认证、授权和计费,通常为RADIUS服务器。

802.1X基本概念:

认证模式:

  • 基于接口
  • 基于MAC

认证方式:

  • EAP终结
  • EAP透传

端口控制方式:

  • 自动识别(auto):表示端口初始状态为非授权状态,仅允许EAPOL报文收发,不允许用户访问网络资源;如果认证通过,则端口切换到授权状态,允许用户访问网络资源。这也是最常见的情况。
  • 强制授权(authorized-force):表示端口始终处于授权状态,允许用户不经认证授权即可访问网络资源。
  • 强制非授权(unauthorized-force):表示端口始终处于非授权状态,不允许用户进行认证。设备端不对通过该端口接入的客户端提供认证服务。

认证触发方式:

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

  1. 客户端主动触发方式:用户主动开启客户端输用户名和密码向接入设备发送EAP报文来触发认证。支持组播方式和广播方式。
  2. 接入设备主动触发方式:接入设备在接收到用户终端发送的DHCP/ARP报文后,主动触发用户终端自动弹出客户端界面,用户输入用户名和密码即可启动认证。支持组播触发和单播触发。

认证方式:

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

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

  2. 在接入设备与认证服务器(以RADIUS服务器为例)之间,EAP协议报文可以使用以下两种方式进行交互。

    • EAP中继(EAP透传):

      EAP终结

      EAP协议报文由接入设备进行中继,设备将EAP报文使用EAPOR(EAP over RADIUS)封装格式承载于RADIUS协议中,发送给RADIUS服务器进行认证。该认证方式的优点是:设备处理简单,可支持多种类型的EAP认证方法,例如MD5-Challenge、EAP-TLS、PEAP等,但要求RADIUS服务器端支持相应的认证方法。

    • EAP终结:

      EAP

      EAP协议报文由接入设备进行终结,设备将客户端认证信息封装在标准RADIUS报文中,与服务器之间采用密码验证协议PAP(Password Authentication Protocol)或质询握手验证协议CHAP(Challenge Handshake Authentication Protocol)方式进行认证。该认证方式的优点是:现有的RADIUS服务器基本均可支持PAP和CHAP认证,无需升级服务器,但设备处理较为复杂,且不能支持除MD5-Challenge之外的其它EAP认证方法。

设备支持如下EAP协议:EAP-TLS、EAP-TTLS、EAP-PAP、EAP-CHAP(EAP-MD5)和EAP-PEAP。

802.1X协议对比:

对比

802.1X认证原理

认证流程:

对于EAP中继方式,802.1X认证流程如下图所示:

认证流程

图:EAP中继方式的802.1X认证流程

在第5步中,如果采用的是EAP-MD5认证,则处理方式方式如下:

认证服务器收到接入设备转发的用户名信息后,按照如下方式对其密码进行验证。

  1. 认证服务器将用户名信息与数据库中的用户名列表进行对比,找到该用户名对应的密码信息。
  2. 认证服务器用随机生成的一个MD5 Challenge对密码进行加密处理,并将此MD5 Challenge通过接入设备发送给客户端。
  3. 客户端收到由接入设备转发的MD5 Challenge后,用该Challenge对密码部分进行加密处理,之后将加密后的密码通过接入设备发送到认证服务器。
  4. 认证服务器将收到的已加密的密码信息和本地经过加密运算后的密码信息进行对比。如果相同,则认为该用户为合法用户;如果不同,则认为该用户为非法用户。

EAP终结方式与EAP中继方式的认证流程相比,不同之处在于步骤4和5。对于EAP终结方式,当接入设备将客户端发送的用户名信息发送给认证服务器时,会随机生成一个MD5 Challenge并发送给客户端(MD5 Challenge由接入设备生成而非认证服务器生成)。之后接入设备会把用户名、MD5 Challenge和客户端加密后的密码信息一起送给认证服务器,进行相关的认证处理。

802.1X认证结果:

802.1X认证的结果在于端口状态的改变,而不涉及IP地址协商和分配问题。它是各种认证技术中最简化的实现方案,但是需要用户终端安装有802.1X客户端软件。

如果使用客户端认证,必须让终端用户在认证前能够获取并安装客户端软件。推广AnyOffice等认证客户端的方法:

  1. 如果已部署AD域服务器,可以通过AD自动推送安装,用户无感知。
  2. 如果未部署AD域服务器,需要用主动访问文件服务器/网站,下载安装。

使用802.1x注意事项:

  • 目前只支持在二层物理接口、WLAN VAP模板下启用802.1x功能。

  • 使用EAP中继认证方式,必须确保RADIUS服务器支持对应的EAP认证方法。

  • 如果FW和用户之间存在二层交换机,则需要在二层交换机上启用802.1x认证报文透传功能,否则用户无法认证成功。

    l2protocol-tunnel user-defined-protocol 802.1x enable

  • 802.1x不支持虚拟化和IPv6。

802.1X配置思路

交换机部分配置思路:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
交换机部分: 
第一步: 定义radius服务和AAA
定义radius
radius-server template dot1x_radius_server-------------定义radius服务器模板
radius-server shared-key simple Huawei@123------------联动服务器设置密码
radius-server authentication 192.168.1.100 1812 -----------设置认证的端口
radius-server accounting 192.168.1.100 1813----------------设置计费的端口
radius-server authorization 192.168.1.100 shared-key simple Huawei@123------授权可选

aaa
authentication-scheme dot1x_auth
authentication-mode radius
accounting-scheme dot1x_acco
accounting-mode radius
domain default
authentication-scheme dot1x_auth
accounting-scheme dot1x_acco
radius-server dot1x_radius_server

第二步:配置dot1x
dot1x enable ------------全局开启dot1x功能

dot1x authentication-method eap ---------dot1x认证方法eap

int xxx
dot1x enable ----------开启dot1x

AC部分配置思路:

  1. 设备管理
    添加radius认证

  2. 用户管理
    创建用户名和密码

  3. 认证规则
    调用准入控制组(具体是那个交换机 )

  4. 授权规则
    A. 动态策略元素(动态ACL)

    B. 授权结果,调用动态ACL

    C. 授权规则,调用 授权结果,调用认证部门

Dot1x配置示例

配置要求:

SW1开启Dot1x功能,对Inside_PC实施准入控制,认证通过后,能访问trust、dmz、untrust区域的网络。

dot1x

交换机配置:

1

然后在接口开启dot1x。

AC配置:

  1. 添加认证设备

    3

  2. 新建dot1x认证部门、用户、账号。

    4

  3. 配置认证规则:

    5

  4. 配置动态ACL

    6

  5. 配置授权结果:

    7

  6. 配置授权规则:

    8

检查测试:

在交换机上进行dot1x认证测试:

9


SW上Dot1x状态:

10


未认证前测试:

11


Dot1x认证成功后测试:

12


认证交换机上接入用户状态:

13


参考文档:华为HedEx文档


坚持原创技术分享,您的支持将鼓励我继续创作!