Portal认证原理

Portal认证原理

简介

Portal认证通常也称为Web认证,一般将Portal认证网站称为门户网站。用户上网时,必须在门户网站进行认证,只有认证通过后才可以使用网络资源。

用户可以主动访问已知的Portal认证网站,输入用户名和密码进行认证,这种开始Portal认证的方式称作主动认证。反之,如果用户试图通过HTTP访问其他外网,将被强制访问Portal认证网站,从而开始Portal认证过程,这种方式称作强制认证。

系统结构

如图1所示,Portal认证系统的典型组网方式由四个基本要素组成:客户端、接入设备、Portal服务器与RADIUS服务器。

1 Portal认证系统组成示意图

1.png

1客户端:安装有运行HTTP协议的浏览器的主机。

2接入设备:交换机、路由器等接入设备的统称,主要有三方面的作用:

        在认证之前,将认证网段内用户的所有HTTP请求都重定向到Portal服务器。

        在认证过程中,与Portal服务器、认证服务器交互,完成对用户身份认证、授权与计费的功能。

        在认证通过后,允许用户访问被管理员授权的互联网资源。

3Portal服务器:接收客户端认证请求的服务器系统,提供免费门户服务和认证界面,与接入设备交互客户端的认证信息。Agile Controller-Campus的业务控制器集成了Portal服务器的功能。

4RADIUS服务器:与接入设备进行交互,完成对用户的认证、授权与计费。Agile Controller-Campus的业务控制器集成了RADIUS服务器的功能。

5Auth服务器:当终端用户通过Web Agent或者AnyOffice发起Portal认证时,会先连接到Auth服务器进行认证,认证通过后,Auth服务器再向Portal服务器发起Portal认证请求。如果终端用户通过Web浏览器发起Portal认证,则不涉及Auth服务器。Agile Controller-Campus的业务控制器集成了Auth服务器的功能。

 

认证方式

不同的组网方式下,可采用的Portal认证方式不同。按照网络中实施Portal认证的网络层次来分,Portal认证方式分为两种:二层认证方式和三层认证方式。

二层认证方式

客户端与接入设备直连(或之间只有二层设备存在),设备能够学习到用户的MAC地址并可以利用IP和MAC地址来识别用户,此时可配置Portal认证为二层认证方式。

二层认证方式支持MAC优先的Portal认证,设备学习到用户的MAC地址后,将MAC地址封装到RADIUS属性中发送给RADIUS服务器,认证成功后,RADIUS服务器会将用户的MAC地址写入缓存和数据库。

二层认证流程简单,安全性高,但由于限制了用户只能与接入设备处于同一网段,降低了组网的灵活性。

三层认证方式

当设备部署在汇聚层或核心层时,在认证客户端和设备之间存在三层转发设备,此时设备不一定能获取到认证客户端的MAC地址,所以将以IP地址唯一标识用户,此时需要将Portal认证配置为三层认证方式。

三层认证跟二层认证的认证流程完全一致。三层认证组网灵活,容易实现远程控制,但由于只有IP可以用来标识一个用户,所以安全性不高。

 

Portal认证上线流程

Web客户端

图2 Portal认证上线流程图(Web)

1.png

1客户端通过HTTP协议发起连接请求。

2HTTP报文经过接入设备时,对于访问Portal服务器或设定的免认证网络资源的HTTP报文,接入设备允许其通过;对于访问其它地址的HTTP报文,接入设备将其URL地址重定向到Portal认证页面。

3用户在Portal认证页面输入用户名和密码,向Portal服务器发起认证请求。

4Portal服务器与接入设备之间进行CHAP(Challenge Handshake Authentication Protocol,质询握手验证协议)认证交互,Portal服务器发起Portal挑战字请求报文(REQ_CHALLENGE)。若采用PAP(Password Authentication Protocol,密码验证协议)认证则Portal服务器无需与接入设备进行PAP认证交互,而直接进行第6步。

5接入设备向Portal服务器回应Portal挑战字应答报文(ACK_CHALLENGE)。

6Portal服务器将用户输入的用户名和密码封装成认证请求报文(REQ_AUTH)发往接入设备。

7接入设备根据获取到的帐号和密码,向RADIUS服务器发送认证请求(ACCESS-REQUEST),其中密码在共享密钥的参与下进行加密处理。

8RADIUS服务器对帐号和密码进行认证。如果认证成功,RADIUS服务器向RADIUS客户端发送认证接受报文(ACCESS-ACCEPT);如果认证失败,则返回认证拒绝报文(ACCESS-REJECT)。由于RADIUS协议合并了认证和授权的过程,因此认证接受报文中也包含了用户的授权信息。

9接入设备根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则接入设备向RADIUS服务器发送计费开始请求报文(ACCOUNTING-REQUEST)。

RADIUS服务器返回计费开始响应报文(ACCOUNTING-RESPONSE),并开始计费,将用户加入自身在线用户列表。如果10开启了MAC优先的Portal认证,RADIUS服务器同时将终端的MAC地址加入服务器缓存和数据库中(只有二层认证方式支持MAC优先的Portal认证)。

