博客统计信息

51cto专家博客 51cto博客之星
用户名:bisheng.hu
文章数:66
评论数:428
访问量:195884
无忧币:4583
博客积分:4205
博客等级:7
注册日期:2008-06-25

再度剖析AD账户新旧密码同时可用的问题
2009-08-03 20:38:23
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。
    上周五写了一篇名为《深度剖析修改AD用户密码的数据同步机制》的文章,其中发现在修改了AD用户密码以后,5分钟之内,新旧密码同时可用的状况。
    今天微软GTSC的工程师换了两拨人做技术支持,在不断的尝试过程当中,找到了答案。
    在他们不断的给出解决办法的时候,其中提供了一篇KB号为906305的文章。链接如下:
   
http://support.microsoft.com/kb/906305/en-us
    根据KB中大致描述了问题的状况和原因,虽然这篇KB是适用于WinSrv03的,但是现在证明,在WinSrv08上同样适用。
    详细情况,大家可以看KB文章(建议看英文原版,中文自动翻译简直就不是人话,机器就是机器),下面谈谈我个人的想法。
    同上篇文章后面jrfly331兄所提到的一样。这个5分钟就是为了防止AD同步延时问题,防止DC数量比较多时,用户登录所在的站点内还没有成功的更新到密码的修改的情况。。这样,即使新密码没有生效,旧密码依然可用。其实上篇文章里的那个截图也显示出来了,我在一台海外的DC上修改密码,花了40秒钟才复制到中国的DC。所以,有些网络效率不高的情况下,是会发生密码同步需要一定时间的情况的。鉴于这样的考虑,我们的旧密码,就有启用了一种生存时间的概念,而这个生存时间,就是从密码修改一刻算起,5分钟整。而在WinSrv03中,这个时间为60分钟。
    那么这个问题的关键在哪里呢??就在NTLM。。
    NTLM是什么?NTLM是NT LAN Manager的缩写,它是 Windows NT 早期版本的标准安全协议之一,也是Windows Server系统三大安全验证协议之一,至今保留。它主要用于多种网络身份验证,包括AD验证,Exchange的POP3,IMAP,SMTP等等。此外,NTLM 还为没有加入到域中的计算机提供的身份验证协议,这也是为什么我们是用WS-*去调它的原因,因为第三方很多应用,跟AD是没有关系的。具体的身份验证机制和流程,如果大家有兴趣的话,可以google一下,或者在微软的知识库里找到,这里我就不多说。
    但需要提到的就一点,也是与这次碰到的问题紧密相关的一点。就是,在NTLM的验证过程中,一旦发生密码更改,它会将用户的dspswvalidate属性修改为ture,使得在一个生存时间内,旧密码依然可以通过NTLM的验证。而这个生存时间的值,在WinSrv03中,是60分钟。在WinSrv08中则变为5分钟,虽然5分钟这个,我现在还没有找到任何官方的明确说法,但至少从我的测试当中,能够确认这一点。
    值得注意的是,这个缓存,在LDAP验证方式中同样存在,但却不存在于kerberos验证方式中。换句话说,也就是我们最常见的使用Ctrl-Alt-Del的交互式方式登录到桌面系统是不会存在旧密码可用的情况的。今天测了一下,的确如此。
    这里,我也需要做一个检讨。我们在发现这个问题的时候,确实是使用的WS-*的方式进行登录的。因为我们用WS-*做了一个SSO的接口,用于其它的第三方系统能够统一使用AD作为唯一的身份验证机制。另外,我做测试的时候也为了方便,直接在WS-*上面加了一个查询。所以我就我没有使用交互式登陆来进行测试,因为那样还需要找个客户端,然后每次还得登进登出的,很麻烦。这也导致了在之前测试的时候没有能够及时发现两种方式验证在效果上存在的区别。
    不过现在,问题的原因总算是找到了,而且解决问题的办法也就在KB当中。
    值得我们思考的是,任何问题都不是表象的,如果希望避免问题再次出现,甚至希望能够控制问题的发生,我们就应该深究。
    当然,这次如果不是被逼,我也懒得去研究这些。人老了,钻不动了。。哎。。。

 

本文出自 “Bisheng.Hu” 博客,转载请与作者联系!

分享至
更多
一键收藏,随时查看,分享好友!
0人
了这篇文章
类别:技术探究技术圈()┆阅读()┆评论() ┆ 推送到技术圈返回首页

文章评论

 
2009-08-04 11:07:57
有了这篇就完整了。

2009-08-05 16:15:58
拜读老胡大作,吼吼,了解了
博主回复:
2009-08-05 16:52:11
充其量算个笔记。。。

我的大作很值钱的。。不会随便公开的。。。哇咔咔咔。。。

2009-08-05 17:03:23
嘿嘿,那能卖不,卖了买串串吃

2009-08-05 17:40:15
人都是被驱使着前进滴。

2009-08-05 19:18:46
在折腾中,慢慢地不知不觉中成了专家中的专家~~

2009-08-06 09:13:23
汗,只是笔记,啥时候能看到大作呢.

2009-08-07 17:25:27
所有的职业或许都有属于自己的哲学~

2009-08-07 17:33:02
胡老研究的真细啊!
赞~

2009-08-07 18:32:50
当然,这次如果不是被逼,我也懒得去研究这些。人老了,钻不动了。。哎。。。

********************************************
您还年轻!
********************************************
博主回复:
2009-08-07 19:21:48
都26、7的人了。。。

就剩那么几十年了命了。。。还不老。。。

2009-08-07 20:27:17
nn&不错...才26.27&nn

我都奔3的人了..!

你还年轻!

2010-06-20 15:10:59
我遇到的问题比较奇怪。客户端已在周五关机,周六在域控上改密码,周天可以用新密码登录,之后关机,在周一用新密码登录不了,可用旧密码登录,但用CTRL+ALT+DEL这几个键改密码在新密码处输入新密码却可以改。。。

 

发表评论            

【技术门诊】专家解析:软考重点难点及应试技巧
昵  称:
登录  快速注册
验证码:

请点击后输入验证码博客过2级,无需填写验证码

内  容: