APP下载

基于AD的企业统一认证方式概述

2015-10-24张波

电脑知识与技术 2015年5期
关键词:认证企业应用

张波

摘要:在企业内部,可能会存在众多的企业应用,这些应用是否能够使用统一的认证方式,不论对于用户,还是对于IT运维管理人员,都具有非常重要的意义。基于AD的企业统一认证方式概述,给出了一种现实可行的企业统一认证方式,该方式对于不同开发的应用系统能够实现支持和兼容,从而避免了对于应用系统开发语言的限制,扩大了企业IT人员对于应用系统选型的灵活性。在最后的部分讨论了这种认证方式存在的一些不足,以及未来需要考虑的问题。

关键词:认证;AD;企业应用

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)05-0102-02

在企业信息化建设过程中,各应用系统都离不开用户身份认证这样一个基本功能。企业内部存在着众多的业务系统,每个业务系统的用户身份认证方式都不尽相同,用户需要针对每个系统记忆特定的密码,而企业IT部门则需要为此付出大量的维护工作。为此,企业应用统一认证在企业信息化的过程中变得尤其重要。

而企业信息化所采用的企业技术架构也是千差万别。根据企业自身的业务特点,一个企业内部通常会存在若干的业务系统,有的业务系统是从外部引入的成熟软件产品,有的业务系统是通过定制开发实现的。各应用系统的操作系统、开发语言、采用之间件也都不尽相同。因此,怎么选择企业应用统一认证方式,是一个令人头疼的问题。

1 企业应用统一认证方式概述

通过对不同企业内部身份认证方式的研究,可以发现,企业对于统一身份认证的需求意愿通常都较高,并且,不同企业内部的实现的程度和方式也不尽相同。

从逻辑上讲,企业应用统一认证架构需要包括如下几个部分:

1) 用户身份信息存储

该部分用于实现用户身份信息的存储,并且确保用户身份信息的安全可靠,对于非法访问的限制,并能够对于类似于暴力破解的手段具有足够的防御能力,例如微软的AD。

2) 用户认证协议

用户认证协议则是实现了支持应用系统对用户身份信息进行存取。通过用户认证协议,企业应用能够验证用户身份信息的合法性,从而确定是否允许登录应用系统。

3) 访问适配器

访问适配器则是应用认证协议客户端的具体实现,从逻辑关系上讲,该部分属于企业应用的一部分,企业应用通过访问适配器,能够实现与用户身份信息存储的交互,从而完成用户身份的验证功能。

整体企业应用统一认证架构如图1所示:

2 基于AD的企业应用统一认证架构

在企业信息化的过程中,基于现有的环境,可以选择不同的企业应用统一认证架构。由于微软系列产品在个人办公电脑和桌面应用上属于绝对的主流产品,所以基于AD统一认证架构,是很多企业的选择。

在实际应用中,微软的AD产品和微软系应用结合的非常紧密,在IIS应用服务器中,通过简单的设置,即可实现应用于微软AD的整合,从而实现应用的统一认证。而企业内部的应用通常是基于多种不同的开发语言的,常见的如C#语言,JAVA语言,PHP语言。基于这些不同的语言开发的应用,都需要能够实现基于AD的统一认证,这样,才能为各企业应用的使用者和管理维护者带来便利。

基于AD的企业统一应用认证架构如下:

2.1 C#应用

C#应用由于其基于微软平台,因此,实现基于AD统一应用认证是最为容易的。基于C#的web应用,都是基于IIS应用服务器的,在IIS应用服务器中,通过简单的配置,即可实现。

用C#开发的WEB应用,配置实现基于AD的统一应用认证分为两部分,一部分是在IIS中进行配置,另外就是在应用代码中进行特定的设定和使用。具体的:

1) 在IIS中的配置

将应用部署在IIS应用服务器上后,选中部署的应用,在右侧窗口IIS部分中点击“身份验证”,从中选择“WINDOWS身份验证”并启用。

2) 在应用代码中进行的相关设定

在应用代码中通过下面形式的代码可以获得当前的访问的域用户:

request.Credentials = CredentialCache.DefaultNetworkCredentials;

在web.cofig文件中需要将authentication元素的mode属性配置为Windows。

2.2 JAVA应用

