Portal认证简介
Portal认证通常也称为Web认证,一般将Portal认证网站称为门户网站。用户上网时,必须在门户网站进行认证,只有认证通过后才可以使用网络资源。
用户可以主动访问已知的Portal认证网站,输入用户名和密码进行认证,这种开始Portal认证的方式称作主动认证。反之,如果用户试图通过HTTP访问其他外网,将被强制访问Portal认证网站,从而开始Portal认证过程,这种方式称作强制认证。
内置portal认证———指的就是会话认证。
外置Portal认证
Portal认证特点:
- 不需要安装客户端,直接使用Web页面认证,使用方便,减少客户端的维护工作量。
- 便于运营,可以在Portal页面上开展业务拓展,如广告推送、责任公告、企业宣传等。
- 技术成熟,被广泛应用于运营商、连锁快餐、酒店、学校等网络。
应用场景:
- 访客接入
- 低成本混合接入:Portal + MAC旁路。
Portal认证系统结构:
Portal认证系统的典型组网方式由四个基本要素组成:客户端、接入设备、Portal服务器与RADIUS服务器。
- 客户端:安装有运行HTTP协议的浏览器的主机。
- 接入设备:交换机、路由器等接入设备的统称,主要有三方面的作用:
- 在认证之前,将认证网段内用户的所有HTTP请求都重定向到Portal服务器。
- 在认证过程中,与Portal服务器、RADIUS服务器交互,完成对用户身份认证、授权与计费的功能。
- 在认证通过后,允许用户访问被管理员授权的互联网资源。
- Portal服务器:接收客户端认证请求的服务器系统,提供免费门户服务和认证界面,与接入设备交互客户端的认证信息。Agile Controller-Campus的业务控制器集成了Portal服务器的功能。
- RADIUS服务器:与接入设备进行交互,完成对用户的认证、授权与计费。Agile Controller-Campus的业务控制器集成了RADIUS服务器的功能。
- Auth服务器:当终端用户通过Web Agent或者AnyOffice发起Portal认证时,会先连接到Auth服务器进行认证,认证通过后,Auth服务器再向Portal服务器发起Portal认证请求。如果终端用户通过Web浏览器发起Portal认证,则不涉及Auth服务器。Agile Controller-Campus的业务控制器集成了Auth服务器的功能。
Portal认证原理:
认证方式:
不同的组网方式下,可采用的Portal认证方式不同。按照网络中实施Portal认证的网络层次来分,Portal认证方式分为两种:二层认证方式和三层认证方式。
二层认证方式
客户端与接入设备直连(或之间只有二层设备存在),设备能够学习到用户的MAC地址并可以利用IP和MAC地址来识别用户,此时可配置Portal认证为二层认证方式。
二层认证方式支持MAC优先的Portal认证,设备学习到用户的MAC地址后,将MAC地址封装到RADIUS属性中发送给RADIUS服务器,认证成功后,RADIUS服务器会将用户的MAC地址写入缓存和数据库。
二层认证流程简单,安全性高,但由于限制了用户只能与接入设备处于同一网段,降低了组网的灵活性。
三层认证方式
当设备部署在汇聚层或核心层时,在认证客户端和设备之间存在三层转发设备,此时设备不一定能获取到认证客户端的MAC地址,所以将以IP地址唯一标识用户,此时需要将Portal认证配置为三层认证方式。
三层认证跟二层认证的认证流程完全一致。三层认证组网灵活,容易实现远程控制,但由于只有IP可以用来标识一个用户,所以安全性不高。
Web客户端,Portal认证上线流程:
- 客户端通过HTTP协议发起连接请求。
- HTTP报文经过接入设备时,对于访问Portal服务器或设定的免认证网络资源的HTTP报文,接入设备允许其通过;对于访问其它地址的HTTP报文,接入设备将其URL地址重定向到Portal认证页面。
- 用户在Portal认证页面输入用户名和密码,向Portal服务器发起认证请求。
- Portal服务器与接入设备之间进行CHAP(Challenge Handshake Authentication Protocol,质询握手验证协议)认证交互,Portal服务器发起Portal挑战字请求报文(REQ_CHALLENGE)。若采用PAP(Password Authentication Protocol,密码验证协议)认证则Portal服务器无需与接入设备进行PAP认证交互,而直接进行第6步。
- 接入设备向Portal服务器回应Portal挑战字应答报文(ACK_CHALLENGE)。
- Portal服务器将用户输入的用户名和密码封装成认证请求报文(REQ_AUTH)发往接入设备。
- 接入设备根据获取到的帐号和密码,向RADIUS服务器发送认证请求(ACCESS-REQUEST),其中密码在共享密钥的参与下进行加密处理。
- RADIUS服务器对帐号和密码进行认证。如果认证成功,RADIUS服务器向RADIUS客户端发送认证接受报文(ACCESS-ACCEPT);如果认证失败,则返回认证拒绝报文(ACCESS-REJECT)。由于RADIUS协议合并了认证和授权的过程,因此认证接受报文中也包含了用户的授权信息。
- 接入设备根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则接入设备向RADIUS服务器发送计费开始请求报文(ACCOUNTING-REQUEST)。
- RADIUS服务器返回计费开始响应报文(ACCOUNTING-RESPONSE),并开始计费,将用户加入自身在线用户列表。如果开启了MAC优先的Portal认证,RADIUS服务器同时将终端的MAC地址和Portal认证连接的SSID加入服务器缓存和数据库中(只有二层认证方式支持MAC优先的Portal认证)。
- 接入设备向Portal服务器返回Portal认证结果(ACK_AUTH),并将用户加入自身在线用户列表。
- Portal服务器向客户端发送认证结果报文,通知客户端认证成功,并将用户加入自身在线用户列表。
- Portal服务器向接入设备发送认证应答确认(AFF_ACK_AUTH)。
Web Agent、AnyOffice客户端认证流程:
Web客户端自动注销Portal认证下线:
MAC优先的Portal认证:
是指终端在接入时先尝试MAC认证,认证失败后再尝试Portal认证。
应用场景:保证终端进出无线信号覆盖区导致Portal在线用户掉线后能够自动上
线,避免用户频繁输入帐号密码进行认证,提升接入体验。
MAC优先的Portal认证本质上是Portal认证,用来解决在无线环境下终端用户通过Portal认证之后,因无线信号不稳定或终端用户离开无线信号覆盖区域导致终端用户掉线,终端用户需要频繁在Web浏览器上输入帐号和密码重新认证才能接入网络。有线环境下不存在信号不稳定的情况,所以一般无需启用MAC优先。
MAC优先的Portal认证的原理是,在终端用户通过Portal认证之后,RADIUS服务器会自动保存终端的MAC地址和无线热点的SSID,MAC地址的有效期由管理员在全局参数自行设定。当终端因无线信号不稳定或离开无线信号覆盖区域导致终掉线而重新尝试接入网络时,接入控制设备会把终端的MAC地址发到RADIUS服务器进行认证。
- 如果终端的MAC地址还保存在RADIUS服务器,则RADIUS服务器会通知接入控制设备予以放行,终端用户无须输入帐号和密码即可自动完成身份认证过程。
- 如果终端的MAC地址在RADIUS服务器已经过期,则RADIUS服务器自动会把保存的终端MAC地址和无线热点SSID记录删除。MAC地址认证失败之后,接入控制设备会向终端用户推送Portal认证页面。终端用户输入帐号和密码完成身份认证过程。
配置Portal认证思路
交换机配置思路:
1 | 交换机部分 |
检查:
1 | 检查: |
AC部分配置:
启动portal服务器
用户组和用户
portaluser Huawei@123- 认证规则
- 授权规则
A. 动态策略元素(动态ACL)
B. 授权结果
C. 授权
Portal配置示例
配置要求:
通过在交换机和AC上配置Portal认证,使客户端能通过浏览器正常上网认证。
交换机配置:
1 | web-auth-server portal_policy |
AC部分:
增加设备,开启Portal认证功能
创建Portal用户部门、账号。
配置认证规则:
配置动态ACL,配置授权结果。
配置授权规则
检查测试:
Portal认证成功页面。
交换机上在线用户状态:
参考文档:华为HedEx文档