Windows的Logon过程

交互式登陆(相反的是网络登陆)通过Winlogon,LogonUI 和credential providers,LSASS,以及authenticatin packages,还有SAM或AD等组件产生的。

Authenticatin packages是一些执行认证检查的DLL。

  • Kerberos是用于域登陆的Windows authenticatin package。
  • MSV1_0是用于交互式登陆到本地计算机的Windows authenticatin package。(默认)

Winlogon 依赖于安装在系统上的credential provders,它获取用户的账号和密码。

Credential provders是DLL中的COM对象,默认的providers是%SystemRoot%\System32\authui.dll 和 %SystemRoot%\System32\SmartcardCredentialProvider.
dll,支持密码和智能卡认证。

为了防止因为Credential provders的Bug而导致Winlogon挂掉,实际上加载Credential provders的是Logon UI。

Winlogon是唯一从键盘获取登陆请求的进程,通过消息从win32k.sys通过RPC发过来。Winlogon立即启动LogonUI程序显示界面。获取用户名和密码后,WinLogon调用LSASS验证用户的身份。如果认证通过,登陆进程代表用户激活一个登陆shell。

流程如下图:

 

为了支持其他 credential provider,LogonUI 可以加载其他网络的provider DLL用于二次验证。


Winlogon的初始化

  1. 创建并打开一个交互窗口(比如对象管理器中的\Sessions\1\Windows\WindowStations\WinSta0)。
  2. 创建两个桌面:1个是应用程序桌面,也就是\Sessions\1\Windows\WinSta0\Default,也叫做交互桌面。另一个是Winlogon桌面,\Sessions\1
    \Windows\WinSta0\Winlogon,也叫做安全桌面。只有Winlogon可以访问安全桌面。应用程序桌面则用户和Winlogon都可以访问。这种安排意味着任何时候Winlogon桌面都是激活状态,且没有其他进程可以访问安全桌面。Windows用安全桌面来保护安全涉及密码的锁和解锁桌面的操作。
  3. 没有用户登陆之前,可见的桌面是Winlogon桌面。有一个用户登陆后,按下SAS的3个键把切换默认桌面到Winlogon并启动Logon UI。这也解释了为什么所有交互桌面的窗口在SAS以后看起来像消失了。SAS永远会可以启动Winlogon控制的安全桌面。
  4. 与LSASS的LsaAuthenticationPort.建立一个ALPC连接,此连接用于在登陆,登出和密码操作时交换信息,由LsaRegisterLogonProcess操作。
  5. 注册Winlogon RPC消息服务器,从Win32k 监听SAS,Logff和锁屏通知。防止SAS按下后木马控制屏幕。
当Winlogon桌面创建后,变成激活的桌面。当Winlogon桌面是激活状态时,永远都是锁状态。仅在切换到应用程序桌面或屏幕保护时Winlogon才解锁其桌面。 只有Winlogon进程可以锁或解锁桌面。

用户登陆过程

SAS之后,Winlogon启动LogonUI,然后调用credential provider获取账号和密码。winlogon还创建一个唯一的SID给用户,然后把SID传给LsaLogonUser函数。如果登陆成功,SID将被包含在登陆token中,用于保护访问桌面。例如,当另一个相同账号从其他系统登陆过来时将不能写 第一个桌面,因为第二个登陆没有第一个登陆的token。

当账号和密码输入后,winlogon通过调用LSASS的LsaLookupAuthenticationPackage函数获取一个package的handle。Authentication packages都存储在注册表的HKLM\SYSTEM\CurrentControlSet\Control\ 下。Winlogon通过LsaLogonUser函数把登陆信息传给authentication package。一旦package通过认证此用户,Winlogon继续登陆,如果没有任何一个package能够验证成功,则登陆过程中止。


`saplogon.exe` 是 SAP 系统启动过程的一部分,用于加载系统图形界面,并提供一些基本设置选项。其中,字体的调整通常涉及到控制台或基于文本的用户界面的外观。 如果你想自定义 `saplogon.exe` 的字体设置,通常需要通过 SAP 的 GUI 设置或特定的配置文件来进行操作。具体的步骤可能会因 SAP 版本的不同而有所差异: ### 通用步骤 #### 使用 SAP GUI 配置字体 1. **打开 SAP GUI**:首先,你需要登录到你的 SAP 实例并打开 SAP GUI。 2. **进入配置菜单**:在 SAP GUI 中,找到并点击“工具”菜单下的“系统管理”,这将带你进入 SAP 系统管理界面。 3. **选择字体配置**:在系统管理界面中,你可以选择“字体”部分进行字体的配置。这里可以更改 SAP 窗口、文本框和其他控件的字体大小、样式等。 4. **保存并应用设置**:完成配置后,记得保存修改并关闭窗口。然后,重启 SAP 运行环境以使更改生效。 #### 修改注册表 对于更深入的定制,例如修改 `saplogon.exe` 直接相关的字体设置,你可能需要修改 Windows 注册表。注意,直接编辑注册表是一个高风险的操作,错误可能导致系统不稳定甚至崩溃。因此,建议先备份注册表以防万一。 1. **找到相关键值**:你需要找到与 SAP 登录界面相关的注册表键,通常涉及 `HKEY_LOCAL_MACHINE\SOFTWARE\SAPAG\LOGINSCREEN` 或类似的路径。 2. **编辑注册表**:通过注册表编辑器 (`regedit`) 打开这个键,并查找或创建与字体相关的项(如字体名称、尺寸等)。 3. **验证设置**:修改完毕后,重启电脑测试是否生效。需要注意的是,某些更改可能并不会直接影响到 `saplogon.exe` 的运行效果,因为这部分定制可能需要 SAP 应用程序本身的配合才能完全发挥作用。 ### 注意事项 - 对于安全性敏感的环境,建议谨慎对待注册表编辑。 - 修改系统设置前,最好了解其潜在影响以及如何回滚改变。 - 检查 SAP 官方文档或联系技术支持获取最准确的指导信息。 --- ##
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值