802.1X 简介IEEE 802.1X 标准(以下简称 802.1X)是一种基于接口的网络接入控制(Port Based Network Access Control)协议基于接口的网络接入控制”是指在局域网接入控制设备的接口对接入的设备进行认证和控制用户设备如果能通过认证,就可以访问局域网中的资源;如果不能通过认证,则无法访问局域网中的资源802.1X 系统为典型的 Client/Server 体系结构,包括三个实体: Supplicant(客户端) 客户端一般为用户终端设备,由设备端对其进行认证客户端需要安装 802.1X 的客户端软件,如 Windows 自带的 802.1X 客户端客户端必须支持局域网上的可扩展认证协议 EAPoL(Extensible Authentication Protocol over LAN) Authenticator(设备端) 设备端通常为支持 802.1X 协议的网络设备,它为客户端提供接入局域网的接口 Authentication Server(认证服务器) 认证服务器是为设备端提供认证服务的实体认证服务器用于实现对用户进行认证、授权和计费,通常为 RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)服务器。
说明: 在没有外部认证服务器的情况下,USG 可以同时作为本地认证服务器和设备端USG的本地认证服务配置请参见配置本地认证在有外部认证服务器的情况下,USG 作为设备端USG 上对接 RADIUS 的配置请参见配置 RADIUS 认证认证实体的信息交换关系如 图 1 所示设备端与认证服务器之间通过 EAP 帧交换信息客户端与设备端之间通过 IEEE 802.1X 所定义的 EAPoL 帧交换信息图 1 802.1X 认证系统的体系结构 当客户端发起认证请求时,设备端作为中继与客户端和认证服务器交互,经过一系列的认证过程后,如果认证成功,设备的接口成为授权状态,允许客户端通过授权接口访问网络配置本地认证本地认证是指在没有外部认证服务器的情况下,使用 USG 作为本地认证服务器操作步骤1. 创建本地用户 a. 执行命令 system-view,进入系统视图 b. 执行命令 aaa,进入 AAA 视图 c. 执行命令 local-user user-name password { simple | cipher } password,创建用户并配置密码 d. 执行命令 local-user user-name level 3,配置用户级别为 3。
用户级别必须配置为 3,这样用户才能进行认证授权2. 创建认证方案,配置认证方式为 local a. 执行命令 authentication-scheme scheme-name,创建认证方案,并进入认证方案视图 b. 执行命令 authentication-mode local,配置认证方式为 local c. 执行命令 quit,退回到 AAA 视图3. 创建域并引用认证方案 说明: 系统默认存在一个名为 dot1x 的域a. 执行命令 domain domain-name,创建域,并进入域视图 当用户使用带域名的用户名进行 802.1X 认证时,必须在此处配置相应的域例如:带域名的用户名为 user1@abc,那么必须要配置域 abc,否则认证无法通过b. 执行命令 authentication-scheme scheme-name,引用 2 中创建的认证方案配置 RADIUS 认证RADIUS 认证是指在有外部 RADIUS 服务器的情况下,使用 RADIUS 服务器作为认证服务器背景信息本手册只介绍 USG 上 RADIUS 的配置RADIUS 服务器的相关配置请参见 RADIUS 服务器的相关手册。
操作步骤1. 创建认证方案,配置认证方式为 RADIUS a. 执行命令 system-view,进入系统视图 b. 执行命令 aaa,进入 AAA 视图 c. 执行命令 authentication-scheme scheme-name,创建认证方案,并进入认证方案视图 d. 执行命令 authentication-mode radius,配置认证方法为 RADIUS 类型2. 配置 RADIUS 模板 说明: 此处的 RADIUS 配置必须和 RADIUS 服务器上的配置保持一致,否则无法完成和 RADIUS服务器的对接a. 执行命令 return,返回用户视图 b. 执行命令 system-view,进入系统视图 c. 执行命令 radius-server template template-name,创建 RADIUS 服务器模板,并进入 RADIUS 服务器模板视图 d. 执行命令 radius-server authentication ip-address port,配置 RADIUS 主认证服务器e. (可选)执行命令 radius-server authentication ip-address port secondary,配置RADIUS 备份认证服务器。
f. 执行命令 radius-server type standard,配置使用的 RADIUS 协议 802.1X 认证中,仅支持 standard 协议g. 执行命令 radius-server shared-key key-string,配置 RADIUS 服务器的密钥 h. 执行命令 undo radius-server user-name domain-included,配置传递不带域名的用户名给 RADIUS 服务器 进行 802.1X 认证时,必须配置传递不带域名的用户名给 RADIUS 服务器i. 执行命令 quit,进入系统视图3. 创建域并引用 RADIUS 服务器模板和认证方案 说明: 系统默认存在一个名为 dot1x 的域a. 执行命令 aaa,进入 AAA 视图 b. 执行命令 domain domain-name,创建域,并进入域视图 当用户使用带域名的用户名进行 802.1X 认证时,必须在此处配置相应的域例如:带域名的用户名为 user1@abc,那么必须要配置域 abc,否则认证无法通过c. 执行命令 radius-server template-name,引用 2 中配置的 RADIUS 服务器模板。
d. 执行命令 authentication-scheme scheme-name,引用 1 中配置的认证方案配置以太网接入用户的 802.1X 认证以太网的 802.1X 认证是指对指定以太网接口上接入的用户进行 802.1X 认证背景信息逻辑接口不支持 802.1X 功能USG2100 和 USG2100BSR/HSR 支持 802.1X 功能的接口卡包括:5FSW、8FE+2GEUSG2200/5100、USG2200BSR/HSR 和 USG5100BSR/HSR 支持 802.1X 功能的接口卡包括:5FSW、8FE+2GE、16GE+4SFP、18FE+2SFP以太网客户端 802.1X 接入的认证方式支持 MD5、TLS、TTLS、PEAP操作步骤1. 在接口上启用 802.1X 功能 a. 执行命令 system-view,进入系统视图 b. 执行命令 interface interface-type interface-number,进入以太网接口视图 c. 执行命令 dot1x enable,在接口上启用 802.1X 功能 缺省情况下,禁用所有接口的 802.1X 功能。
2. 执行命令 dot1x domain domain-name,引用认证域 缺省情况下,使用默认的认证域 dot1x在一个接口下只能引用一个认证域此处的认证域必须已经在配置认证服务中配置只有当用户使用不带域名的用户名进行 802.1X 认证时,才会使用此处引用的域进行认证对于带域名的用户名,使用原来的域进行认证3. 执行命令 dot1x port-control { authorized | auto | unauthorized },配置接口接入控制的模式 缺省情况下,接口接入控制的模式为 auto接入控制模式的说明如下: authorized:强制授权模式接口始终处于授权状态,允许用户不经认证授权即可访问网络资源 auto:自动识别模式接口初始状态为非授权状态,仅允许 EAPoL 报文收发,不允许用户访问网络资源;如果认证通过,则接口切换到授权状态,允许用户访问网络资源这也是最常见的情况 unauthorized:强制非授权模式接口始终处于非授权状态,不允许用户访问网络资源4. 可选:执行命令 dot1x port-method { mac | port },配置接口的认证方式。
说明: 只有在接口接入控制模式配置为 auto 时,才能配置接口的认证方式缺省情况下,接口接入控制的方式为 mac接入控制方式的说明如下: mac:表示基于 MAC 地址对接入用户进行认证,即该接口下的所有接入用户均需要单独认证,当某个用户下线时,也只有该用户无法使用网络 port:表示基于接口对接入用户进行认证,即只要该接口下的第一个用户认证成功后,其他接入用户无须认证就可使用网络资源,但是当第一个用户下线后,其他用户也会被拒绝使用网络5. 可选:配置静默定时器 启用静默定时器后,如果某个用户进行 802.1X 认证时失败,USG 将该用户列入静默期在静默期内,USG 不处理该用户再次的 802.1X 认证请求(不影响其他用户的 802.1X 认证),从而防止攻击a. 执行命令 dot1x quiet-period enable,启用静默定时器 缺省情况下,禁用静默定时器功能b. 执行命令 dot1x timer quiet-period time,配置静默定时器时间 缺省情况下,静默定时器的时间为 60 秒6. 可选:执行命令 dot1x dhcp-trigger enable,启用 DHCP Discover 报文触发认证。
DHCP Discover 报文触发认证是指客户端在申请动态 IP 地址时触发 USG 对客户端的802.1X 认证说明: 此命令只能在接口的认证方式为 mac 时使用DHCP Discover 报文触发认证只适用于用户 PC 需要动态申请 IP 地址且不会主动发起802.1X 认证的情况下,例如当用户 PC 的操作系统为 Windows XP sp2,且没有安装任何独立 802.1X 客户端,并需要通过 DHCP 来动态获取 IP 地址时,就需要启用 DHCP Discover报文触发认证否则用户 PC 只能获取 IP 地址,无法通过 802.1X 认证缺省情况下,禁用 DHCP Discover 报文触发认证7. 可选:配置 802.1X 客户端检测 802.1X 客户端检测功能用来定期检测 802.1X 认证成功的客户端是否如果得不到客户端的应答,USG 就会让客户端下线,防止 USG 无法感知用户由于异常原因下线,从而避免接口连接资源的异常占用a. 执行命令 dot1x keep-live enable,启用 802.1X 客户端检测 缺省情况下,禁用 802.1X 客户端检测。
b. 执行命令 dot1x timer keep-live keep-interval,配置定期检测定时器时间间隔 缺省情况下,定期检测定时器的时间间隔为 15 秒说明: 启用 802.1X 客户端检测后,如果将定期检测定时器时。