Windows域环境下用户/计算机网络认证凭据存储位置技术问询
Windows域环境下用户/计算机网络认证凭据存储位置技术问询
嘿,这个问题问到点子上了!域环境里用户和计算机的认证凭据存储其实要分开说,毕竟两者的身份逻辑不一样,我给你详细拆解:
一、用户网络认证凭据的存储
用户的凭据分本地缓存和域控核心存储两部分:
- 本地缓存凭据:如果用户曾经在这台机器上登录过(哪怕之后离线也能登录),对应的凭据会加密存在
C:\Windows\System32\config\SAM文件里。这个文件是系统核心文件,普通用户根本没有读取权限,而且用的是本地机器的密钥加密,就算拿到文件也没法直接破解。另外,你可以通过运行control keymgr.dll打开凭据管理器,这里会存一些更具体的网络凭据——比如映射网络驱动器的密码、远程桌面的登录凭据,还有短期的Kerberos票据缓存(不过Kerberos票据是临时的,过期或者注销后就会被清除)。 - 域控制器端存储:所有域用户的核心凭据(比如NTLM哈希、Kerberos相关的密钥)都存在域控制器的
NTDS.dit数据库里,路径是C:\Windows\NTDS\NTDS.dit。这个数据库是域的核心,所有域控之间会同步这份数据,确保不管用户连哪个域控都能完成认证。
二、域成员计算机的认证凭据存储
计算机作为域的成员,也有自己的身份凭据,同样分本地和域控端:
- 本地存储:本地的计算机账户凭据会存在
C:\Windows\System32\config\SAM(和用户本地缓存同个文件,但存储的是计算机账户的加密哈希),另外C:\Windows\System32\config\SYSTEM文件里会存储和域信任相关的加密密钥,用来和域控建立安全通信通道。 - 域控制器端存储:每台域成员机的计算机账户信息(包括加密的密码哈希)同样存在域控的
NTDS.dit数据库里。而且计算机账户的密码是系统自动轮换的(默认30天一次),这个过程完全自动,不需要管理员手动干预,用来保证域内机器身份的安全性。
最后提个关键细节:不管是SAM还是NTDS.dit里的凭据,都是经过高强度加密的,系统会严格限制这些文件的访问权限,就算是管理员,也得用专门的工具(比如ntdsutil)才能合法导出相关数据,普通手段根本拿不到明文凭据。
备注:内容来源于stack exchange,提问作者Quirik
相关产品推荐
相关产品推荐

