AD域 登录过程

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ad域登录过程

AD域登录详细过程。AD域用户在一台加入域的客户端上输入“帐号+密码”之后到最终登录进去,这一过程背后详细的细节是怎样实现的?

1.怎样通过DNS找到DC?

2.又通过什么样的方法把帐号和密码发给DC验证呢?

有没有相关的非常详细的文档呢?谢谢。

回答:根据您的描述,我了解到您想了解AD域用户登录的详细过程。据我所知,域用户登录属于交互式登录。

1.当用户按下Ctrl+Alt+Del, 即SAS。

2.Winlogon检测到这个动作,就调用GINA, 显可能框,以便输入用户名密

码。

3.用户输入域名,账号和密码,确定后,GINA把信息发送给LSA进行验证。

4.LSA将请求发送给Kerberos验证程序包。通过散列算法,根据用户信息

生成一个密钥,并将密钥存储在证书缓存区域中。

5.Kerberos验证程序向KDC(Key Distribution Center)发送一个包含用户

身份信息和验证预处理数据的验证服务请求(KRB_AS_REQ),其中包含用户证书和散列算法加密的标记。您看到的文章来自活动目录

seo /category/active-directory/

6.KDC接收到数据后,利用自己的密钥对请求中的标记进行解密,通过解密

的标记是否正确,就可以判断用户是否有效。

7.如果用户有效,KDC将向用户发送一个TGT(Ticket Granting Ticket)响

应用户请求(KRB_AS_REP). 该TGT将用户的密钥进行解密,其中包含会话密钥,该会话密钥指向的用户名称,该票据的最大生命期及其他一些

可能需要的数据和设置等。在TGT的授权数据部分包含户帐号的SID以及该用户所属的全局组和通用组的SID。

8.LSA向域控制器上的KDC的票据验证服务请求服务票据(KRB_TGS_REQ),

其中包含要登陆的机器名,域名,用户的TGT及会话密钥。

9.KDC返回会话密钥和会话票据给LAS(KRB_TGS_REP).

10.LSA收到票据信息后,对其进行解密,然后查询本地SAM数据库(local

Security Account Manager database),看该用户是否隶属于本地某个安全组及其它用户权限,并将其组SID加到从票据数据中得到的列表。

11.系统通过这个列表生成访问令牌(access token),并为改用户创建桌面

对象,系统一些列子进程也将继承这个安全访问令牌。用户的身份验证信

息也将会缓存到本地。

客户端查找DC的过程:

1. 1.用户在加入域的客户端计算机上登录的时候,计算机会向本机的

netLogon 服务发送RPC请求,请求包括域名,站点,计算机名称等信息。

2. logon服务使用domain locator服务调用DsGetDcName()接口,向

其传递以下列表中的参数:

o

domain locator服务传递参数

o注:除了在查找PDC的情况下,DsGetDcName都会使用site参数,如果使用site参数的时候,请求得不到DNS服务器的回应,那么

DsGetDcName会使用不带site参数再次请求。举个例子,在使用

DS_KDC_REQUIRED 参数并且添加了site参数的时候,如果请求得

不到Dns服务器的响应,那么DsGetDcName会请求下面的DNS记

录:_kdc._tcp.dc._msdcs.forestrootdomain。site通过子网进

行划分,客户端通过所在的子网找到本子网的站点。

o注:列表中列出的是DsGetDcName API的部分参数,如您所述,他们确实是对应DNS中的PDC,GC,KDC,LDAP server记录。Netlogon

会调用DsGetDcName API收集所有可能会需要的信息,比如收集

PDC信息是因为当找本地DC做身份验证失败时,就会需要找PDC

做身份验证。收集GC信息是因为GC上存储着林中所有对象的一

部分属性,比如用户邮箱地址。

o登录过程是需要查找Kerberos记录来找到提供Kerberos验证服务的DC进行验证。上面域用户登录过程的第5步,Kerberos验证程

序向KDC发送用户信息和验证服务请求后,就需要通过kerberos

记录来找到Kerberos Key Distribution Center服务进行验证。

logon收集信息并查找DNS中的SRV记录。这个netlogon服务是本地

客户端上的。由它收集信息去查找DC.

4.DNS服务器返回客户端所请求的记录列表给客户端,并且按照优先级别和

权重进行排序。然后客户端使用LDAP协议连接上返回的第一个服务器的UDP389端口,当请求包发送完后,客户端等待0.1秒后如果没有收到回应,那么发送请求到下一个Domain server地址,直到接到回应或者尝试完所有地址。这里是请求连接。

5.当DC向客户端发送回应后,客户端检查Dc是否有其需要的相关信息,如

果有,客户端开始登陆. 哪个DC先响应请求,客户端就找其做身份验证。

客户端检查DC上是否有其需要的相关信息,即检查该DC是否包含该用户的身份验证信息能否为其做身份验证。例如由于复制延迟,某用户没有

被复制到该DC上,该DC无法为其做身份验证,客户端就会继续找下一个DC做身份验证。

6.客户端缓存DC的相关信息,以便在下次登录的时候直接使用。

更多信息,可以参考下面的链接:

/en-us/library/cc780332(v=ws.10).aspx /en-us/library/cc978019.aspx

Jessica Zhu

ad域登录过程的相关文章请参看

域客户端登录域控制器的过程

域客户端登录域控制器的过程

多域控制器登录验证

登录到指定的域控制器

—gnaw0725

相关文档
最新文档