浅析:AD组添加成员后为何客户端要注销?

简介:

这是在我以及我同事身边常常发生的例子。

例子
1. 
ABC项目组在广州某Windows Server 文件服务器上有一个共享项目文件夹ABC,除了管理员外,只允许ABC项目组的成员访问,在AD中体现为只允许GZ_ABC组有该文件夹访问权限。

2


2. 项目中来了一个新员工a1,走完了项目文件夹申请的审批流程后会要求IT team开启其访问ABC文件夹的权限。
 
3. IT team将a1的域帐号加到GZ_ABC组中,回复邮件给a1说注销重登系统就拥有访问权限。 

4. 两三个小时后,a1 打电话给IT team报告仍然不能访问(Tommy啊,我等了大半个上午啦,你不是说给了我权限吗,怎么我还访问不了啊)。IT team告诉a1需要按邮件步骤注销重登客户端。 

5. 注销重新再登录后,a1成功访问到文件夹。 

这是一个常常发生在身边又很疑惑的例子,为什么用户需要注销而不能等上两三个小时刷新呢?而假如在共享文件夹直接添加a1的域帐号,a1为什么又无需注销呢?以下的浅谈希望对你的疑惑有所帮助。 

原因

其实啊,简单点说,当用户登录后,他会收到一个PAC(权限属性证书),这个PAC则包含用户的所有SIDs,包括他所在群组的SID。当他要访问某个网络资源的时候,会导致用户的这些SIDs与目标资源上的ACL进行对比而决定他是否有资格访问。为什么用户需要注销重登系统是因为包含的SID的PAC只在这种情况下刷新。


详解

想了解更多?下面是一个比较详细的说明。

登录流程

在Windows操作系统中,用户登录机制是客户端计算机和整个网络不可缺少的组成部分。用户只需使用自己的域凭据接受一次身份验证,即可登录到网络系统。这种单一登录机制允许登录到工作站的用户访问已被授予相关权限的任何本地或远程资源。登录过程如图2.1所示。

图 2.1.用于登录桌面系统的Windows集成化身份验证流程 
 

clip_image003

作为登录过程的一部分,用户将同时按下CTRL+ALT+DEL组合键以激活图形化识别与验证动态链接库(GINA)。这个操作将启动安全验证程序(SAS),并向用户弹出Windows登录对话框(第1步)。接着,用户将自己的凭据输入登录对话框。

然后,本地安全机构(LSA)会向运行Active Directory的域控制器发出申领授权票证的票证(TGT)请求(即TGT-REQ,第2步)。在域控制器LSA服务中运行的Kerberos v5协议密钥分发中心(KDC)将调用域控制器上的服务帐户管理器(SAM),从而对用户名和密码加以验证(第3步)。如果凭据正确无误且不存在阻止用户登录的其它策略要素(如时间或工作站限制),域控制器上的LSA就会将Kerberos v5身份验证协议票证(第4步)或NT LAN Manager(NTLM)授权数据(未予列示)传回给客户端上的LSA。

注释:虽然Windows客户端和服务器中的身份验证数据包(即身份验证服务提供程序)还使用着其它身份验证协议,但本文主要介绍Kerberos v5身份验证协议,只会在必要时提及NTLM。

创建授权上下文环境

Kerberos票证内容包含权限属性证书(PAC),该证书收录了用户及其所在群组的安全标识符(SID)信息。图2.2展示了这种票证结构。

工作站可从Kerberos票证(图2.1中的第5步)或NTLM授权数据中生成一个访问令牌。(虽然这种访问令牌有时被称作安全上下文,但在讨论与网络身份验证相对应的本地授权机制时,访问令牌的称谓更加贴切。)

Windows访问令牌包含:
• 用户的主SID。
• 来自用户帐户、域或林的全局组和通用组SID。
• 来自工作站所在域的域本地SID(如果它们区别于用户所在域)。
• 明确授予用户或源自组成员资格的权限。

