求ESSO系统化的解决方案
ESSO统一身份认证和单点登录平台解决方案 http://www5636com/netbar/xitong/ 一.统一认证和单点登录的需求 企事业经过多年的信息化建设,已经形成了一大批比较成熟的应用系统,其涉及的应用面覆盖了企事业的大部分生产或业务,政府部门包括办公系统,人事系统,财务系统、信息管理系统等,对于企业还有生产调度系统、劳资管理系统、设备管理系统、PDM或ERP系统等。 由于历史的原因,各应用系统在开发的初期都是独立进行的,造成了彼此之间操作上的割裂和数据之间通信的割断。每一个系统都需要用户输入用户名和密码才能登录。随着业务的发展,企事业将来会增加到几十个应用系统在网上运行。尤其对于一些权限较高或是涉及业务较多的用户,如果每一个系统都需要他们进行密码的验证,那么用户使用系统的不便性是可想而知的。因此经常会有一些用户将多个系统设置成同一密码或是将记不住的密码写在纸上贴在桌子上,这样,对业务系统的访问存在着极大的安全隐患,使一些别有用心的工作人员有机会利用他人密码登录系统,进行非法操作,也会给发生重大事故后的责任追查带来困难。 并且随着企业内控要求的加强,需要企业内部应用系统加强密码管理,每一个应用系统都需要在三个月内更换一次密码,记不住密码变得经常发生。而系统管理员的也被拖入了繁琐的重置用户密码的工作之中,无形中增加了管理员的Help Desk工作。 针对于上述情况,企事业单位需要建设一个单点登录平台,通过一次认证登录后就可访问所有有权访问的应用系统,避免频繁登录,并且能够保证用户身份的合法性和唯一性,对于应用系统的访问建立一套完整的安全防护和用户管理机制,以解决如下问题: 如何避免记忆多个密码? 如何避免频繁登录? 如何确保用户身份的唯一性,确保系统访问的安全性? 如何减少help-desk花费在用户上的时间? 如何为新建系统架构统一用户身份和认证平台? 如何对企业各应用系统的访问进行监控和跟踪,确保访问的安全性? 如何不更改用户应用程序的情况下实现上述需求? 如何在异构的环境中实现上述的需求? 二.Epass SSO简介 面对用户的重复登录和系统管理员的繁琐工作,Epass SSO单点登录平台提供了完善的解决方案,在异构的IT系统中实现集中和便捷的身份认证、单点登录、身份管理,资源管理和集中审计,以满足企业对信息系统使用的方便性和安全管理的需求。 国内领先的支持C-S和B-S架构的单点登录实现机制Epass SSO(Single sign-on)系统是针对国内企业信息化发展现状而开发的应用系统管理软件。它摈弃了传统的单点登录技术的实现方式,抛弃了系统改造,应用大包大揽的整合方案,采用“即插即用”方式,达到“一点登录,全网漫游”的访问机制。其实现方式与应用系统的操作平台、开发平台、开发语言、数据库、Web服务器无关。可以在不改变现有软硬件及网络环境的前提下,无缝地将用户各种现有的应用系统整合到单点登录平台上,实现一次登录后就可访问所有的应用系统。真正体现了与“应用无关”的完美集成概念。 三.Epass SSO原理 对系统改造 这种SSO实现原理是,SSO 系统提供各种API,Agent代理,对原有应用系统进行改造,改变原有应用系统的认证方式,同时采用认证服务器提供的技术进行身份认证。这种解决方案,一般要求用户先统一所有应用系统的用户数据库。把用户的信息统一后,才可实现单点登录功能。 在修改应用的技术方案中,每个应用服务器中都需要安装一个代理程序完成用户的身份认证工作。当用户访问目标应用服务器时,代理程序向SSO服务器询问该用户是否已经登录,如果是,则代理程序从SSO服务器中取得该用户的用户信息自动登录该应用系统。登录成功后,用户直接访问该目标服务器。如果未曾登录过任何应用服务器,则该应用要求用户进行身份认证,认证结束后,代理程序将认证结果发送给SSO服务器。 即插即用 即插即用解决方案,它对企业内部的各种应用程序不进行修改,通过系统配置的工作来实现。它的实现机制采用二次登录技术,与原有系统的开发语言,操作系统,数据库,应用平台类型等无关。这种解决方案在认证服务器上保存用户所有应用系统的用户名/口令信息列表,认证服务器上采用透明转发机制,自动帮用户实现登录过程。 它的基本工作原理为:首先针对每个应用系统进行配置,产生一个配置文件;用户登录到单点登录服务器上;用户访问应用系统时,单点登录服务器调用对应于该应用的配置文件,将对应该应用的用户认证信息(用户名/口令)取出,代理用户登录应用系统;登录成功后,用户可以访问应用系统。 推荐使用此种方式。 四.Epass SSO功能 系统功能结构如下图所示: 五.Epass SSO特点 1)应用无关性 保护所有类型的应用系统,可以保护基于各种协议,平台和开发语言的应用系统,无论是B/S结构的还是C/S结构的。 2)即插即用 无需对系统做任何改造,保持现有的软硬件及网络环境不变 保持用户原有的使用习惯 3)高安全性 基于数字证书的强身份认证机制,通过Epass-CA数字证书认证系统为用户发放数字证书(见Epass-CA系统技术白皮书),同时兼容第三方CA认证机构颁发的证书。 自带防火墙安全防范机制,以确保系统本身的安全性和业务系统的安全性。 移动用户可使用加密机制,将用户访问内部系统时在网上传输的数据进行加密处理,实现安全的远程访问。 4)高可靠性 对于大用户量的访问,Epass SSO支持主备部署方式,以避免单点故障。用户可以在网内部署多台Epass SSO服务器,以平衡不同服务器之间的认证请求。 5)可扩展性 对于用户的需求,可以定制开发,按企事业自身的特点和实际情况实现不同的功能。 提供不同的开发API,使用认证API可以将应用系统的认证被Epass系统整合。并为其他认证方式,如动态密码认证,预留接口等,以适应企业的认证需求。 对于新建设的应用系统提供开放的标准的接口规范,在此标准指导下,可将应用完全纳入Epass平台的统一管理中,实现统一认证,单点登录。 6)跨平台性 与平台无关,可以方便的在任何操作系统上实施,与其他系统具有很好的兼容性。 基于LDAP技术:提供了强大的跨平台性和跨应用管理能力,为企业其他系统共享资源提供基础。也便于其他应用系统采用同一标准开发纳入统一认证管理平台。
求采纳
原因如下:
增值税专用发票及普通发票抄报失败原因:(-960016049)业务受理转发连接处理异常,可能是处理服务器地址配置错误或是通过业务受理无法访问业务处理,建议税务局业务受理平台的管理员登录到业务受理服务器telent或浏览器测试配置的地址的可用性。
单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录。当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。这种方式减少了由登录产生的时间消耗,辅助了用户管理,是目前比较流行的。
单点登录的使用场景有很多,C/S、B/S架构的系统均可使用,通常是支持快速配置使用。
业内目前实现SSO的方式有很多种,在ToC场景下互联网公司通常使用的是OAuth2协议,而ToB场景下大家通常是囊括百家,既支持OAuth2又支持CAS,还滴支持LDAP。其造成的原因主要是因为在ToB场景下需要对接SSO的系统通常仅支持某个协议,而这类系统又不是同一个协议导致。
而我当前境况下就是既有ToC场景又有ToB场景,在该种情况下,我开始对其业内的各种协议进行整合集成,这一系列文章将对其业内各个协议从基础到深入、从搭建到二次开发进行记录,同时将其整理出来分享给大家。
CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议。CAS 是 耶鲁大学 (Yale University)发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的 单点登录 方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。
其主结构由CAS Server、CAS Client两部分组成。下图为官方提供的结构图,大家可以作为参考进行理解。
补充:我进行翻阅了一些资料和科学上网上面论坛的 文章 ,发现我该节文章存在错误,特此对于大家进行补充说明:
${configurationKey} 属于文档中的快速替换标记,无法有效使用到配置文件中,无法做到公共属性使用。本节下面的操作无效了,只能根据不同的组件替换${configurationKey}为文档中的标记。就如我们之前编写的那样。
例如:官方文档中Password encoding settings for this feature are available here under the configuration key casauthnfile 这时我们点击跳转后的位置中使用的${configurationKey}需要替换为casauthnfile进行使用。
随着我们对于CAS Server的深入研究,各类组件发现其都需要使用一些公共的配置,而这些公共的配置中还有部分的差异化,为了降低application-devproperties文件中配置的复杂性,我们去查阅了官方文档,并对其进行了更改,下面我们就以之前我们在第二节中的配置进行修改。
1、打开application-devproperties修改如下:
注:
2、在IDEA中的Terminal输入如下,进行编译
3、启动tomcat并进行访问测试,登录正常。
至此我们的配置变更完成,其中${configurationKey}开头的配置都是共用配置,至于哪些配置可以共用,可以参见 官方文档 进行查阅配置。
下一节,我们将利用公共配置,配置其他的组件来使用,欢迎大家持续关注。
中国互联网十多年发展,门户网站也走过了几个阶段。门户网站发展的初期,各门户网站不约而同地在内容上和功能上发力,争相提供新闻、BBS、电子邮件、搜索等基础性服务。各增值业务系统用户的急剧增加和分散管理使得门户网站的管理和维护成本不断增加,每日大量用户的登录和网络活动,其口令等敏感信息的安全性传输和存储问题也日益突出,这些问题直接影响着网站整体运营质量和安全性。
以上问题在当今竞争激烈的门户网站运营市场是一个非常普遍性的问题。谁先解决这些问题,谁就先赢得商机。对于快速发展的门户网站,建立一套高效、稳定的统一身份认证系统刻不容缓。北京时代亿信科技有限公司基于多年安全认证系统的研发和验证,为门户网站提供安全易用的统一身份认证方案,以下以湖北某ASP的门户网站建设为例加以说明。
需求描述
该门户网站是一个集新闻、电子邮件、短信以及各种网络增值业务和无线资讯为一体的综合平台。同时,视频点播(VOD)、小灵通充值等多个电信增值业务系统也正规划引入平台内。目前,该门户网站总用户数在100万左右,但是没有统一的用户管理,各个业务系统相互独立。用户每次在访问各业务系统时都需要以用户名/口令的方式进行登录认证。用户需要记忆多个帐户和口令,在使用时需要多次输入,给用户带来了很大不便。同时,用户的登录认证采用明文方式传输,容易造成口令等敏感信息的泄露、窃取,给业务系统带来安全威胁。
综合多方考虑,该门户网站决定在对现有的网络结构不做大的改动的前提下,增加一定的设备和系统,构建统一身份认证平台,为异构业务系统提供统一的身份认证和综合的安全服务,以实现系统资源的整合、用户的统一管理和认证、多业务系统的单点登录,提升门户网站的管理和运营水平。
解决方案
时代亿信根据该门户网站的具体情况及SSO技术,提供了集身份认证、单点登录、集中管理和安全通道为一体的解决方案。统一身份认证平台由管理系统、认证服务器、认证数据库以及业务系统的认证前置程序组成。实施统一认证后系统的网络结构如下图所示:
在现有的系统结构中需要增加数据库服务器和认证服务器两部分,同时在各业务系统上需要部署认证接入前置程序。
综合该门户网站的现状考虑,建议统一身份认证系统的WEB/应用服务器通过两台以上主机做Cluster进行负载均衡,认证服务器和数据库服务器分别用两台主机进行主从热备。
具体应用
时代亿信为该门户网站构建统一的管理平台,增加了以下内容:
1> 门户通行证和注册入口:首先用户通过在平台上注册信息,成为平台用户。通过门户通行证登录门户系统,经平台认证的用户可以根据自己权限访问各个具体的业务系统,而且用户在通过平台认证后,只要IE浏览没有关闭,用户可在各业务系统间随意切换,不需要再次的输入用户登录信息,给网站用户带来了极大的方便。认证原理如下图所示:
2> 门户中增加平台管理系统:平台管理系统基于WEB方式来完成,主要包括:用户管理、业务系统及其配置管理、访问控制管理、监控与日志。
3> 门户系统增加用户与业务系统帐户的Mapping页面:用户在使用门户通行证登录门户后,第一次访问业务系统时,需要完成与业务系统帐户的映射(mapping),该页面根据认证平台中业务系统的配置自动生成。
4> 门户首页中各业务系统的链接地址更改为虚拟地址:实施统一认证后,门户首页中的各业务系统链接地址均改为虚拟地址,用户点击该地址时,平台首先检查用户是否已登录门户通行证,如果没有则跳转到门户通行证的登录页面,登录后在再通过认证服务器和业务系统认证前置程序之间的SSL加密通道自动认证,直接进入要访问的业务系统。
改造后的门户网站系统,实现了一下功能:
资源整合:认证平台以资源整合为中心,通过平台的管理系统和数据库,统一用户资源和各增值业务系统,实现用户的统一管理和访问控制,实现各系统资源的统筹管理。
身份认证和单点登录:认证平台通过统一的用户帐户对用户身份进行认证,在通过平台认证后,用户可直接访问各个业务系统,实现用户身份认证信息的共享,从而达到多业务系统的单点登录。
安全通道:认证平台提供两种安全通道:一种是单向SSL加密,一种是双向SSL加密安全通道,充分保证登录认证过程和业务系统访问过程的安全性。
方案特点
对现有的网络架构改动较小,不影响现有的业务运行;
实现了对多个业务系统的用户统一身份认证、单点登录和访问控制;
实现了认证过程中用户帐户信息的安全传输;
系统的部署实施简便,且有强大的管理功能;
系统易于扩展,增加新的业务系统不影响其他业务系统的正常运行。
用户操作使用方便,形式上易于接受。
1 技术背景介绍
11 Windows域
Windows域是一种应用层的用户及权限集中管理技术。当用户通过Windows系列操作系统的登录界面成功登录Windows域后,就可以充分使用域内的各种共享资源,同时接受Windows域对用户访问权限的管理与控制。目前,很多企业、机构和学校都使用域来管理网络资源,用于控制不同身份的用户对网络应用及共享信息的使用权限。
12 8021x
8021x是一种网络接入层的用户访问控制和认证技术,可以限制未经授权的用户访问企业局域网络。在用户认证通过之前,8021x协议只允许认证报文通过以太网端口;认证通过以后,正常的数据报文才可以顺利地通过以太网端口。8021x技术在以太网络环境中提供了一种灵活的、认证和业务分离的网络接入控制手段。
13 Windows域和8021x统一认证面临的难题
随着企业信息化进程的深入推进,很多企业已经建立了基于Windows域的信息管理系统,通过Windows域管理用户访问权限和应用执行权限。然而,基于Windows的权限控制只能作用到应用层,而无法实现对用户的物理访问权限的控制,任何用户均可随意接入企业网络,就给企业网的网络和应用安全带来很多隐患。为了更加有效地控制和管理网络资源,提高网络接入的安全性,企业网络的管理者希望借助8021x认证实现对网络接入用户的身份识别和权限控制。
但是,将8021x接入认证与域认证结合以加强网络安全的方案在具体的实施过程中却遇到了棘手的问题:
问题一:Windows域登录认证要求用户必须首先接入网络,建立用户与域控制器间的网络连接,然后才可以登录并进入桌面。而一般的8021x认证需要用户首先进入桌面,然后才可以进行网络接入认证、建立网络连接。两种认证之间的时序依赖关系产生了尖锐的矛盾,导致使用8021x进行网络接入认证的用户无法登录到Windows域。
问题二:Windows域与8021x认证服务器各自拥有专用的用户身份识别和权限控制信息,造成用户接入网络和登录Windows域时需要使用两套用户名和密码,给用户的使用带来不少操作上的麻烦。
如何解决目前Windows域登录与8021x认证之间存在的尖锐矛盾,统一企业网中8021x接入认证与Windows域认证,全面简化用户操作,实现网络接入与Windows域的单点一次性统一认证登录,是目前许多企业网用户迫切需要解决的问题。
2 解决方案介绍
通过对8021x认证流程和Windows域登录流程的深入研究,杭州华三通信技术有限公司提出了Windows 域与8021x统一认证解决方案,平滑地解决了两种认证流程之间的矛盾,成功实现了单点认证功能,极大的简化了客户的认证操作流程,避免了用户二次认证的烦琐。是认证技术领域内的一次技术突破。该解决方案的关键在于两个“同步”过程:
1、 同步Windows域登录与8021x认证流程——H3C公司的CAMS综合访问管理服务器系统与iNode客户端配合实现认证流程的同步。
2、 同步Windows域用户与8021x接入用户的身份信息(用户名、密码)——CAMS综合访问管理服务器通过LDAP接口实现用户信息的同步。
Windows域与8021x单点统一认证的流程如下:
1 8021x接入认证阶段
1) 安装有H3C iNode智能客户端的用户终端开机后进入普通的域登录界面
2) 用户按一般的域登录流程输入用户名、密码和域名,点击登录按钮
3) iNode智能客户端截获Windows域登录请求,使用域登录输入的用户名、密码同步发起8021x认证
4) 8021x认证请求通过交换机转发到CAMS综合访问管理服务器服务器,进行8021x接入身份认证
2 认证转发阶段
1) CAMS将用户认证请求通过LDAP接口转发到Windows域控制器,进行Windows域用户名、密码验证
2) 通过Windows域控制器的身份认证后,再由CAMS向用户终端授权网络访问权限
3 域认证阶段
1) 认证通过并获得网络访问权限的用户终端通过iNode客户端的控制,继续进行域登录认证
2) Windows操作系统继续完成普通的域登录流程,获取应用资源访问权限
通过以上的统一认证流程,用户只需按照正常的域登录操作,即可同时完成8021x接入认证和Windows域登录认证,达到了统一认证和单点登录的目的。
3 实际组网应用
在实际的组网应用中,必须通过H3C iNode智能客户端和CAMS综合访问管理服务器的配合才能完成Windows域与8021x统一认证的实施,将8021x认证无缝的集成到用户现有的网络体系当中,在不改造现有网络应用环境的前提下,轻松实现Windows域和8021x的单点统一认证功能。
实施Windows 域与8021x统一认证,只需在CAMS系统中进行以下简单操作:
1、 安装CAMS服务器平台、LAN接入和LDAP组件——由于Windows域控制器使用微软的Active Directory(Active Directory是微软管理Windows域的一种LDAP服务器)管理用户及权限信息,只有安装LDAP组件,CAMS系统才能实现与Windows域同步用户信息;
2、 在LDAP服务器管理界面中配置域控制器信息;
3、 将Windows域用户信息同步至CAMS服务器——使用LDAP用户导出功能,将Windows域用户的信息导出到文件,然后使用CAMS系统的用户信息批量导入功能将Windows域用户信息加入到CAMS系统中;
4、 在用户终端安装H3C iNode智能客户端;
5、 按一般的8021x认证的要求配置接入交换机。
4 实施效果
在应用H3C 的Windows域与8021x单点统一认证解决方案后,企业网络应用的安全性和可管理性将极大增强:
1、增强了网络接入的安全性,有效杜绝非法用户接入,实现对非法用户的物理隔离。
2、增强了Windows域的安全性,用户必须通过8021x认证才能访问并登录到Windows域中,提高了域内应用资源的安全性。
3、解决了Windows域登录与8021x不能兼容的矛盾。
4、透明的统一认证流程,与通常的域认证过程完全一致,无需额外培训。
5、实现了网络接入与Windows域的单点登录,方便用户的使用与操作,减少用户同时记忆两套用户名与密码的烦琐。
6、实现用户密码的统一、集中维护(由域控制器维护),提高了用户密码保护的安全性。
5 结论
H3C公司的Windows域与8021x统一认证技术,是安全认证技术领域内的一次新突破,解决了企业复杂IT环境中的多层次安全认证的统一问题。Windows域与8021x统一认证技术是H3C CAMS综合访问管理服务器众多领先技术中的一项,CAMS将持续秉承“客户第一”的设计理念,“想客户之所想,做客户之所需”,凭借对企业IT应用的深入理解,为企业打造稳定、安全的可信IT应用环境。
1 由于 spring cloud gateway 是基于 WebFlux 框架实现的,该网关作为资源服务器时不能使用 @EnableResourceServer 注解,需要使用 @EnableWebFluxSecurity 注解来配置安全过滤链。
2 在 springboot 22 之前的版本中,安全框架对应的是 spring-security 514,该版本只实现了基于 id token (jwk) 的认证,而我当前项目中的认证服务组件是基于 orgspringframeworkcloud:spring-cloud-starter-oauth2 框架开发,使用的是秘钥签名的 access token,所以网关服务组件需要使用 springboot 22 + spring security 52 来处理 jws。
3 现有项目使用了 gradle 构建,是一个多模块的结构,其中主模块引入了 212RELEASE 版本的 orgspringframeworkboot 插件,用来确保各模块中 spring 组件的版本统一,此时子模块是无法通过修改插件版本号或重新引入插件来改变模块中 springboot 的版本,所以网关模块想用要引入 springboot 22 的话,就得脱离主模块,或者将插件引入的操作直接下放到各个子模块的构建过程中。
4 orgspringframeworkcloud:spring-cloud-starter-oauth2 中 orgspringframeworksecurityjwtcryptosignMacSigner 支持使用短密码的 HMACSHA256 签名算法,NimbusReactiveJwtDecoder 不支持短密码。
0条评论