JAVA应用在实现基于AD的单点登录时,需要有一个通用的组件能够实现NTLM的协议,从而实现与AD的交互来验证用户当前身份的合法性。具体的实现就会有两种做法:一种是完全实现一套NTLM/Kerberos协议,从而完成与AD的交互。另外一种做法是利用现有的组件来实现。当前,实现的较好的组件是Jespa。该组件能够较好实现对于NTLMv1和NTLMv2的实现,对于当前windows7以后的平台支持较好。

具体的,在JAVA应用中,需要引入Jespa的filter,通过filter来获取当前具有访问权限的用户名,同时,Jespa还有一个配置文件,用于配置AD的相关属性信息,包括domain的信息,需要进行过滤的URL,认证失败后需要调整的URL等信息。

2.3 PHP应用

PHP应用在实现基于AD的单点登录时,在很多的时候,和JAVA应用类似的,需要一个实现NTLM协议的组件,从而能够沟通PHP应用和AD,实现用户身份的合法验证。PHP应用基于的应用组件是mod-ntlm。很多的PHP应用都是基于Linux服务器,而在Linux平台上,也同样需要加域才能完成与AD的通信。

对于Linux服务器加入域,主要步骤包括安装samba,winbind,进行samba和kerberos和winbaind的配置。最后,还需要安装mod-ntlm组件,从而完成整个配置的步骤。具体的步骤,就不在这里详细描述。

3 不足和发展方向

基于AD的单点登录从技术上来讲,是目前企业信息化过程中的一种较为现实的选择方案。基于该方案,企业可以灵活选择不同的信息化的软件产品,也无需限定特定的软件开发语言和平台,可以说是一种较为理想的技术方案。但是从其本身的角度出发,也存在着一定的不足和局限性:

1) 该技术主要基于microsoft的Acitve Directory,因此,对于微软的平台具有一定的依赖性,同时,其他的平台实现起来也没有IIS平台上配置简单

2) 对于身份信息存储部分,因为是基于微软平台,所以本身需要一定的微软产品的投入,未来,微软公司本身的产品和技术路线,以及微软公司本身的稳定性也会对整体的技术架构带来一些潜在的风险

3) 因为微软产品的封闭性,在企业的规模发展到一定程度后,如果出现系统的性能问题,扩展性的问题时,只能依赖微软来进行分析和解决。

考虑到上面的几个局限性,理想的企业应用统一身份认证架构,应该是基于统一、开放的标准来实现的,各厂家可以基于该标准实现自己的产品,同时,始终由开源组织来维护开源的参考实现,同步提供低成本的解决方案。

在移动应用快速发展的今天,如何兼顾移动端应用安全性和使用便利,是未来企业统一认证方式需要考虑的一个问题。

对于企业来讲,为了解决地域分布的问题,企业应用很多的都发布在互联网上,此时,系统的安全问题带来了新的挑战,而基于AD且实现NTLM协议的统一认证方式,在一定程度上,能够提高企业内部信息系统的安全性,相对于用户名/密码保存在数据中的方式,安全性更高。

4 结论

对于一个企业来讲,众多应用系统的用户认证,对于用户来讲,统一认证意味着可以保持单一用户ID和密码;对于IT运维人员来讲,可以避免重复的劳动,因此,对于企业内部应用系统的运维具有非常重要的意义。适度提前且规划良好的企业统一认证策略,可以推动企业信息化的进程,特别是对新的企业,可以带来良好的用户体验和事半功倍的效果。同时,采用统一身份认证方式也有助于提高企业内部的信息化安全水平。

参考文献:

[1] 孙韩林,刘建华. 公众网络统一身份认证服务及标准研究[J]. 电信科学,2013(2).

[2] 欧阳荣彬,樊春,来天平. 一种面向单点登录的统一身份认证框架[J]. 武汉大学学报(理学版),2012(S1).

[3] 王逸军,耿海飞,施彤年,等. NTLM身份验证协议详解[J] 计算机与网络,2009(18).

猜你喜欢

认证企业应用
论财务软件在企业中存在的问题及对策
中职校园网络安全管理系统设计
浅析管理会计在企业应用中的问题及对策
微信营销在企业应用中的问题及对策研究
中国SaaS企业应用平台行业研究——在互联网风潮中稳步增长
浅析设备维修管理系统在化工企业应用中存在的问题与对策