Agile Controller-Campus作为RADIUS服务器不支持计费功能,通过计费报文判断用户是否在线,计费报文的发送周期在接入控制设备和Agile Controller-Campus上必配且必须一致。

11接入设备向Portal服务器返回Portal认证结果(ACK_AUTH),并将用户加入自身在线用户列表。

12Portal服务器向客户端发送认证结果报文,通知客户端认证成功,并将用户加入自身在线用户列表。

13Portal服务器向接入设备发送认证应答确认(AFF_ACK_AUTH)。

 

Web Agent/AnyOffice客户端

1.png

1客户端向Auth服务器发起认证请求(LOGIN_REQUEST)。

2Auth服务器向客户端返回认证响应报文(LOGIN_RESPONSE)。Auth服务器会对登录帐号进行密码校验,帐号可用性等的验证,如果验证失败会直接返回认证失败。

3如果配置了终端安全策略,客户端向Auth服务器发送安全检查结果报文(SECURITY_CHECK)。

4客户端信息校验成功,并且安全检查通过,Auth服务器通过mina消息请求Portal服务器向接入设备发起Portal认证。

5Portal服务器与接入设备之间进行CHAP(Challenge Handshake Authentication Protocol,质询握手验证协议)认证交互。Portal服务器发起Portal挑战字请求报文(REQ_CHALLENGE)。若采用PAP(Password Authentication Protocol,密码验证协议)认证则Portal服务器无需与接入设备进行PAP认证交互,而直接进行第7步。

6接入设备向Portal服务器回应Portal挑战字应答报文(ACK_CHALLENGE)。

7Portal服务器将用户输入的用户名和密码封装成认证请求报文(REQ_AUTH)发往接入设备。

8接入设备根据获取到的帐号和密码,向RADIUS服务器发送认证请求(ACCESS-REQUEST),其中密码在共享密钥的参与下进行加密处理。

9RADIUS服务器对帐号和密码进行认证。如果认证成功,RADIUS服务器向RADIUS客户端发送认证接受报文(ACCESS-ACCEPT);如果认证失败,则返回认证拒绝报文(ACCESS-REJECT)。由于RADIUS协议合并了认证和授权的过程,因此认证接受报文中也包含了用户的授权信息。

10接入设备根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则接入设备向RADIUS服务器发送计费开始请求报文(ACCOUNTING-REQUEST)。

11RADIUS服务器返回计费开始响应报文(ACCOUNTING-RESPONSE),并开始计费,将用户加入自身在线用户列表。如果开启了MAC优先的Portal认证,RADIUS服务器同时将终端的MAC地址加入服务器缓存和数据库中(只有二层认证方式支持MAC优先的Portal认证)。

Agile Controller-Campus作为RADIUS服务器不支持计费功能,通过计费报文判断用户是否在线,计费报文的发送周期在接入控制设备和Agile Controller-Campus上必配且必须一致。

12接入设备向Portal服务器返回Portal认证结果(ACK_AUTH),并将用户加入自身在线用户列表。

13Portal服务器向Auth服务器返回Portal认证结果,并向接入设备发送认证应答确认(AFF_ACK_AUTH)。

14Auth服务器向客户端发送认证结果报文,通知客户端认证成功,并将用户加入自身在线用户列表。

 

客户端主动注销Portal认证下线流程

Web客户端

图4 客户端主动注销Portal认证下线流程(Web)

1.png

1客户端发起注销认证请求。

2Portal服务器向接入设备发送下线通知报文(REQ_LOGOUT)。

3接入设备向RADIUS服务器发送计费停止报文(ACCOUNTING-REQUEST),并将用户从在线列表中删除。

4RADIUS服务器返回计费结束响应报文(ACCOUNTING-RESPONSE),并将用户从在线列表中删除。

如果开启了MAC优先的Portal认证,终端主动注销认证,只会注销当次会话,RADIUS服务器不会将MAC地址从服务器缓存和数据库中清除,所以不会造成MAC优先的Portal认证失效。

5接入设备向Portal服务器发送用户下线响应报文(ACK_LOGOUT)。

6Portal服务器将用户从在线列表删除,用户下线。

Web Agent/AnyOffice客户端

图5 客户端主动注销Portal认证下线流程(Web Agent/AnyOffice)

1.png

1客户端发起注销认证请求。

2Auth服务器通知Portal服务器用户下线。

3Portal服务器向接入设备发送下线通知报文(REQ_LOGOUT)。

4接入设备向RADIUS服务器发送计费停止报文(ACCOUNTING-REQUEST),并将用户从在线列表中删除。

5RADIUS服务器返回计费结束响应报文(ACCOUNTING-RESPONSE),并将用户从在线列表中删除。

如果开启了MAC优先的Portal认证,终端主动注销认证,只会注销当次会话,RADIUS服务器不会将MAC地址从服务器缓存和数据库中清除,所以不会造成MAC优先的Portal认证失效。

6接入设备向Portal服务器发送用户下线响应报文(ACK_LOGOUT)。

5Portal服务器向Auth服务器返回下线结果。

8Auth服务器通知客户端下线,并将用户从在线列表删除。

