展示柜货号:未知 VPN 单点登录业务系统解决方案 - 基础篇
单点登录(Single Sign On,简称SSO)的作用是在多个应用系统中,终端用户只需要一次登录就可以访问所有相互信任的应用系统。SSO使用户可以快速访问网络,从而提高工作效率,提升用户使用体验。在SSL VPN的使用场景中,对于后台业务系统的单点登录需求较为广泛。SSO也是目前比较流行的企业业务整合的解决方案之一。
华耀AG VPN网关的解决方案中可以提供多种接入方式,主要分为基于浏览器或MotionPro应用接入方式。当管理员在AG上配置并打开SSO功能模块,无论用户是使用浏览器或者使用MotionPro APP进行访问,当用户完成VPN认证后,能够在欢迎页面上看到被授权访问的各种后台资源;当用户点击页面某链接访问对应资源(如OA系统)时,则无需再次认证,便可直接进入系统(OA系统)业务界面。
另外针对客户环境中部署了统一的认证平台的场景中,AG可以与统一认证平台协同工作实现业务系统的单点登录功能,即:实现只需登录一次VPN,便可访问VPN之后所有的应用系统,而无需多次重复登录。
当业务系统的认证方式是Basic认证或NTLM认证时,管理员只需要在AG WebUI页面或者通过命令行打开单点登录SSO开关,AG则会自动提交登录信息。
2)认证成功后,AG为用户创建会线)用户通过AG向后台服务器发起请求,该服务器需要Basic认证。
5)AG收到此401报文后,将用户名和密码组合成 username:password 的形式,再进行编码,将编码后的值放在请求头部的Authorization字段中。然后向服务器发起请求。
简单概括:单点登录开启后,AG 模拟了终端用户在客户端浏览器的弹出窗口中输入认证信息并提交的过程。
此场景中,业务系统支持Form表单的POST请求,在POST的数据中携带用户名和静态密码或者其他静态数据。
此场景可以通过在AG上配置SSO POST规则来实现;实现原理是,当用户登录AG虚拟站点后,在欢迎页面上点击业务系统链接时,AG服务器通过HTTP POST的方式将用户名和静态密码以及配置的其他静态数据统一发送至业务系统,完成认证流程。
2)认证成功,AG为用户创建会线)用户通过AG向后台服务器发起请求,该服务器需要认证。
5)AG检测到认证页面是需要进行SSO POST的页面,则发送表单POST请求,携带用户名和登录AG的密码,到指定的URL(SSO POST规则中配置)。
6)服务器验证用户名密码,通过后,返回资源页面,建立用户会线)用户进入服务器资源页面,通过AG与服务器进行数据交互。
方案特点:POST请求由AG在后端发送而不是客户端浏览器发送;通过七层访问,请求没有跨域。
此场景与上一个场景基本一致,唯一区别在于该场景使用的是三层隧道访问模式。
此场景方案的实现除了需要在AG上配置SSO POST规则之外,还需在配置角色资源时选择前端SSO。该方案的实现原理是,当用户登录AG虚拟站点,三层VPN隧道建立之后,在欢迎页面上点击业务系统链接时,AG会组装一个页面,此页面中会有一个表单,表单数据包含了登录AG的用户名和静态密码以及其他需要传输的静态数据。这个页面会被重定向到客户端,客户端浏览器通过HTTP POST的方式将用户名和静态密码以及配置的其他静态数据一并发送至业务系统完成认证流程。
1)用户输入用户名密码登录AG。2)认证成功后,AG为用户创建会话,同时启动三层VPN隧道。
【注意】后台服务器的URL链接是显示在AG的欢迎页面上,此URL是按照某种特定的格式进行了拼装,用户在页面上点击该链接访问时,AG会进行特殊处理。
4)AG检测到该请求是需要进行SSO POST的页面,则组装一个动态的HTML页面,将真实的后台服务器URL、用户名和密码字段封装在Form表单中,并使用Javascript代码让表单自动提交。AG将此HTML页面重定向到客户端浏览器。
5)浏览器发送表单POST请求,携带用户名和登录AG的密码,到指定的URL。
6)服务器验证用户名密码,通过后,返回资源页面,建立用户会线)用户进入服务器资源页面,与服务器直接进行数据交互。
以上就是单点登录需求中最为简单的几个场景,配置简单,但是由于现在客户业务系统的复杂性的提高以及安全性的增强,这几种场景已经很难满足最新的客户单点需求。我们会在接下来的文章中深入的介绍更复杂更完善的单点登录实现方案。