平时我们在使用Windows XP时,总要先进行登录。Windows XP的登录验证机制比Windows 98严格很多,理解并掌握Windows XP的登录验证机制和原理对我们来说很重要,能增强对系统安全的认识,并能够有效预防、解决黑客和病毒的入侵。
一、了解Windows XP的
几种登录类型
1. 交互式登录
交互式登录是我们平常登录时最常见的类型,就是用户通过相应的用户账号(User Account)和密码在本机进行登录。有些网友认为“交互式登录”就是“本地登录”,其实这是错误的。“交互式登录”还包括“域账号登录”,而“本地登录”仅限于“本地账号登录”。
这里有必要提及的是,通过终端服务和远程桌面登录主机,可以看做“交互式登录”,其验证的原理是一样的。
在交互式登录时,系统会首先检验登录的用户账号类型,是本地用户账号(Local User Account),还是域用户账号(Domain User Account),再采用相应的验证机制。因为不同的用户账号类型,其处理方法也不同。
◇ 本地用户账号
采用本地用户账号登录,系统会通过存储在本机SAM数据库中的信息进行验证。所以也就是为什么Windows2000忘记Administrator密码时可以用删除SAM文件的方法来解决。不过对于Windows XP则不可以,可能是出于安全方面的考虑吧。用本地用户账号登录后,只能访问到具有访问权限的本地资源。(图1)
图1
◇域用户账号
采用域用户账号登录,系统则通过存储在域控制器的活动目录中的数据进行验证。如果该用户账号有效,则登录后可以访问到整个域中具有访问权限的资源。
小提示:如果计算机加入域以后,登录对话框就会显示“登录到:”项目,可以从中选择登录到域还是登录到本机。
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/windows/)2. 网络登录
如果计算机加入到工作组或域,当要访问其他计算机的资源时,就需要“网络登录”了。如图2,当要登录名称为Heelen的主机时,输入该主机的用户名称和密码后进行验证。这里需要提醒的是,输入的用户账号必须是对方主机上的,而非自己主机上的用户账号。因为进行网络登录时,用户账号的有效性是由受访主机控制的。
图2
3. 服务登录
服务登录是一种特殊的登录方式。平时,系统启动服务和程序时,都是先以某些用户账号进行登录后运行的,这些用户账号可以是域用户账号、本地用户账号或SYSTEM账号。采用不同的用户账号登录,其对系统的访问、控制权限也不同,而且,用本地用户账号登录,只能访问到具有访问权限的本地资源,不能访问到其他计算机上的资源,这点和“交互式登录”类似。
从图3的任务管理器中可以看到,系统的进程所使用的账号是不同的。当系统启动时,一些基与Win32的服务会被预先登录到系统上,从而实现对系统的访问和控制。运行Services.msc,可以设置这些服务。由于系统服务有着举足轻重的地位,一般都以SYSTEM账号登录,所以对系统有绝对的控制权限,因此很多病毒和木马也争着加入这个贵族体系中。除了SYSTEM,有些服务还以Local Service和Network Service这两个账号登录。而在系统初始化后,用户运行的一切程序都是以用户本身账号登录的。
图3
从上面讲到的原理不难看出,为什么很多电脑文章告诉一般用户,平时使用计算机时要以Users组的用户登录,因为即使运行了病毒、木马程序,由于受到登录用户账号相应的权限限制,最多也只能破坏属于用户本身的资源,而对维护系统安全和稳定性的重要信息无破坏性。
4. 批处理登录
批处理登录一般用户很少用到,通常被执行批处理操作的程序所使用。在执行批处理登录时,所用账号要具有批处理工作的权利,否则不能进行登录。
平常我们接触最多的是“交互式登录”,所以下面笔者将为大家详细讲解“交互式登录”的原理。
二、交互式登录,系统用了哪些组件
1. Winlogon.exe
Winlogon.exe是“交互式登录”时最重要的组件,它是一个安全进程,负责如下工作:
◇加载其他登录组件。
◇提供同安全相关的用户操作图形界面,以便用户能进行登录或注销等相关操作。
◇根据需要,同GINA发送必要信息。
2. GINA
GINA的全称为“Graphical Identification and Authentication”——图形化识别和验证。它是几个动态数据库文件,被Winlogon.exe所调用,为其提供能够对用户身份进行识别和验证的函数,并将用户的账号和密码反馈给Winlogon.exe。在登录过程中,“欢迎屏幕”和“登录对话框