基于LTPA的Portal门户安全配置
2008-03-12
作者:王 刚, 王清心, 丁家满
摘 要:门户网站的安全性和用户的身份认证已经成为门户网站的一个焦点问题。介绍了Portal安全控制方面的" title="面的">面的SSO的特点,分析了IBM WebSphere Portal在安全控制方面实现SSO的LTPA技术和它的优势,并解决了一种在多目录环境下通过实现LTPA名称映射来保证安全性的方法及LTPA的配置方法。
关键词:WebSphere Portal SSO LTPA 安全性
由于门户网站的使用越来越广泛,因此门户网站的安全性和用户的身份认证问题已经成为一个焦点问题。目前,许多网站都使用SSL(Secure Socket Layer) 作为网络的传输安全控制手段。SSL是基于传输层的安全协议,即“通道安全”协议,是一种被广泛使用的Internet传输加密标准。然而,SSL常常出现安全漏洞,如:黑客攻击证书、黑客利用特洛伊木马等手段窃取证书、系统管理员无法使用现有的安全漏洞扫描(Vulnerability Scanners)或网络入侵侦测系统IDS(Intrusion Detection Systems)来审查或监控网络上的SSL交易而造成安全盲点等,使网络的安全不能得到有效的控制。而基于LTPA技术的门户网站(Portal)能够有效地克服这些问题。
Portal是一个Web站点,它为门户用户提供了一个访问点,使用户能够访问来自不同来源的信息和应用程序" title="应用程序">应用程序。Portal的核心服务包括:单点登录" title="单点登录">单点登录SSO(Single sign on)、目录集成、安全、访问权限控制、加密传输、授权与验证、许可权、管理功能等。Portel的一个主要作用在于提供统一的登录界面和身份认证机制" title="认证机制">认证机制进行权限控制,使系统为用户提供单点登录,并根据用户的权限进入相应的Web界面。在IBM Portal中,提供单点登录的LTPA技术使Portal的安全控制得到了很好的实现。
1 Portal的安全控制问题
当今门户网站已经越来越多地应用到网站的设计与构架中。IBM WebSphere Portal在门户网站设计构架的安全性处理和用户认证控制等焦点问题方面有相当的优势,其产品中的Portal Server、WebSphere Application erver、Lotus Domino Application Server等服务器组件,使用了同一种认证及单点登录记号的LTPA技术来提供单点登录,该技术保障了所创建出的门户网站的用户认证和安全性。
2 单点登录
SSO是Portal的一个特点。用户位于Web浏览器中浏览某DNS中的URL时,结构良好的SSO部署将允许每个会话中仅提示用户登录一次,且用户必须输入自己的用户名和口令。这个DNS的Web应用服务器成功验证了用户的口令后授予用户对这个URL的访问权限,就可以浏览SSO环境中的其他URL而不需要再次登录。
SSO可让网络使用者在单一验证的基础上天衣无缝地存取所有已授权的网络资源,而不需要记忆许多组不同的使用者的名称和密码,提高了网络使用者的生产力,降低了网络作业的费用,提高了网络安全。对于系统管理者而言,将呈现出简易管理和系统控制以及网络安全方面的优越机制。SSO不但给门户网站带来了使用者的便利性和网络系统的安全性,而且提升了门户网站拥有者的整体形象。
要实现SSO,关键是在用户登录后,SSO服务器和应用程序能够识别用户。在部署了IBM产品的Web环境中,在场景后台用来实现SSO的就是轻量级第三方" title="第三方">第三方认证(LTPA)。LTPA 技术允许SSO服务器在用户登录后标识他们,它能够用于各种各样的IBM产品,并且由于IBM遵循开放体系结构,在LTAP 中为WebSphere和Domino提供了嵌入点,允许将第三方的SSO应用程序合并到LTPA解决方案中。
3 轻量级第三方认证
LTPA(Lightweight Third Party Authentication)技术是IBM的标准。当某用户访问某WebSphere URL时,系统会提示他输入用户名和口令进行登录。这时用户可以输入他的惟一标识符,通过验证后,Web服务器将把该用户的Web 浏览器中显示的Web 站点内容发送回来。在场景后台,WebSphere入口网站服务器将会建立包含已鉴别使用者认证的单点登录Cookie(默认值是LTPA记号),并且会一直发送该cookie, 而浏览器通常的默认设置是允许接收cookie的,因此用户的浏览器将保存这个cookie。 LTPA cookie是临时的,只在浏览器内存中存留,用户如果关闭浏览器,cookie就会被永久删除。LTPA cookie的特点如下:
(1)LTPA cookie是一种典型的浏览器cookie,它保存的信息表示该用户已经进行了登录。所有的浏览器cookies都有名称等标准属性。LTPA cookie特有的名称是LtpaToken。当配置 SSO时,在配置实用工具中,通常将LTPA cookie称为SSO LTPA“令牌”。LTPA cookie有一个被编码值,隐藏起cookie中包含的重要信息并且通过Internet传输。
(2)LTPA cookie 具有典型的浏览器cookie的相关域的信息。例如,当用户在university(http://university.edu.cn/learn)登录时,university服务器创建了LTPA cookie。university服务器在edu.cn域中,因此cookie域信息被设置为edu.cn,这表示该cookie只能在edu.cn DNS域中使用。LTPA的实现依赖于具有域信息的浏览器cookies,因此,通常SSO环境必须部署到单一DNS域中,即每台服务器都在同一DNS域中。
(3)在用户已经登录并且该用户的浏览器接收到 LTPA cookie以后,在HTTP通信中不再需要进行特定的配置,浏览器运行的标准方法就是浏览器将自动发送该cookie。浏览器不断地向任何正确的DNS域中的URL目标发送HTTP请求,通过这种途径不断地向外发送LPTA cookie。当SSO服务接收到HTTP请求并且发现请求中包含了LTPA cookie时,服务器将验证cookie,随即可知道该cookie属于哪一位已经登录的用户,服务器就可以允许这个用户对这台服务器进行适当的访问。浏览器的任务就是确定在什么时候应该随同HTTP通信一起发出LTPA cookie。当用户浏览到一个不在同一DNS域中的URL时, 因为该cookie不适用于这个新的DNS域,浏览器则不会发送 LTPA cookie,新的DNS目标的接收服务器就不知道用户是谁,这时会提示用户输入他的用户名和口令。
(4)LTPA cookie是安全的,因为服务器在创建它时,使用一组加密密钥进行了安全加密。加密密钥用于对cookie进行编码,编码后的cookie传送到用户浏览器,而浏览器只对有加密密钥的cookie进行解码和验证cookie的完整性,并随时检测cookie是否被篡改过。在SSO环境中的所有服务器必须共享同一个加密密钥。当SSO服务器接收到HTTP请求并发现其中包含LTPA cookie时,就使用它共享的加密密钥副本验证cookie,这时有效的cookie信息就使服务器能够识别出登录的用户。
SSO服务器使用的安全加密确保了没有任何伪造cookie的机会。没有加密密钥,其他非法 的cookie不会通过验证,伪造的cookie将被忽略。因此,SSO服务器不会被入侵。
在WebSphere Portal环境中,LTPA加密密钥通常在配置SSO时由WebSphere 创建。管理员可以将密钥导出到文件中,然后转移该文件到其他的SSO服务器(例如Domino),在那里导入密钥。系统的管理维护人员应该非常小心地处理密钥文件,把所有的副本保护好。
这样,LTPA技术就实现了WebSphere Portal门户网站的安全性。
4 一种多目录环境的名称映射
在Portal环境中,尤其是在一个不断更新的复杂环境中,经常出现有多个目录的情况。这些目录中使用了多个名称格式,如在两台不同的服务器中使用了两个目录,当用户在两个目录中的名称不同时,SSO就会发生问题。这时可以用下面的方法加以解决:
有时用户需要同时访问轻型目录访问协议LDAP(Lightweight Directory Access Protocol)目录和Domino目录,而这两个目录都要管理SSO信息。此时用户的LTPA cookie要在两个服务器间切换。当用户切换到DWA portlet时,LtpaToken包含的用户名通过HTTP发送,这时管理员可以修改该用户的个人文档,添加“uid=‘用户名’/ou=secret/dc=university/dc=com”到该用户全名称域的辅助值中。这样Domino Web Access服务器会在Domino Directory中搜索LtpaToken中包含的值,并且将找到一个匹配的值,因为这个值包含在个人文档里。Domino把这个名称解析为 Domino专有名称(‘用户真实姓名’/Secret/university),这个名称包含在他要访问的porlet文件上的访问控制列表ACL(Access Control List)里,这样就赋予了这个用户访问这个porlet 的权限。在进行名称映射时,管理员应该记住下面的规则:
(1)在修改Domino个人文件的FullName域时,要输入“Domino格式”所代理的LDAP专有名称。
LDAP格式: uid=‘用户名’,ou=secret,dc=university,dc=com
Domino格式: uid=‘用户名’/ou=secret/dc=university/dc=com
(2)在FullName域中添加LDAP DN(标识名)作为辅助值,不要添加LDAP DN作为第一或第二个值.Domino预期的主要值是Domino DN,而且第二个值是Domino的“公用名称”。
(3)其他的应用程序可能会区分大小写,而Domino是不区分大小写的。
(4)为便于目录更改,可以使用IBMTivoli Directory Integrator来实现映射策略自动地执行。
这样,LTPA的一种名称映射即完善了一种多目录环境中的SSO,保证了portal安全控制SSO的正常运行。
5 Portal中的LTPA配置
在WebSphere Application ServerV5.0中查看管理控制台页面时,应该选择安全性>认证机制>LTPA。如果是第一次配置安全性,则只需要密码;选择单一注册(SSO),然后输入域名;要保证启用了SSO,而且要保证设置了适当的注册表;如果启用了安全性而且其中的任何属性发生了更改,则转至“全局安全性”面板验证更改。
配置选项卡:
(1)配置生成密钥来指定服务器是否将生成新的LTPA 密钥。当使用LTPA作为认证机制第一次打开安全性时,可使用在面板中输入的密码自动生成 LTPA密钥,也可以设置新的密钥。
(2)配置导入密钥来指定服务器是否将导入新的LTPA密钥。在跨多个 WebSphere 域(单元)支持SSO时,事先将LTPA密钥从一个WebSphere域导出至文件,然后从其他域中导出LTPA密钥,并且在这些域之间共享LTPA密钥和密码。
(3)配置导出密钥来指定服务器是否导出LTPA密钥,这里可以将LTPA密钥导出到其他域。在密钥文件名字段中输入文件名,并选择导出密钥,加密的密钥将存储在指定的文件中。
(4)配置密码选项来指定密码加密或解密LTPA密钥。一旦生成或导入了密钥,就将使用它们来加密或解密LTPA记号。
(5) 配置超时来指定LTPA记号将到期的时间段。应该确保此时间段比在“全局安全性”面板中配置的高速缓存超时要长。
(6)配置密钥文件名来指定在导入或导出密钥时所使用的文件名,可以输入全限定的密钥文件名,然后选择再导入密钥或者导出密钥的方法。
采用LTPA技术,WebSphere Portal实现了门户网站的安全控制和用户的身份认证,保障了门户网站内部的安全通讯和安全性。LTPA应用方便,配置简单易行,在多服务器多目录的较大环境下也可以比较容易地实现名称映射,保障门户网站安全性的流畅,充分说明了LTPA技术在安全控制方面具有一定的技术特点和优势。
参考文献
[1] BARCIA R, HINES B, ALCOTT T. IBM websphere: deployment and advanced configuration. IBM Press, 2004.
[2] SMITH A E, TWOREK W. Lotus security handbook. IBM Press, 2005.
[3] BOTZUM K. websphere application server security: Presentation series. IBM press,2004.
[4] KOVARI P, CARPENTER D. IBM websphere V5.0 Security WebSphere Handbook Series. IBM press, 2004.
[5] DARMAWAN B, FIRTIYAN A. WebSphere portal collaboration security handbook. IBM Press, 2004.