Windows身份认证过程
- 开机加载操作系统内核,windows启动之后,进入ntlogon.exe,即输入用户名和密码的界面。
- 当点击确定后,ntlogon.exe调用lsass.exe(Local Security Assistant)的LsaLogonUser API,该API 调用MSV_1_0身份验证程序包,MSV 身份验证包将用户记录存储在 SAM 数据库(C:\Windows\System32\config)中。
- ntlogon.exe会计算密码的LM(LAN Managere) Hash和NT(Windows NT) Hash
- lsass.exe会将这两种hash与SAM数据库中的进行对比。
- 登陆成功后,会指派一个权限令牌,在该用户的lsass.exe进程中。
- 远程登陆也是在本地计算好LMHash和NTHash,在网络中传输的是Hash而不是明文密码。
- 不同的登陆方式,在服务器端处理的方式也不同,大概有十几种:
- 本地登陆:NTML security package
- 域登陆:域控制器服务器kerbros协议来响应,kerbros security package
- 远程登陆:remote desktopsecurity package
- 在多个服务器端的安全包中,其中有1个包(wdigest)在内存中缓存了当前登陆用户的明文密码
- 推荐阅读Windows 中的 NTLM 用户身份验证
工作组
- 工作组就类似于目录,谁想加入某个工作组只要把工作组名字改成那个工作组即可。
- 访问网络中的计算机(文件共享)默认使用Guest账号,需要在被访问的计算机启用Guest用户并允许Guest用户远程登陆
- 启用Guest用户:此电脑–》管理–》本地用户和组–》用户–》Guest–》取消打勾“账户已禁用”。
- 允许用户远程登陆:控制面板–》管理工具–》本地安全策略–》本地策略–》用户权限分配–》找到 “拒绝从网络访问这台计算机”–》删掉其中的Guest这行。
域
- 而域则有一个域控制器(安装ActiveDirectory域控制服务的主机)来注册和管理域中的设备。
- 加入域的计算机在开机时或注销后可以选择登陆到域还是登陆到本机。
- 登陆到域需要使用域的用户和密码,一般管理员会给每个人都分配一个用户名和密码。
操作
- Win+R运行dcpromo将本机升级为域控制器
- Win=R运行dsa.msc管理域中的用户和设备
微软账户和本地用户
- 本地用户在数据在重装系统后丢失,微软账户可以同步OneDrive,邮件等等内容。
用户密码和PIN
- PIN是Windows系统新添加的一套本地密码策略,不仅提高安全性,而且也可以让很多和账户相关的操作变得更加方便。与微软账户和本地用户无关。
- 设置PIN:设置–》账户–》登陆选项–》Windows Hello PIN
远程连接
- 远程连接网络中的win10设备,需要在被连接的设备上设置”允许远程连接“,第一次连接需要输入用户名和密码,之后则需要在控制面板–》凭据管理器 中修改。
- 密码为空的账户默认无法远程登陆,需要在本地安全策略中修改。
- 控制面板–》管理工具–》本地安全策略–》安全选项–》”账户:使用空密码的本地账户只允许进行控制台登陆“修改为禁用。
其它
微软相关认证MSCE,MCST等
SAM (Security Account Manager)安全帐户管理器
OWF (One way function)单向函数