AD域 登录过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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