IEEE802.1x (
Port-Based Network Access Control )是一个基于端口的
网络接入控制标准,
为
LAN
接入提供点对点式的安全接入 。这是 IEEE 标准委员会针对以太网的安全缺陷而专门制定的标准,能够在利用 IEEE 802 LAN 的优势基础上,提供一种对连接到局域网设备或用户进行
认证的手段。 IEEE 802.1x 标准定义了一种基于 “
客户端 ――
服务器 ” ( Client-Server )模式实现了限制未认证用户对网络的访问。客户端要访问网络必须先通过认证服务器的认证。
在客户端通过认证之前,只有
EAPOL 报文(
Extensible Authentication Protocol over LAN )可以在网络上通行。在认证成功之后,通常的数据流便可在网络上通行。
认证的发起及认证过程中的报文交互
恳请者和认证者 之间通过 EAPOL 协议交换
信息,而认证者和
认证服务器 通过
RADIUS 协议交换信息,通过这种转换完成认证过程。 EAPOL 协议封装于
MAC 层之上,类型号为 0x888E 。同时,标准为该协议申请了一个组播 MAC 地址
01-80-C2-00-00-03 ,用于初始认证过程中的报文传递。
下图是一次典型的认证过程中,三个角色设备的报文交互过程
锐捷网络产品特有的功能
为了方便宽带运营商及其他特殊场合的用途,锐捷对 802.1x 的功能在标准的基础上进行了扩展(该扩展是完全基于标准之上,没有任何的与 IEEE 802.1x 不兼容)
IP 授权模式
锐捷网络实现的 802.1x ,可以强制要求已认证的用户使用固定的 IP 。管理员通过配置 IP 授权模式来限定用户获得 IP 地址的方式。 IP 授权模式有三种: DISABLE 模式、
DHCP SERVER 模式、 RADIUS SERVER 模式。下面分别
介绍这三种工作模式的特性:
DISABLE 模式(默认):在该模式下,交换机不对用户的 IP 做限制,用户只需认证通过便可以使用网络。
DHCP SERVER 模式:用户的 IP 通过指定的 DHCP SERVER 获得,只有指定的 DHCP SERVER 分配的 IP 才是合法的 IP 。
RADIUS SERVER 模式:用户的 IP 通过 RADIUS SERVER 指定。用户只能用 RADIUS SERVER 指定的 IP 访问网络。
三种模式下的应用模型:
DISABLE 模式:适合不对用户限定 IP 的场合。用户只需通过认证便可以访问网络。
DHCP SERVER 模式:用户 PC 通过 DHCP 获得 IP 地址,管理员通过配置交换机的 DHCP RELAY 来限定用户访问的 DHCP SERVER ,这样,只有指定的 DHCP SERVER 分配的 IP 才是合法的。
RADIUS SERVER 模式:用户 PC 使用固定的 IP , RADIUS SERVER 配置了 < 用户 ―IP> 的对应关系,并通过 RADIUS 的 Framed-IP-Address 属性告知交换机,用户只能用该 IP 才能访问网络。
发布广告信息
锐捷网络实现的 802.1x ,可以在 Radius Server 端配置 Reply-Message 字段,当认证成功后,该字段的信息可以在锐捷网络推出的 802.1x 客户端 Star-Supplicant 上显示出来,便于运营商发布一些信息。
该消息只有在用户第一次认证时显示,重认证时,不会显示,这样就避免了对用户的频繁打扰。
广告信息的显示窗口支持 html ,会自动把消息中的 http://XXX.XXX.XX 转换成可直接跳转的连接,便于用户查看详细的信息。
广告信息的发布:
1 、运行商在 Radius Server 端,配置 Reply Message 属性的内容
2 、只有 1 锐捷的客户端 Star- 才支持(对本公司交换机的用户免费),其它的客户端 supplicant 看不到信息但不影响使用 、在交换机端无需设置
某端口下的可认证主机列表
为了增强 802.1x 的安全性,锐捷在不影响 IEEE 802.1x 的基础上进行了扩展,网管可以限定某个端口的认证的主机列表。如果一个端口下的可认证主机列表为空,则任何用户均可认证;若可认证主机列表不为空,那么只有列表中的主机允许认证。允许认证的主机用 MAC 标识。
授权
为了方便运营商,我们的产品可以对不同类型的用户提供不同质量的服务,如:提供给用户的最大带宽不同。而这些信息集中于 Radius Server 上,管理员不必对每台交换机进行配置。
由于 Radius 没有标准的属性来表示最大数据率。锐捷只能通过厂商自定义属性来传递授权信息。我们定义的通用格式如下:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Vendor-Id
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Vendor-Id (cont) | Vendor type | Vendor length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Attribute-Specific...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
对于最大数据率应填的值如下:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x1A | 0x0c | 0x00 0x00
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0x13 0x11 | 0x01 | 0x06 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 最大数据率的十六进制值 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
最大数据率的单位: kbps
对于最大数据率为 10M 的用户应填如下:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x1A | 0x0c | 0x00 0x00
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0x13 0x11 | 0x01 | 0x06 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x00002710 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
自定义的头照上填,最大数据率为 10M ,即 10000kbsp ,转换成 16 进制则 0x00002710 ,填在相应的字段上即可。
代理服务器屏蔽和拨号屏蔽
用户自行架设代理服务器以及用户认证后再自行拨号
上网,这是网络安全最大的两个隐患。锐捷网络交换机提供代理服务器屏蔽和拨号屏蔽功能。
实现该功能交换机端不需任何设置。只需在 RADIUS 服务器端配置相应的属性。由于 Radius 没有标准的属性来表示最大数据率。我们只能通过厂商自定义属性来传递授权信息。我们定义的通用格式见授权一节的说明。
代理服务器屏蔽功能定义的 Vendor type 为 0x20, 拨号屏蔽功能定义的 Vendor type 为 0x21 。 Attribute-Specific 字段为四个字节的厂商自定义属性 , 定义了对使用代理服务器上网和拨号上网行为所采取的动作 . 0x0000 表示正常连接,不进行检测屏蔽 , 0x0001 表示进行检测屏蔽。
若要屏蔽通过代理服务器上网 , 用户应填如下信息 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x1A | 0x0c | 0x00 0x00
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0x13 0x11 | 0x20 | 0x06 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0x0001 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
客户端在线探测
为了保证计费的准确性,需要一种在线探测机制能够再短时间内获知用户是否在线。在标准实现中的重认证机制能够满足这种需求,但是标准实现中需要 RADIUS 服务器的参与,要实现准确的探测用户是否在线将会占用交换机和 RADIUS 服务器的大量资源。为了满足在占用少量资源的基础上实现计费的准确性,我们采用了一种新的客户端在线探测机制。这种机制只需要在交换机和客户端之间交互,并且对网络流量的占用极小,能够实现分钟级的计费精度 ( 用户可以通过配置来确定计费的精度 ) 。
Sniffer Pro 的设置
定义过滤器:
Ethertype = 0x888E (8021X)
抓到的数据:
EAPOL - Start 初步分析如下:
===========================================================================
// 实达专有响应附加包 , 格式未了解
0xFF,0xFF,0x37,0x77,0xFF,0x00, //Destination
0x00,0x00,0x00,0x00,0x00,0x00, //Source
0x00,0x00, //Ethertype = 0x888E (8021X)
0x00, //Version = 1
0x00, //Packet Type 0x00 ;0x01,EAPOL-Start ;0x02 ;0x03 ;0x04
0x00,0x00, //Packet Body Length
0x00,0x00,0x00,0x08,0x15,
0x00,0x00,0x13,0x11,0x38,0x30,0x32,0x31,0x78,0x2E,0x65,0x78,0x65,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,
0x02,0x33,0x00,0x00,0x01, // 为版本号 2.51
0x00,0x00,0x13,0x11,0x00,0x28,0x1A,0x28,0x00,0x00,0x13,0x11,0x17,0x22, // 此段总不变?
0x93,0x91,0x65,0x65,0x62,0x60,0x66,0x96,0x93,0x68,0x91,0x62,0x91,0x67,0x66,0x61, // 此段
随机变化
0x96,0x91,0x64,0x68,0x93,0x62,0x69,0x64,0x61,0x69,0xc9,0xD3,0x62,0x65,0x67,0x68, //
0x00,0x00,0x13,0x11,0x18,0x06 // 此段总不变?
=========================================================================
来源: http://blog.csdn.net/aijkxm/archive/2007/10/17/1829082.aspx