客户端计算机上的登录程序会启动一个命令解释程序实例(通常为Explorer.exe文件),并将用户访问令牌附着于命令解释程序(图2.1中的第6步)。

clip_image004

图 2.2.Kerberos票证包含PAC, 而PAC则包含用户及其所在群组的SID


访问本地资源

在工作站上通过命令解释程序启动的所有应用都将从命令解释程序进程中继承访问令牌。因此,用户一旦完成登录,任何本地资源访问尝试(例如,从命令解释程序或由它启动的进程中打开文件或打印文档)都会导致工作站将用户访问令牌同基于被访问对象的安全访问控制列表(ACL)进行对比。

访问远程资源

用户针对远程资源执行某项操作的尝试(例如,打开基于网络文件共享存储的文件或将文档打印至网络打印机)都会导致客户端和服务器执行身份验证程序。在缺省状态下,身份验证程序将使用曾被用来登录工作站的凭据。Kerberos和NTLM身份验证协议提供程序与工作站上LSA之间的集成可为Windows用户带来SSO体验。图2.3描述了上述流程。

clip_image005

图 2.3.远程资源登录身份验证流程


这个例子假设通过Kerberos协议实现工作站登录--Microsoft Windows? 2000和Windows Server 2003操作系统中的缺省身份验证机制。如果通过NTLM协议实现初次登录,登录程序可能有所区别。

用户试图访问在运行Windows Server 2003的远程计算机上存储的文件(第1步)。服务器要求执行身份验证,并向用户提出“质询”(第2步)。接着,基于客户端的LSA为申请必要的身份验证凭据而激活Kerberos验证数据包(第3步)。Kerberos验证数据包将通过从客户端票证缓存中检索先前已核发的有效票证(第4步)或向服务器申请新票证(TKT,未予列示)来满足上述请求。最后,客户端会向服务器发送票证,以回答服务器提出的质询。

一旦票证通过验证(第6步),Kerberos身份验证服务提供程序就会生成前述访问令牌(第7步)。而服务器则通过这个令牌模拟(第8步)客户端用户。身份模拟允许服务器依靠操作系统将从访问令牌中捕捉的用户资格与目标资源上的ACL进行对比,从而强制实现正确的授权(第9步)。接着,操作系统将视具体情况决定允许(如图2.3所示)或拒绝操作请求。


想深入了解?可以参考 
http://msdn.microsoft.com/en-us/library/cc237917(v=prot.10).aspx

http://www.microsoft.com/china/technet/security/topics/identitymanagement/idmanage/P3Intran_1.mspx?mfr=true


 




本文转自 VirtualTom 51CTO博客,原文链接:http://blog.51cto.com/virtualtom/809947,如需转载请自行联系原作者

目录
相关文章
|
2天前
|
云安全 人工智能 自然语言处理
|
9天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
703 57
Meta SAM3开源:让图像分割,听懂你的话
|
7天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
325 116
|
6天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
575 14
|
22天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
AgentEvolver:让智能体系统学会「自我进化」
AgentEvolver 是一个自进化智能体系统,通过自我任务生成、经验导航与反思归因三大机制,推动AI从“被动执行”迈向“主动学习”。它显著提升强化学习效率,在更少参数下实现更强性能,助力智能体持续自我迭代。开源地址:https://github.com/modelscope/AgentEvolver
460 34
|
5天前
|
弹性计算 人工智能 Cloud Native
阿里云无门槛和有门槛优惠券解析:学生券,满减券,补贴券等优惠券领取与使用介绍
为了回馈用户与助力更多用户节省上云成本,阿里云会经常推出各种优惠券相关的活动,包括无门槛优惠券和有门槛优惠券。本文将详细介绍阿里云无门槛优惠券的领取与使用方式,同时也会概述几种常见的有门槛优惠券,帮助用户更好地利用这些优惠,降低云服务的成本。
282 133