终端类型识别
随着Internet的发展,许多企业开始考虑允许员工自带智能设备(例如手机、平板或笔记本电脑等移动设备)接入企业内部网络。一方面满足了企业员工对于新科技和个性化追求,另一方面也提高了员工的工作效率。这就是BYOD(Bring Your Own Device)。但是,员工个人电脑的安全性较低,通过个人电脑接入企业内部网络可能会导致安全隐患,而传统的基于用户角色认证和授权的安全技术已不能满足其网络安全的需要。因此,终端类型识别技术应运而生。在使用BYOD技术时,可以通过终端类型识别技术识别出企业员工接入内部网络的设备类型,以控制某些指定移动设备的接入,实现基于用户、设备类型、接入时间、接入地点、设备环境的认证和授权。
终端类型识别功能需要设备和RADIUS服务器配合实现:
- RADIUS服务器不支持终端类型识别功能时,需要在设备上配置终端类型识别功能,然后将识别出的终端类型发送给RADIUS服务器,RADIUS服务器再根据终端类型下发相应的权限。
设备上配置终端类型识别功能,其原理请参见设备终端类型识别功能原理。
- RADIUS服务器支持终端类型识别功能时,需要在RADIUS服务器上配置终端类型识别功能,并在设备上配置终端类型感知功能。通过终端类型感知功能,设备能够获悉终端的类型并发送给RADIUS服务器,进而使RADIUS服务器识别出用户的终端类型,根据用户的终端类型下发相应的权限。
设备上配置终端类型感知功能,其原理请参见设备终端类型感知功能原理。
设备终端类型识别功能原理
- 通过终端mDNS报文中的信息识别出终端IP地址、MAC地址、上报的服务、TXT、Target。
通过匹配终端的MAC地址里的前24位地址信息即厂商的组织唯一标识符OUI(Organizationally Unique Identifier)信息识别对应的设备厂商。
通过终端HTTP报文中的用户代理UA(User Agent)信息识别出客户所用的终端的操作系统、操作系统的版本、CPU类型、浏览器以及浏览器的版本。
通过终端DHCP报文中的Option12、Option55、Option60信息中的厂商信息识别出STA主机名以及厂商类型。
- 如图2-42所示,DHCP Option12即Host Name Option。该Option中,12表示信息类型,N表示后面信息内容的长度,h1至hN表示具体的信息内容(包含了STA的主机名)。
- 如图2-43所示,DHCP Option55即Parameter Request List。该Option中,55表示信息类型,N表示后面信息内容的长度,c1至cN表示具体的信息内容(包含了STA请求的DHCP Option参数列表,不同STA请求的参数列表存在差异)。
- 如图2-44所示,DHCP Option60即Vendor Class Identifier,该Option中,60表示信息类型,N表示后面信息内容的长度,i1至iN表示具体的信息内容(包含了厂商标识)。
设备支持在Portal认证、MAC认证和802.1X认证过程中获取MAC、DHCP Option和UA信息。
- 在用户接入网络后,设备获取到用户的MAC地址。
- 在用户发送DHCP请求报文申请IP地址时,AP通过DHCP Snooping功能获取DHCP报文中的Option信息并发送给设备。
- 在用户发送HTTP请求报文(HTTP Get)获取认证页面时,设备分析该报文并获取报文中的UA信息。
- 设备通过对用户的MAC地址、DHCP Option、UA信息的分析,识别出终端类型。
- 设备将终端类型封装在认证请求中,发送到RADIUS服务器,RADIUS服务器根据账号以及终端类型进行认证并下发权限。
- 在用户接入网络后,设备获取到用户的MAC地址。
- 设备根据用户MAC地址中的OUI信息识别终端类型,如果已识别,则在发送给RADIUS服务器的认证请求报文中携带终端类型。
- 在用户发送DHCP请求报文申请IP地址时,AP通过DHCP Snooping功能获取DHCP报文中的Option信息并发送给设备。
- 设备根据用户MAC地址和DHCP Option信息识别终端类型后,则在发送给AAA服务器的计费报文中携带终端类型。
- 在强推过程中,当用户发送HTTP请求报文(HTTP Get)获取认证页面时,设备分析该报文并获取报文中的UA信息。
- 设备根据用户MAC地址、UA信息、DHCP Option信息识别终端类型后,则在发送给RADIUS服务器的计费报文中携带终端类型。
设备识别出的终端类型会通过华为157号扩展属性HW-Terminal-Type携带到RADIUS服务器,RADIUS服务器需要识别此属性以实现根据用户终端类型下发授权信息的功能。
设备终端类型感知功能原理
- 通过UA方式:设备从终端发送的HTTP Get报文中提取出UA字段(该字段中携带有终端类型信息)。之后,设备会把UA字段信息通过RADIUS计费报文中的华为159号扩展属性HW-HTTP-UA发送到RADIUS服务器。
- 通过DHCP选项字段方式:设备在接收到DHCP Request报文后解析出所需的Option字段(该字段中携带有终端类型信息)。之后,设备会把Option字段信息通过RADIUS计费报文中的华为158号扩展属性HW-DHCP-Option发送到RADIUS服务器。
- 通过LLDP TLV类型方式:设备在接收到LLDP报文后能够解析出所需的TLV类型(TLV携带了终端类型信息)。之后,设备会把TLV类型信息通过RADIUS计费报文中的华为163号扩展属性HW-LLDP发送到RADIUS服务器。
设备支持在Portal认证、MAC认证和802.1X认证过程中获取DHCP Option、UA、LLDP TLV信息。
- 在用户发送DHCP请求报文申请IP地址时,AP通过DHCP Snooping功能获取DHCP报文中的Option信息并发送给设备。
- 在用户发送LLDP报文时,设备获取报文中的TLV类型信息。
- 在用户发送HTTP请求报文(HTTP Get)获取认证页面时,获取报文中的UA信息。
- 设备将获取的DHCP Option、UA、LLDP TLV信息封装在计费请求中,发送到RADIUS服务器,RADIUS服务器根据账号以及DHCP Option、UA、LLDP TLV信息识别终端类型来下发权限。
- 在用户发送DHCP请求报文申请IP地址时,AP通过DHCP Snooping功能获取DHCP报文中的Option信息并发送给设备。
- 在用户发送LLDP报文时,设备获取报文中的TLV类型信息。
- 在强推过程中,当用户发送HTTP请求报文(HTTP Get)获取认证页面时,设备获取报文中的UA信息。
- 设备将获取的DHCP Option、UA、LLDP TLV信息封装在计费请求中,发送到RADIUS服务器,RADIUS服务器根据账号以及DHCP Option、UA、LLDP TLV信息识别终端类型来下发权限。