david turing [SSO&Enterprise Security]

来源:百度文库 编辑:神马文学网 时间:2024/04/28 22:29:02

david turing [SSO&Enterprise Security]
December 02, 2005
Ktpass和KTab的主要用法
不少人都没搞清楚Ktpass跟Ktab的用法,特此写一篇文章来叙说一下。
我假设你对Kerberos有所认识,可以读我的一篇文章中篇,里面初步介绍了Kerberos协议(基于Windows KDC)。
在Kerberos中,安全性完全是依赖于Share Secret,也就是,KDC跟Kerberos Service之间都共享着一条Key,Ktpass这个命令行工具承担着这样一个角色,它能够将非Windows Kerberos服务配置一个Service Principal,通常类似于HTTP/Service@DomainName,并且同时生成一个Keytbab,这样做的目的是在Windows域中的KDC和非Windows的服务(Kerberos Service)建立一种安全的信任关系,Keytab文件中就是存放着那条非常重要的跟KDC打交道的Secret Key。
你更改了Keytab中的Key,就必须同时更改Kerberos database中的Key。操作Keytab,JDK提供了一个很好的工具叫做KTab。
首先,在Windows域控制器上创建一个用户tomcat2005, 这是一个Windows的用户,我们使用Ktpass将一个Kerberos service (HTTP/tomcat@MYDAVID.ORG)Mapping到这个用户上面。Ktpass会修改当前用户在Windows AD中的用户登录名,你可以用setspn -L tomcat2005来查看究竟有多少Service Principal绑定到tomcat2005上。
C:\>ktpass -princ HTTP/tomcat@MYDAVID.ORG -mapuser tomcat2005 -pass tomcat2005 -out tomcat2005_keytab -crypto des-cbc-md5
Successfully mapped HTTP/tomcat to tomcat2005.
Key created.
Output keytab to tomcat2005_keytab:
Keytab version: 0x502
keysize 50 HTTP/tomcat@MYDAVID.ORG ptype 1 (KRB5_NT_PRINCIPAL) vno 1 etype 0x3 (DES-CBC-MD5) keylength 8 (0xb64540dace6e70d3)
Account has been set for DES-only encryption.
接着,执行,目的是往keytab上面增加新的service principal。
C:\>ktab -k tomcat2005_keytab -a HTTP/tomcat@MYDAVID.ORG
Password for HTTP/tomcat@MYDAVID.ORG:tomcat2005
Done!
Service key for HTTP/tomcat@MYDAVID.ORG is saved in C:\\tomcat2005_keytab
你可能问,Ktpass和Ktab都往keytab文件两面写Key,其实,他们都是写同样的Key,只不过Ktpass还有一个AD帐号Set SPN Name的作用。
还可以通过ktab -l -k tomcat2005_keytab, 来看看里面究竟有针对什么Service的Key
C:\>ktab -l -k tomcat2005_keytab
Keytab name: C:\\tomcat2005_keytab
KVNO Principal
--------------------------------
4 HTTP/tomcat@MYDAVID.ORG
KVNO是Service Key的更新序号,不需要理会,关键的是Principal。
由 david.turing 发表于12:44 AM |评论 (0)
November 03, 2005
Yale CAS项目总结
SSO总会有一个结束的时候,我最终把CAS Server 2.0放到Weblogic Portal上,并实现了到其他WebApp的单点登陆。困难比我原先想象的要大,总结几点,希望对来者有所帮助。
1,搞SSO前请先熟悉SSL/PKI,因为,CAS的安全性很大程度依赖于SSL,没有安全性,不敢想象SSO有何作为。
2,因为我们的环境是在Weblogic Portal上,Portal环境上,调试CAS费了我好大力气,加之我重写了CAS的LoginModule(CAS不提供J_Security_check登陆方式),中途抛出的错误很多,访问BEA Support网站是家常便饭了。
3,CAS需要配置信任证书,如果象我那样一步一步地创建根CA,ServerCA,恐怕会比较辛苦,但证书的确让我高枕无忧,从CAS Server和各个Web应用之间建立一种更松耦合的信任关系。
4,IE端到CAS Server的双向SSL虽是画蛇添足,但是在一些高安全性的SSO环境,如网上付费,付出少许的计算代价,即让身份欺诈无所遁形。
冷静下来,想了一下SSO的用处,看来在互连星空中会有卖点,事实上,电信已经使用了SSO了,联通在信平台也在各SP与MISC之间部署SSO,随着B2B,B2C的发展,相信SSO会有很不错的前途。
我个人对CAS的评价是,
PureJava Impl,OpenSource,能轻松在各种WebServer间移植,协议并没有Kerberos那么复杂(当然Kerberos更安全),所以使用和调试起来,没有Kerberos那么痛苦。实战中,本人更倾向使用CAS 3.0,基于Spring的一种实现方式,将来有空必为此写一Blog.
由 david.turing 发表于09:27 PM |评论 (1)
December 2005 日 一 二 三 四 五 六
12 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
进入BEA广州UserGroup
搜寻
搜寻关键词:


归档
December 2005
November 2005
October 2005
September 2005
August 2005
August 2004
最新文章
Ktpass和KTab的主要用法
Yale CAS项目总结
庆祝BEA广州UserGroup成立!
Tomcat(直至5.5.9版本)不支持KeyStore和KeyEntry使用不同的password
广州食图(FB必备)
解决加入域时出现的网络路径问题
CAS集成Weblogic的ServletAuthentication调用
手谈——计算机AI之新高度
Weblogic Security In Action
基于NTLM的Proxy认证
BEA的Enterprise Solutions Forum会议里的牛人,你认识几个?
BEA的Enterprise Solutions Forum meeting - September 20-24, 2004 in Nashua, New Hampshire, USA,里面有牛人N个
WeblogicServer绑定AD认证
(4)短信平台架构及接口文档
(3)短信应用接口代码(david.turing提供)
(2)短信业务平台源代码(david.turing提供)
(1)短信网关源代码(david.turing提供)
CAS的sun.security.validator.ValidatorException和HTTPS hostname wrong
Weblogic Security Provider(1)
Weblogic ConnecionPoolRuntime
BEA的ESF会议(制作中.....)
配置WLS SSL/TLS
BEA整体安全方案
文章收集
making it in china
安全技术QQ群:14966586
链结
Add Your Links Here
合成本网站 (XML) (XML)
BEA网站:
www.bea.com.cn
非鱼的Blog:
潜鱼在渊
白衣的Blog:
花钱的年华
颓废的Blog:
颓废边缘
_xyz