管理员在业务管理器强制终端用户Portal认证下线流程

 

Web客户端

当管理员在SM强制用户下线时,SM会同时发下线通知给RADIUS服务器和Portal服务器,然后RADIUS服务器和Portal服务器分别给接入设备发送下线通知。根据设备接收到下线报文的先后不同,处理流程不同:

    情况1:设备先收到RADIUS服务器发来的下线通知

    情况2:设备先收到Portal服务器发来的下线通知

图6 管理员在业务管理器强制终端用户Portal认证下线流程(Web)情况1

1.png

图7 管理员在业务管理器强制终端用户Portal认证下线流程(Web)情况2

1.png

1管理员在SM强制终端用户下线。

2SM同时通知RADIUS服务器和Portal服务器用户下线。

3RADIUS服务器和Portal服务器同时向接入设备发送下线通知报文(REQ_LOGOUT)。

4接入设备根据接收到报文的先后进行处理。

    如果先接收到RADIUS服务器的下线报文,接入设备向RADIUS服务器发送停止计费请求报文(ACCOUNTING-REQUEST),同时向Portal服务器发送用户在设备上主动下线通知报文(NTF_LOGOUT),并将用户从在线列表中删除。

    如果先接收到Portal服务器的下线报文,接入设备向Portal服务器发送下线响应报文(ACK_LOGOUT),同时向RADIUS服务器发送停止计费请求报文(ACCOUNTING-REQUEST),并将用户从在线列表中删除。

5RADIUS服务器向接入设备发送停止计费响应报文(ACCOUNTING-RESPONSE),同时将用户从在线列表中删除。如果是情况1,Portal服务器会向接入设备发送下线响应报文(ACK_NTF_LOGOUT);如果是情况2,Portal服务器会向接入设备下发响应确认报文(AFF_ACK_LOGOUT),同时将用户从在线列表中删除。

如果开启了MAC优先的Portal认证,管理员在SM强制用户下线时,会同时通知RADIUS服务器将终端MAC地址信息清除,所以RADIUS服务器将用户从在线列表中删除时,如果MAC地址还未过期,同时会将MAC地址从服务器缓存和数据库中清除。

 

Web Agent/AnyOffice客户端

当管理员在SM强制用户下线时,SM会同时发下线通知给RADIUS服务器和Portal服务器,然后RADIUS服务器和Portal服务器分别给接入设备发送下线通知。根据设备接收到下线报文的先后不同,处理流程不同:

 情况1:设备先收到RADIUS服务器发来的下线通知

 情况2:设备先收到Portal服务器发来的下线通知

图8 管理员在业务管理器强制终端用户Portal认证下线流程(Web Agent/AnyOffice)情况1

1.png

图9 管理员在业务管理器强制终端用户Portal认证下线流程(Web Agent/AnyOffice)情况2

1.png

1管理员在SM强制终端用户下线。

2SM同时通知RADIUS服务器和Portal服务器用户下线。

3RADIUS服务器和Portal服务器同时向接入设备发送下线通知报文(REQ_LOGOUT)。

4接入设备根据接收到报文的先后进行处理。

    如果先接收到RADIUS服务器的下线报文,接入设备向RADIUS服务器发送停止计费请求报文(ACCOUNTING-REQUEST),同时向Portal服务器发送用户在设备上主动下线通知报文(NTF_LOGOUT),并将用户从在线列表中删除。

    如果先接收到Portal服务器的下线报文,接入设备向Portal服务器发送下线响应报文(ACK_LOGOUT),同时向RADIUS服务器发送停止计费请求报文(ACCOUNTING-REQUEST),并将用户从在线列表中删除。

5RADIUS服务器向接入设备发送停止计费响应报文(ACCOUNTING-RESPONSE),同时将用户从在线列表中删除。如果是情况1,Portal服务器会向接入设备发送下线响应报文(ACK_NTF_LOGOUT);如果是情况2,Portal服务器会向接入设备下发响应确认报文(AFF_ACK_LOGOUT)。

如果开启了MAC优先的Portal认证,管理员在SM强制用户下线时,会同时通知RADIUS服务器将终端MAC地址信息清除,所以RADIUS服务器将用户从在线列表中删除时,如果MAC地址还未过期,同时会将MAC地址从服务器缓存和数据库中清除。

6Portal服务器通知Auth服务器用户下线。

7Auth服务器通知用户下线,同时将用户从在线列表删除。



Huawei Agile Controller(列表、list、全)华为AClist、敏捷控制器list

http://www.zh-cjh.com/wenzhangguilei/3224.html

文章归类、所有文章列表、LISTLIST
http://www.zh-cjh.com/wangzhangonggao/2195.html


1、本站资源长期持续更新。
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。

转载请保留出处:  www.zh-cjh.com珠海陈坚浩博客 » Portal认证原理

作者: cjh


手机扫一扫,手机上查看此文章:

一切源于价值!

其他 模板文件不存在: ./template/plugins/comment/pc/index.htm

未雨绸缪、居安思危!

数据安全、有备无患!

注意操作、数据无价!

一切源于价值!