返回首页
当前位置: 主页 > 精通Office > 其他教程 >

混合式开发校园统一身份认证平台实践教程

时间:2018-03-10 00:15来源:知行网www.zhixing123.cn 编辑:麦田守望者

随着国家推进信息化的迅猛发展,高校、政府和企业等不断增加基于Internet/Intranet的业务系统,如各类网上申报系统、网上审批系统、OA系统、邮件系统等。系统的业务性质,一般都要求实现用户管理、身份认证、授权等必不可少的安全措施;而新系统的涌现,在与已有系统的集成或融合上,特别是针对相同的用户群,有可能存在如下情况:

  1.重复建设:每个应用系统都有独立的用户管理系统;

  2.用户类型复杂:除了校内师生用户,还有校外用户、外部系统开发用户等等;

  3.用户需要记忆多个账户和口令,使用极为不便,容易造成多种安全隐患;

  4.分散的管理模式,成本高,效率低;无法实现统一认证和授权,多个身份认证系统使安全策略必须逐个在不同的系统内进行设置,因而造成修改策略的进度可能跟不上策略的变化;也很容易发生管理疏忽和安全漏洞;

  5.无法统一分析用户的应用行为;因此对于有多个业务系统的应用,需要配置一套统一的身份认证系统,以实现集中统一的身份认证,并减少整个系统的成本。

  单点登录系统的目的就是为应用系统提供集中统一的身份认证,实现“一点登录、多点漫游、即插即用、应用无关”的目标,方便用户使用。

  所需解决的问题

  由于所面临的紧迫状况,因此迫切需要从根本上改变这种情况,需要满足或解决如下的问题:

  1.技术需要更多地遵守在法律法规的相关要求,考虑对个人的隐私进一步保护。

  2.业务的感知更加敏捷,师生和合作伙伴的访问更快速,B2B集成度更高和改变需求的反应更敏捷。

  3.业务需要提供更安全的保护,包括身份隐私的保护,身份管理的必要性,访问控制的紧迫性和审计的必要性,因此完整、统一的安全解决方案势在必行。

  除了上述所提到的这几个方面外,还需要解决:不需要与任何产品集成,能够实现解决跨应用程序和数据的常见安全性问题,此外还能保护业务流程和Web服务(SOA),同时还要保护传输中的数据以及处于静止状态的数据,加强内部和外部威胁的检测和防范,除此之外还可热插拔并且是基于行业或国家标准能跨领先的应用程序并能与Web服务器、应用服务器、门户、数据库以及其他IT系统进行松耦合的协调工作。

  统一安全平台的特征

  统一认证平台必须满足或至少提供认证(Authentication)、授权(Authorizaton),审计(audit)、账户管理(Account)四大基本特征。单点的登录与退出以及用户和口令应安全且方便易用。西南财经大学使用Oracle和开源软件构建了校园安全统一身份认证平台。

  身份管理平台介绍

  身份管理介绍

  Oracle身份管理按照其官方的描述是一个完整的和集成的下一代身份管理平台,提供突破性的可扩展性,使组织能够快速地在遵守法规的要求下,保护敏感的应用程序和数据。它能使组织有效地管理跨越所有企业资源的用户身份以及这些用户端到端的生命周期,包括防火墙内和外部以及云中。

  其中身份认证服务是整个系统的核心部分,控制所有远程用户对网络和应用系统的访问,提供全面的认证、授权和审计服务。用户在登录系统时,插上智能卡,通过安全加密通道与远程身份认证服务器通讯,由认证服务器完成对用户身份的认证,并得到当前用户的身份以及系统的授权信息。

  Oracle身份管理平台(简称IDM)包括身份管理,角色管理,访问控制管理,Weiservices管理,目录服务管理,审计管理以及平台安全,其逻辑架构如图1所示。

  Oracle身份管理11gR2共包含三个组件:即身份治理(Identity Governance),访问管理(Access Management),目录服务(Directory Serclevices):其中身份治理包含提供用户注册、访问请求、角色生命周期管理、用户配置、访问认证、闭环管控以及特权账户管理等功能。访问管理提供身份验证、单点登录、身份授权、联合、欺诈检测以及移动和社交登录等功能。目录服务提供虚拟目录、LDAP存储、元目录和同步服务等功能。特点如下:1.集中账号管理;2.集中身份认证管理;3.集中授权管理;4.集中日志审计管理;5.集中日志审计管理。

  由于整个Oracle身份管理涉及的内容众多,在此,本文仅以其中的统一身份认证授权即单点登录来做介绍。

  OAM介绍

  Oracle Access Management是一种基于Java企业版(Java EE)的企业级安全应用程序,提供全方位的Web周边安全功能和Web单点登录服务,包括身份上下文,身份验证和授权、政策管理、测试、风险分析和审计,并提供对机密信息的受限访问。

  Single Sign-On(SSO)即单点登录,在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。在此条件下,管理员无需修改或干涉用户登录就能方便地实施希望得到的安全控制了。

  Oracle现有两套单点登录的解决方案:Oracle Access Manager,Oracle Single Sign-On Server(OSSO)。Oracle官方推荐Access Manager作为SSO的解决方案,Oracle Single Sign-On Server的高级用户最终也会建议迁移到Oracle Access Manager解决方案上。本文只介绍通过OAM Agent(WebGate)这种方式。其他方式请参考Oracle相关文档。

  1.OAM组件

  OAM包含了以下三个组件:

  Access Server:一个独立的服务器,为Accesgates提供了授权,验证以及审计等服务,安装OAM的时候自带的。

  WebGate:拦截HTTP请求并将其转向AccesServer中进行验证与授权。

  Identity Assertion Provider(IAP):一类安全provider,通过验证产生cookie中的信息对用户身份进行断言。

  2.OAM功能

  OAM为企业应用提供了以下功能:身份验证,身份管理(通过与OID进行集成),访问控制与授权,访问审计,单点登录。

  3.OAM单点

  登录流程一般情况下,用户会通过浏览器对Weblogic中运行的程序进行访问,Oracle HTTP Server(OHS)会使用OAM Webagte对用户发出的请求进行拦截,检验资源是否为受保护的资源,并将其转向到OAM的Policy服务器进行身份验证。OAM对用户身份验证成功之后,OAM会产生一个会话凭证即一个cookie,该cookie可以比作单点登录的令牌。获得令牌以后,OAM会根据其身份信息,使用IAP进行断言并进行授权,根据授权级别以及授权结果,返回相应的请求资源。

  从其原理可知:

  1.OAM主要做了两个工作:(a)验证单点登录cookie是否存在;(b)检查所请求的资源是否为被保护的。

  2.WebGate是Web服务器的一个插件,用于拦截HTTP请求,并把请求导向Oracle Access Manager(OAM)来获取用户认证。

  3.Oracle OAM通过Cookie存储用户的信息,进而通过Cookie来实现单点访问授信站点。

  打造企业级统一身份认证与一体化访问控制的具体实践

  在高校信息化建设中,由数字校园向智慧校园建设发展过程中,要建立一个完整统一、安全可控的身份认证与管理集中化,身份管理虚拟化,保护应用系统安全的统一身份认证和管理平台。西南财经大学统一身份认证授权管理策略授权逻辑架构图如图2所示。

  一体化安全访问控制的架构与部署

  如图2,在用户访问层,采用Nginx做为代理加速服务,结合NGINX、OWASP-MODSECURITY-CRS。OWASP-MODSECURITY-CRS是一个开放源代码、高效、低维护规则的Nginx Web应用防火墙模块。其主要目标是加固Web应用程序,以抵御SQL注入、跨站脚本、跨域伪造请求、本地和远程文件包含漏洞,并配合SSL证书。所有访问均强制启用SSL并在该层完成。因此,该层可架构在IDC的边界上。

  通过CRM对用户账户资源的管理

  CRM既是一种管理理念、软件和技术,也是一种应用系统。CRM使用的技术包括Web、数据库、数据仓库、数据挖掘等。一个完整、有效的CRM应用系统,由四个子系统组成:业务操作管理子系统、客户合作管理子系统、数据分析管理子系统和信息技术管理子系统。西南财经大学通过采用开源软件SuagrRM为基础平台,进行深度的二次开发以适应学校两校区信息化建设的需求,为学校师生的教学、管理、生活等提供更加全面、便捷的信息服务。

  学校为每个注册的教职工、普通类学生(包括本科生和研究生,留学生,交换生)和校友提供了一个统一的身份标识,并根据统一身份认证账户及其相应权限提供用户相应的网络及信息服务。

  OUD的部署

  OUD是Oracle统一的目录与存储,代理同步和虚拟化功能的所有功能于一身的目录解决方案。它提供了所有的高性能企业和运营商级环境所需要的服务。统一的目录,确保可扩展性,以数十亿的条目,安装方便,弹性部署企业的管理和有效的监测。OUD服务器是根据一个独立的LDAP目录服务守护进程(slapd)工作的。复制(导入)服务也是通过Unix守护进程的支持下完成的。

  OUD 11gR2中的新功能:1.基于位置的搜索社交网络应用;2.Oracle数据库企业用户安全的支持(EUS);3.开箱即用的JVM;4.兼容Oracle目录服务器企业版与共存或过渡到OUDODSEE和OUD之间的复制;5.能够移动测试和生产环境之间的系统;6.身份存储Oracle的IDM产品。

  OAM的部署

  OAM为Oracle访问管理提供了补充传统的访问管理功能创新服务。例如,自适应认证(SSO)的联合单点登录,风险分析和细粒度的授权扩展到移动客户端和移动应用程序和访问门户,允许客户构建自己的私有云SSO服务。服务可以被许可并根据需要,以满足组织的特定需要启用。访问管理的服务器端所提供的服务托管在OracleWebLogic服务器上、防御接入管理层拦截器和过滤器(访问管理WebGate、Web服务和API网关)以及移动和社交服务客户端SDK,均可根据需要安装在移动设备上和安装在个人电脑(台式机和笔记本电脑)上。

  数据库层介绍

  为了保证整套系统的高效、安全、稳定和友好的提供服务,考虑到后期的维护难度,我们对所使用的数据库Oracle和OUD均采用了双机主从热备式的架构。并采用OracleEM(企业管理器)进行整个系统的运行监控与健康检查。

  对应用系统的改造

  基于对现有应用系统改造影响最小原则和安全稳定原则,我们采用了对校内如OA系统,邮件系统,人事,学生相关事务,教务等绝大多数应用系统域名进行管控,将其全部解析指向到用户访问接入层。而应用系统只需取得从认证系统(OAM)发送过来的HTTP头里含有的特殊标识即可,几乎不用改动其他任何代码。在接入层,开启日志审计与安全检测过滤。

  通过实际应用测试发现:

  1.其架构的良好伸缩性与并发处理能力,可以很好地承担应对如选课高峰的负荷。

  我们采用了4台OAM做负载均衡,后端采用了Oracle RAC,所有应用目前集成总数达到20多个,采用RedHatAS6,OAM+OUD部署在VMWare的环境中,单台内存32GB。经过压力测试,可以得到4000次/秒,完全满足校园内的应用。

  2.应用系统改造小,由于只需调整认证处的代码,OAM的特征值含在了HTTP的头里,因此只需修改很少的认证代码即可快速高效无缝整合以实现单点认证。

  3.安全性较好,将应用系统隐藏在WebGate集群后面,有效降低了安全风险。

  综上,系统架构完成后,用户访问校内任何应用系统均会被首先强制并加载SSL证书到认证登录页面。从而较好地实现了集中授权与管控,减少了后期的维护,用户体验也很好。

  通过对校园统一身份认证与管理平台的建设,实现统一认证管理、统一授权管理、统一审计管理和统一账号管理,实现以用户为中心的账号生命周期管理,逐步解决了技术规范的统一,对账户管理实现了流程化和标准化,对信息系统中的数据进行了重新梳理,简化账号管理工作,节约了管理成本,同时促进了源系统数据质量的提升。此外,由于处于IDC的边界,有利于保护IDC的内部服务安全。

  (作者单位为西南财经大学信息与教育技术中心)

来源:中国教育网络作者:范江波
------分隔线----------------------------
标签(Tag):校园统一身份认证平台
------分隔线----------------------------
推荐内容
猜你感兴趣