portal技术,jamb portal
PORTAL概述
Portal在英语中是入口的意思。 入口身份验证通常也称为Web身份验证,入口身份验证站点称为入口。 它提供了相对简单的用户认证方法,对用户来说比其他认证方式更容易使用。 那个有两大特色。
不需要客户端
只需IE等web浏览器的支持,无需安装专用的客户端或拨号程序就可以为用户提供认证服务。 对于无客户端软件,对于酒店、酒店等公共网络节点,无客户端软件是基本要求。
新的商业生涯
利用门户认证的门户功能,运营商可以将小区广播、广告、信息查询、在线购物等业务承载在门户上。 当用户连接到互联网时,将强制显示上述信息。
门户身份验证的基本方式是在门户页面的显眼位置设置身份验证窗口,用户开机获取IP地址后,登录门户身份验证页面进行身份验证,身份验证通过后即可访问互联网。
对用户来说,访问验证页有两种方法。
主动式入口网站:使用者必须知道入口网站伺服器的IP位址,并主动登入并验证入口网站伺服器,才能存取网路。
强制入口:未经验证的用户访问网址时,首先会强制发送到入口服务器进行验证。 用户不需要记住门户服务器的IP地址。
门户为运营商提供便捷的管理功能,可以基于门户开展广告、社区服务、个性化业务等,使宽带运营商、设备提供商、内容服务提供商形成产业生态系统。
1 PORTAL系统组成
1.1 Portal的四大主要系统
认证客户端
安装在用户终端上的客户端系统,如运行HTTP/HTTPS协议的浏览器或运行Portal客户端软件的主机。 接入终端的安全检查通过门户客户端和安全策略服务器之间的信息交换来进行。
接入设备(BAS ) )。
交换机、路由器等宽带接入设备的总称主要有三个作用。
在验证之前,将用户的所有HTTP请求重定向到门户服务器。
在认证过程中,与门户服务器、安全策略服务器、认证/计费服务器交互,完成认证/安全认证/计费功能。
通过身份验证后,用户将能够访问管理员批准的internet资源。
门户服务器
接收入口认证请求的服务器端系统。 提供免费门户服务和基于Web验证的接口,并与接入设备交互以验证客户端凭据。
认证/计费服务器
与接入设备交互,完成用户的认证和计费。
这四个基本要素的相互作用过程如下。
1 .未经验证的用户访问网络时,如果在Web浏览器的地址栏中输入internet地址,则此HTTP请求将在通过访问设备时重定向到门户服务器的Web验证主页
2 .用户在认证主页/认证对话框中输入并提交认证信息后,门户服务器将用户的认证信息传递给接入设备;
3 .然后,接入设备与认证/计费服务器通信进行认证和计费
4 .通过身份验证后,接入设备将打开用户和互联网的路径,允许用户访问管理员授权的互联网资源。
认证的实现机制
2.1 发起认证的方式
门户身份验证的主流方式之一是无客户端身份验证,如果需要提供更安全、更灵活的功能,也可以通过客户端身份验证方式进行身份验证。 这两种方式的认证过程大致如下。
对于在Web上进行认证的用户,采用重定向HTTP消息的方式,访问机器对用户连接进行TCP phishing和认证客户端,建立TCP连接,将页面重定向到门户服务器,从安装开始恢复认证页面用户通过登录此页面传输用户信息
递给了Portal服务器,随后Portal服务器通过PAP或CHAP的方式向接入设备传递用户信息。接入设备获取到用户信息后,将该信息通过AAA模块完成认证。
对于使用客户端进行认证的用户,直接使用portal协议报文与portal-server进行交互,实现对客户端的相关控制和用户状态的实时上报。随后Portal服务器与接入设备交互,接入设备再通过AAA模块完成认证。
2.2 用户保活机制
用户通过WEB实现认证时,认证后在线窗口处于开打状态,并采用上层的http协议的get动作实现心跳机制,用户下线时需要在该页面上主动点击下线按钮触发下线动作,如果该页面或用户PC不正常关闭,可能导致用户在一定时间内无法手动下线,直到Portal服务器侧超时后,再触发下线动作,通知接入设备将用户下线。
用户使用专用的客户端时,使用Portal握手报文来确认用户是否在线。对于客户端来说,4个心跳没有收到答复,就认为自己已经下线,重新发起认证;对于Portal服务器,在指定的时间内没有收到心跳报文,就认为用户下线,并通知接入设备将用户下线。
2.3 产品实现原理
产品对Portal的实现是基于ACL的,通过QACL模块来支持对用户报文的重定向以及限制用户可以使用的相关资源;通常我们把Portal使用的ACL分为4类(对于底层没有什么区别,主要是查找匹配的顺序)
Type1:FreeIP规则,动作是permit(到Portal-Server的规则为第1个freeip)
Type2:用户认证通过后添加的规则,动作是permit
Type3:用户网段重定向规则,对HTTP报文重定向到CPU(实现认证页面的推出)
Type4:用户网段禁止规则,动作是deny
Portal规则在端口上下发,排列需要有严格的顺序,匹配时按照Type1-4的顺序从前往后排列。如果在一个端口上既有普通ACL规则(通过命令行配置的ACL)下发,又启用了portal,则portal所添加的规则会排列在普通ACL之后。
2.4 PORTAL协议框架
Portal协议主要涉及Portal服务器(Portal Server)和接入设备(BAS),采用C/S结构,基于UDP。
端口定义:
PortalServer通过默认端口(50100)侦听BAS发来的报文;
BAS通过端口2000侦听来自PortalServer的所有报文。
2.5 对EAD系统的支持
通过EAD的系统中的安全策略服务器,Portal可以实现其扩展认证功能,实现基于客户端与安全策略服务器之间的交互来进行后续的安全检测功能。
Portal对EAD的支持需要用户在终端上安装专用的Portal客户端软件,用户在通过Portal认证后,安全策略服务器通过与Portal客户端、接入设备进行交互,完成对用户的安全认证。若对用户采用了安全策略,则用户的安全检测通过之后,安全策略服务器根据用户的安全策略,授权用户访问非受限资源。
Portal在EAD系统中通过联动的机制主动的实施安全策略,联动的基本方式如下:
• 客户端与安全策略服务器联动
1、客户端上线时Portal服务器会在Login-Response报文中携带EAD服务器的IP地址及端口号;
2、用户上线后客户端和安全策略服务器进行交互,服务器下发检查策略,客户端按策略检查所在PC的安全情况,并上报服务器;
3、用户在线过程中客户端仍会定期上报安全情况,以适应动态检测(即EAD心跳),安全检测使用的报文为UDP,通常端口号是9019(Server)/10102(Client)。
• 接入设备与安全策略服务器的联动
H3C对Radius协议进行了扩展,定义了Type20(Session-Control),当用户上线后,通过该类型的Radius报文下发隔离ACL,等通过安全检查后,再下发安全ACL。
认证方式
3.1 认证方式分类
不同的组网方式下,可采用不同的Portal认证方式。按照网络中实施Portal认证的网络层次来分,Portal的认证方式分为两种:二层认证方式和三层认证方式。
• 二层认证方式
二层认证方式支持在接入设备连接用户的二层端口上开启Portal认证功能,只允许源MAC地址通过认证的用户才能访问外部网络资源。目前,该认证方式仅支持本地Portal认证,即接入设备作为本地Portal服务器向用户提供Web认证服务。
• 三层认证方式
三层认证方式支持在接入设备连接用户的三层接口上开启Portal认证功能。三层接口Portal认证又可分为三种不同的认证方式:直接认证方式、二次地址分配认证方式和跨三层认证方式。直接认证方式和二次地址分配认证方式下,认证客户端必须通过二层直接连接到接入设备;跨三层认证方式下,认证客户端和接入设备之间可以跨接三层转发设备。
直接认证
用户在认证前通过手工配置或DHCP直接获取一个IP地址,只能访问Portal服务器,以及设定的free IP地址;认证通过后即可访问网络资源。认证流程相对二次地址分配认证较为简单。
二次地址分配认证
用户在认证前通过DHCP获取一个私网IP地址,只能访问Portal服务器,以及设定的免费访问地址;认证通过后,用户会重新申请到一个公网IP地址,即可访问网络资源。该认证方式解决了IP地址规划和分配问题,对未认证通过的用户不分配公网IP地址。例如运营商对于小区宽带用户只在访问小区外部资源时才分配公网IP。
跨三层认证
和直接认证方式基本相同,但是这种认证方式允许认证用户和接入设备之间跨越三层转发设备。
对于以上三种认证方式,IP地址都是用户的唯一标识。接入设备基于用户的IP地址下发ACL对接口上通过认证的用户报文转发进行控制。由于直接认证和二次地址分配认证下的接入设备与用户之间未跨越三层转发设备,因此接口可以学习到用户的MAC地址,接入设备可以利用学习到MAC地址增强对用户报文转发的控制粒度。
3.2 二层Portal认证过程
(1) Portal用户通过HTTP或HTTPS协议发起认证请求。HTTP报文经过配置了本地Portal服务器的接入设备的端口时会被重定向到本地Portal服务器的监听IP地址,本地Portal服务器提供Web页面供用户输入用户名和密码来进行认证。该本地Portal服务器的监听IP地址为接入设备上一个与用户之间路由可达的三层接口IP地址(通常为Loopback接口IP)。
(2) 接入设备与RADIUS服务器之间进行RADIUS协议报文的交互,对用户身份进行验证。
(3) 如果RADIUS认证成功,则接入设备上的本地Portal服务器向客户端发送登录成功页面,通知客户端认证(上线)成功。
3.3 三层Portal认证过程
直接认证和可跨三层Portal认证的流程
直接认证/可跨三层Portal认证流程:
(1) Portal用户通过HTTP协议发起认证请求。HTTP报文经过接入设备时,对于访问Portal服务器或设定的免费访问地址的HTTP报文,接入设备允许其通过;对于访问其它地址的HTTP报文,接入设备将其重定向到Portal服务器。Portal服务器提供Web页面供用户输入用户名和密码来进行认证。
(2) Portal服务器与接入设备之间进行CHAP(Challenge HandshakeAuthentication Protocol,质询握手验证协议)认证交互。若采用PAP(PasswordAuthentication Protocol,密码验证协议)认证则直接进入下一步骤。
(3) Portal服务器将用户输入的用户名和密码组装成认证请求报文发往接入设备,同时开启定时器等待认证应答报文。
(4) 接入设备与RADIUS服务器之间进行RADIUS协议报文的交互。
(5) 接入设备向Portal服务器发送认证应答报文。
(6) Portal服务器向客户端发送认证通过报文,通知客户端认证(上线)成功。
(7) Portal服务器向接入设备发送认证应答确认。
(8) 客户端和安全策略服务器之间进行安全信息交互。安全策略服务器检测接入终端的安全性是否合格,包括是否安装防病毒软件、是否更新病毒库、是否安装了非法软件、是否更新操作系统补丁等。
(9) 安全策略服务器根据用户的安全性授权用户访问非受限资源,授权信息保存到接入设备中,接入设备将使用该信息控制用户的访问。
步骤(8)、(9)为Portal认证扩展功能的交互过程
二次地址分配认证方式的流程:
二次地址分配认证流程:
(1)~(4)同直接/可跨三层Portal认证中步骤(1)~(4)。
(5) 用户在接入设备上认证成功后,BAS向Portal-Server发送带有IP-Config属性的认证回应报文,指出用户需要更新IP地址。
(6) Portal-Server再向客户端发送带有IP-Config属性的认证通过报文(Login-Response),要求客户程序释放再申请IP地址。
(7) 客户端成功更新IP地址后,向Portal-Server报告更新IP地址成功。
(8) Portal服务器通知接入设备客户端获得新公网IP地址。
(9) 接入设备通过检测ARP协议报文检测到了用户IP变化,并通告Portal服务器已检测到用户IP变化。
(10) Portal服务器通知客户端上线成功。
(11) Portal服务器向接入设备发送IP变化确认报文。
(12) 客户端和安全策略服务器之间进行安全信息交互。安全策略服务器检测接入终端的安全性是否合格,包括是否安装防病毒软件、是否更新病毒库、是否安装了非法软件、是否更新操作系统补丁等。
(13) 安全策略服务器根据用户的安全性授权用户访问非受限资源,授权信息保存到接入设备中,接入设备将使用该信息控制用户的访问。
步骤(12)、(13)为Portal认证扩展功能的交互过程