设为首页   锐捷官网
用其他帐号登录:
查看: 1145|回复: 0

WEB认证原理

[复制链接]

25

主题

25

帖子

152

积分

版主

Rank: 7Rank: 7Rank: 7

积分
152
发表于 2016-1-9 19:39:45 | 显示全部楼层 |阅读模式
本帖 * 后由 浪天涯星仔 于 2016-1-9 19:39 编辑

Web认证概述
Web认证是一种对用户访问网络的权限进行控制的身份认证方法,这种认证方法不需要用户安装专用的客户端认证软件,使用普通的浏览器软件就可以进行身份认证。
未认证用户使用浏览器上网时,网络设备会强制浏览器访问特定站点,也就是Web认证服务器,通常称为Portal服务器。用户无需认证即可访问Portal服务器上的服务,比如下载安全补丁、阅读公告信息等。当用户需要访问认证服务器以外的其它网络资源时,就必须通过浏览器在Portal服务器上进行身份认证,只有认证通过后才可以使用网络资源。
除了认证上的便利性之外,由于Portal服务器和用户的浏览器有页面交互,可以利用这个特性在Portal服务器页面放置一些广告、通知、业务链接等个性化的服务。
锐捷web认证有3个版本,不同版本的Web认证流程不同,我们将其分别称为锐捷一代Web认证、锐捷二代Web认证、锐捷内置Portal Web认证。
锐捷一代Web认证
HTTP拦截
HTTP拦截指网络设备将原本需要转发的HTTP报文拦截下来,不进行转发。这些HTTP报文是连接在网络设备下的用户的浏览器所发出的,但目的并不是网络设备本身。例如,某用户通过IE浏览器访问www.google.com,网络设备本应该将这些HTTP请求报文转发到网关的,但如果启动HTTP拦截,这些报文将不被转发。
HTTP拦截之后,网络设备需要将用户的HTTP连接请求转向自己,于是网络设备和用户之间将建立起连接会话。网络设备将利用HTTP重定向功能,将重定向页面推送给用户,用户的浏览器上将弹出一个页面,这个页面可以是认证页面,也可以是下载软件的链接等等。
在Web认证功能中,哪些用户所发出的到哪个目的端口的HTTP报文需要进行拦截,哪些不需要,都是可以设置的。一般地,未经过认证的用户发出的HTTP请求报文会被拦截,已通过认证的用户将不被拦截。HTTP拦截是Web认证功能的基础,一旦浏览器发出的HTTP报文被拦截,就会自动触发Web认证的过程。
HTTP重定向
根据HTTP协议规定,正常情况下,用户的浏览器发出HTTP GET或HEAD请求报文后,如果接收一方能够提供资源,则以200报文响应,如果本地不能提供资源,则可以使用302报文响应。在302响应报文中,提供了一个新的站点路径,用户收到响应后,可以向这个新的站点重新发出HTTP GET或HEAD报文请求资源,这就是重定向。
HTTP重定向是Web认证的重要环节,是发生在HTTP拦截之后的,利用的就是HTTP协议中的302报文的特性。HTTP拦截过程将使得网络设备和用户之间建立起连接会话,随后用户将(本应发给其他站点的)HTTP GET或HEAD报文发给网络设备,网络设备收到后,回应以302报文,并且在302报文中加入重定向页面的站点路径,这样用户将向这个站点路径重新发出请求,就会获取到重定向的页面。
由于越来越多的应用程序基于HTTP协议运行,采用302重定向报文有可能会将大量的非浏览器发出的HTTP流引向Portal服务器,影响网络认证,因此设备的重定向技术采用的是通过js脚本代替302报文,这一技术称为降噪。
工作原理
Web认证的典型组网方式如下图所示,它由三个基本角色组成:认证客户端、接入设备、Portal服务器。
1.png
1.  Web认证的角色:
a、认证客户端(STA):通常是一个浏览器,运行HTTP协议,用户通过浏览器上网时浏览器将发出HTTP请求。
b、接入设备(AC):在网络拓扑中一般是接入层设备(例如在无线网络中可以是无线AC),一般与用户终端设备直接相连接,在接入设备上需要启动Web认证功能。
c、Portal Server:提供Web认证的认证界面和相关操作。Portal Server接受认证客户端发出的基于HTTP的认证请求,提取其中的账号信息,将此信息发送到认证服务器进行认证,然后通告用户和接入设备认证结果。
d、Radius Server(SAM):提供基于radius协议的远程用户认证,Portal Server从HTTP中获取用户的认证账号信息,然后通过radius协议向RADIUS Server请求认证。Radius Server通过radius协议向Portal Server反馈认证结果。
2.  Web认证的流程:
a、在认证之前,接入设备将未认证用户发出的所有HTTP 请求都拦截下来,并重定向到Portal服务器去,这样在用户的浏览器上将弹出一个认证页面。
b、在认证过程中,用户在认证页面上输入认证信息(用户名、口令、校验码等等)与Portal服务器交互,完成身份认证的功能。
c、在认证通过后,Portal服务器将通知接入设备该用户已通过认证,接入设备将允许用户访问互联网资源。
详细的原理图如下图所示:
2.png
3.  用户下线流程:
用户下线分两种类型,一种是设备端检测到用户下线,比如用户时长到达,流量用完,链路断开等;一种是portal服务器端发现用户下线,比如用户通过下线页面触发了下线申请,保活页面失效等。
a、 * 种情况,接入设备发现用户下线时,通告Portal Server用户下线,服务器设置设备删除用户信息(通过SNMP协议)。Portal服务器向用户返回下线页面。
b、 * 种情况, Portal Server发现用户下线后,通告接入设备用户下线(通过SNMP协议)。Portal服务器向用户返回下线页面。
c、2种情况下,Portal Server都会向Radius Server发起计费结束请求,通告Radius Server用户下线。
锐捷二代Web认证
HTTP拦截
同锐捷一代Web认证的HTTP拦截技术。
HTTP重定向
同锐捷一代Web认证的HTTP重定向技术。
工作原理
Web认证的典型组网方式如下图所示,它由三个基本角色组成:认证客户端、接入设备、Portal服务器。
3.png
1、Web认证的角色:
a、认证客户端(STA):通常是一个浏览器,运行HTTP协议,用户通过浏览器上网时浏览器将发出HTTP请求。
b、接入设备(AC/AP):在网络拓扑中一般是接入层设备(例如在无线网络中可以是无线AC),一般与用户终端设备直接相连接,在接入设备上需要启动Web认证功能。接入设备接收Portal Server发过来的用户认证信息,并向Radius Server发起认证请求,根据认证结果设置用户是否可以上网,同时向Portal Server反馈认证结果。
c、Portal Server:提供Web认证的认证界面和相关操作。Portal Server接受认证客户端发出的基于HTTP的认证请求,提取其中的账号信息,将此信息发送到接入设备,同时根据接入设备反馈的认证结果,通过页面反馈给用户。
d、Radius Server(SAM):提供基于radius协议的远程用户认证。
2、Web认证的流程:
a、在认证之前,接入设备将未认证用户发出的所有HTTP 请求都拦截下来,并重定向到Portal服务器去,这样在用户的浏览器上将弹出一个认证页面。
b、在认证过程中,用户在认证页面上输入认证信息(用户名、口令、校验码等等)与Portal服务器交互。
c、Portal服务器将用户的认证信息发给接入设备
d、接入设备向Radius Server发起认证,并将认证结果反馈给Portal服务器。
e、Portal服务器向用户返回页面,提示认证结果(成功或失败)。
详细的原理图如下图所示:
4.png
3、用户下线流程:
用户下线分两种类型,一种是设备端检测到用户下线,比如用户时长到达,流量用完,链路断开等;一种是portal服务器端发现用户下线,比如用户通过下线页面触发了下线申请等。
a、用户主动点击页面上的下线按钮,选择下线,Portal服务器通告设备将用户下线。
b、设备检测到终端低流量将用户下线,具体依赖所配置的低流量检测参数而定。
c、RADIUS服务器因为某种策略原因,将用户踢线,设备通告Portal服务器,Portal服务器向终端推送下线页面。
锐捷内置Web认证
HTTP拦截
同锐捷一代Web认证的HTTP拦截技术。
HTTP重定向
同锐捷一代Web认证的HTTP重定向技术。
工作原理
5.png
1、Web认证的角色:
a、认证客户端(STA):通常是一个浏览器,运行HTTP协议,用户通过浏览器上网时浏览器将发出HTTP请求。
b、接入设备(AC):在网络拓扑中一般是接入层设备,一般与用户终端设备直接相连接,在接入设备上需要启动内置Portal Web认证功能。接入设备实现RADIUS认证客户端功能,和RADIUS服务器进行认证计费等交互。
同时设备承担Portal Server的角色,提供Web认证的认证界面和相关操作。Portal Server接受认证客户端发出的基于HTTP的认证请求,提取其中的账号信息,将此信息发送到设备中认证模块,同时根据接入设备反馈的认证结果,通过页面反馈给用户。
c、Radius Server:提供基于radius协议的远程用户认证。
2、Web认证的流程:
a、在认证之前,接入设备将未认证用户发出的所有HTTP 请求都拦截下来,并重定向到本机内置Portal,这样在用户的浏览器上将弹出一个认证页面。
b、在认证过程中,用户在认证页面上输入认证信息(用户名、口令、校验码等等)与设备内置portal模块交互。
c、内置Portal模块将用户的认证信息发给接入设备中认证模块
d、认证模块处理用户认证请求,间接向Radius Server发起认证,并将认证结果反馈给Portal服务器。
e、内置Portal向用户推送结果页面(在线页面/认证失败信息等)。详细的原理图如下图所示:
6.png
3、用户下线流程:
a、用户主动点击页面上的下线按钮,选择下线,设备检测到此页面动作,将用户下线。
b、设备检测到终端低流量将用户下线,具体依赖所配置的低流量检测参数而定。
c、R ADIUS服务器因为某种策略原因,将用户踢线,设备向终端推送下线页面。
锐捷各类Web认证的对比
1、认证角色:
客户端:功能一样。
网络设备:锐捷一代Web认证里面,设备只做重定向,以及和Portal 服务器交互用户的上下网通知。锐捷二代Web认证里面,设备需要负责重定向、用户的认证、通告Portal 服务器认证是否成功。内置Portal Web认证里面,设备集成重定向、页面交互、以及用户的认证等功能。
Portal服务器:锐捷一代Web认证里面,Portal服务器负责和客户端的页面交互、用户的认证、通告网络设备用户认证是否可上网。锐捷二代Web认证里面,Portal服务器负责和客户端的页面交互、通告网络设备用户的认证信息、接收网络设备通告的用户是否认证成功。锐捷内置Web认证中,Portal服务器由设备内置实现,功能较为简单,主要负责页面交互过程。
Radius服务器:功能一样。

2、认证流程:
锐捷二代Web认证将认证记账从Portal 服务器迁移到网络设备。
锐捷二代Web认证由于认证在网络设备上,因此就无需等待来自Portal 服务器发送的用户是否可上网的通告。
锐捷内置Web认证将一二代中Portal 服务器功能简化,并移到设备上进行支持。

3、下线流程
锐捷一代Web认证中,下线动作可能来自Portal服务器的通告或者本机的流量检测、端口状态检测。锐捷二代Web认证中,下线动作可能来自Portal服务器的通告、RADIUS服务器的踢线通告、或者本机的流量检测、端口状态检测。锐捷内置Portal Web认证中,下线动作可能来自用户主动点击页面的下线按钮、RADIUS服务器的踢线通告、或者本机的流量检测、端口状态检测。
锐捷一代Web认证中,计费结束报文是Portal 服务器发起的。锐捷二代Web认证中,计费结束报文是设备发起的。锐捷内置Portal Web认证中,计费报文也是由设备发起。
实际网络中是部署一代Web认证,还是部署二代Web认证或内置Web认证,取决于所使用的Portal服务器的类型。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则