1.3 初次使用中的设置
系统安装好之后,第一次启动时,首先会看到一个向导,该向导可以帮助我们设置一些关键的选项,例如,可以创建账户、自定义当前账户的桌面环境、设置时区和网络类别,以及安全保护方式等。
下面以零售版Windows 7为例介绍首次运行时需要设置的选项。注意,如果是购买品牌机预装的OEM版Windows,整个过程可能会有所不同,因为品牌机厂商可能会在这个环节中增添一些自定义的选项和内容。
在Windows 7下,安装好系统第一次启动的时候,需要在向导中设置很多选项。下面将挑选其中涉及系统安全性的内容进行介绍。
首先是为自己创建账户,以及设置计算机名称的选项。单击“下一步”按钮后,还需要为自己的账户设置密码和密码提示,如图1-11所示。
这里需要注意,密码是可选的,如果认为没必要,也可以不输入密码。但因为这里创建的是管理员账户,为了安全起见,最好还是设置一个密码。同时,这里还可以选择是否使用密码提示,通过设置密码提示,如果登录时忘记了密码,Windows会自动显示这里输入的密码提示,帮助回忆密码。但是要小心,不建议使用密码本身作为密码提示,或者像有些人将类似“我的生日”、“我的手机号码”之类比较容易让人猜测到的密码短语作为密码提示。因为密码提示任何人都可以看到,如果别人打算使用我们的账户登录系统,但不知道密码,如果通过“我的生日”之类的短语猜到我们的密码,那么这个密码就没有意义了。有关密码安全性的信息,请参考下文相关内容;有关密码提示的详细信息,请参考1.3.2.1节的相关内容。
接着可以在如图1-12所示的界面上设置Windows安全选项,只要从提供的选项中根据需要选择即可。
图1-11 为账户设置密码和密码提示
图1-12 设置Windows 7的安全选项
这三个选项之间到底有什么区别?
使用推荐设置 这个选项可以启用Windows自动更新、Windows Defender、Windows问题报告和解决方案,Internet Explorer仿冒网站筛选等功能的默认设置,并会设置让Windows通过Windows Update获取有关设备驱动程序的更新,通常建议选择这个选项。
仅安装重要的更新 这个选项只启用Windows Update功能,并且只安装关键更新和安全更新,上面提到的其他选项都不会启用。如果没有特殊原因,不建议选择该选项。
以后询问我 如果选择该选项,那么以后每次登录Windows的时候都会被询问,直到选择了上面任何一个选项。
如果计算机上安装了网卡,并且在安装Windows的过程中已经安装了系统自带的网卡驱动,网卡可以正常工作,那么随后还可以看到如图1-13所示的选择网络位置的选项。
图1-13 选择恰当的网络位置
网络位置是从Windows Vista开始出现的一项功能,简单来说,就是根据网络的实际类型做出适合的配置,这些配置还会被应用给Windows自带的防火墙。举例来说,如果这台计算机是在家里或者办公室里使用的,那么根据实际情况选择“家庭网络”或“工作网络”后,Windows就会根据我们的选择打开网络发现功能,方便查找局域网上的其他计算机;打开文件和打印机共享功能,方便与其他计算机共享文件。但如果我们正在公共场所使用计算机,例如在机场或者咖啡馆,很明显,为了安全,这种场合下最好能禁用网络的共享以及发现功能。
网络位置功能的优势就在于,我们不再需要根据网络环境手工设置,所有的设置都是自动的。当第一次连接到一个网络的时候,Windows会询问该网络的位置,并提供选项供选择。一旦选择好,那么下次如果再连接到该网络,系统将不再询问,直接应用同样的设置。当然,如果有需要,我们也可以手工修改。
关于网络位置和Windows防火墙的详细内容,请参考本书第8章“网络防火墙”中的相关内容。
如果这台计算机位于局域网中,局域网中有其他运行Windows 7的计算机,并且创建了家庭组(家庭组是Windows 7中新增的共享功能,详细信息请参考本书7.1.1节),那么还可以通过输入密码的方式加入该家庭组(如图1-14所示),这样就可以直接访问家庭组中所有共享的资源。
如果当前所在局域网中尚未创建家庭组,则可以在这里创建家庭组,并设置密码。
有关家庭组的使用,在这里只简单提及该功能,要了解家庭组的创建和加入、资源的共享和访问,以及退出等更详细的内容,请参考本书第7章的相关内容。
图1-14 创建或加入家庭组
1.3.1 新建账户并创建密码
所有基于Windows NT的操作系统都是多用户操作系统。那么什么是多用户操作系统?这种系统和单用户操作系统相比又有什么优势呢?
我们很多人的计算机都是要和多个人共同使用的,例如,放在家里的计算机,可能每个家庭成员都需要使用。如果是传统的单用户操作系统,那么每个人在使用计算机的时候都只能使用一个公用的账户,这样,一个人对系统更改的设置(例如更换墙纸、屏幕保护,甚至设置Internet Explorer的收藏夹、Cookie等)都会被其他人直接使用,不仅不方便,还有可能造成隐私泄露。但在多用户操作系统中就简单多了,每个人都可以使用自己的账户和密码(如果有的话)登录。这样一个人对某些选项(主要指针对当前用户的设置,而非针对整个系统的设置)的设置都只能被这个人使用。例如,我们自己设置的墙纸或者Internet Explorer收藏夹的内容,别人都看不到。
因此,使用多用户操作系统为每个用户创建一个账户,并使用密码将账户保护起来,这是实现计算机安全的一个很重要的先决条件。
1.3.1.1 账户和账户组的概念
账户是很有用的,那么Windows中都有哪些账户,这些账户对系统具有怎样的权限,账户组又是什么意思,这些是本节要介绍的内容。
首先需要明白,在Windows中,有两个系统自带的账户:Administrator和Guest,其中,前者属于管理员账户,对系统具有完整的控制权限;后者是来宾账户,只能对系统采取最基本的操作,无法修改系统设置。除了这两个账户外,在Windows中还有其他一些账户,主要用于一些特殊的环境,例如,用于进行远程协助的账户等,这些账户默认都没有启用,而且一般用户很少需要,因此,这里不再详细介绍。
在Windows中,根据权限的不同,基本上有以下三种账户。
● 管理员Administrator账户:就是管理员账户。除此之外,当我们安装好系统第一次启动的时候,在欢迎界面上创建的也都是管理员账户。管理员账户隶属于Administrator组,对系统拥有所有的权限,这些权限包括:
➢ 创建、更改和删除用户账户和组。
➢ 安装和卸载软件。
➢ 配置自动更新,或者手工更新系统。
➢ 安装ActiveX控件。
➢ 安装或删除硬件设备驱动。
➢ 共享文件夹。
➢ 设置权限。
➢ 访问所有的文件,包括其他用户的个人文件。
➢ 获得文件或文件夹的所有权。
➢ 将文件复制或移动到系统目录中。
➢ 从备份中还原文件。
➢ 给其他用户或者自己分配访问权限。
➢ 配置家长控制功能。
➢ 配置Windows防火墙。
➢ 登录系统到安全模式。
● 标准用户:默认情况下,系统中没有自带标准用户,但我们可以根据实际需要创建标准用户(“标准用户”是Windows 7等新版本Windows的叫法,在Windows XP及之前的版本中,这种账户被叫做“受限账户”)。标准用户隶属于Users组,虽然标准用户可以修改绝大部分非关键系统设置,不过却不能修改可能会影响系统安全性或稳定性的设置。标准用户具有的权限包括:
➢更改自己账户的密码或显示图片。
➢ 使用安装在本机的程序。
➢ 安装批准的ActiveX控件。
➢ 配置安全的WiFi连接。
➢ 查看权限(对于Windows XP,要求管理员把已经禁用了的简单文件共享)。
➢ 在自己的文档文件夹或者共享文档文件夹中创建、更改或删除文件。
➢ 还原自己文件的备份。
➢ 查看系统时钟和日历。
➢ 配置电源选项(仅限Windows Vista及以上系统)。
➢ 登录到安全模式(仅限Windows Vista及以上系统)。
● 来宾用户:默认情况下,系统中只有一个Guest账户属于来宾用户,而且我们没办法直接利用控制面板中的用户账户工具创建其他来宾用户。来宾用户隶属于Guest组,拥有与标准用户类似的权限,但受到的限制更多。同时,系统自带的Guest账户和其他隶属于Guests组的来宾用户的权限也有区别,例如,Guest账户无法给自己设置密码,但其他来宾用户可以。
除了用户账户,在Windows中还有一类安全主体需要注意,那就是账户组。前面我们已经提到过账户组的一些内容,例如管理员账户隶属于管理员组、标准用户隶属于Users组、来宾用户隶属于Guests组。那么到底什么是账户组,账户组又有什么作用呢?
顾名思义,账户组就是一组用户的集合,简单地说,如果一组用户具有相同的权限,那么就可以创建一个组,将这些用户全部添加到该组中。账户组在企业中使用得比较广泛,例如,如果企业中每个部门所有员工的账户所需要的权限都一样,例如市场部的所有员工都需要一样的权限,而财务部员工则需要一样的权限,那么在为这些人创建账户的时候,最笨的办法就是创建好每个账户后挨个为所有的账户设置权限,这样不仅操作烦琐,而且容易造成遗漏或者错误。这时候就可以使用账户组,例如,为市场部创建一个组,为财务部创建一个组,针对这些组来设置权限,然后将员工按照实际情况添加到不同的组中,这样每个员工也就有了和自己所在组一致的权限设置。这样做不仅方便,而且日后如果员工转换工作岗位,操作起来也很简单,只要把员工从一个组中删除(这里删除的只是用户和账户组之间的对应关系,而非账户),并添加到另一个组就可以了。
Windows中自带的组有很多,不过一般情况下都很少用到。我们只需要记住最常用的组就行了,这些组是Administrators组(注意,名称末尾带有“s”,代表这是一个账户组,而不是Administrator账户)、Users组,以及Guest组。这些组所具有的权限就是上文介绍的管理员账户、标准账户,以及来宾账户相对应的权限。
1.3.1.2 创建账户和账户组
本节将介绍在Windows 7下如何创建用户账户和账户组。需要注意的是,如果希望进行这些操作,首先需要使用管理员账户登录Windows。
1.创建用户账户
在Windows 7中,如果希望创建用户账户,可以按照下列步骤操作:
Step 01 依次单击“开始”→“控制面板”→“添加或删除用户账户”。
Step 02 单击“创建一个新账户”链接。
Step 03 在随后出现的页面上输入该账户的名称,并选择希望使用的账户类型。设置好之后单击“创建账户”按钮,即可完成创建。
同样,通过上面的方法只能创建管理员账户或受限账户,虽然大部分情况下都已经够用了,但如果因为某种原因需要创建隶属于其他组的账户,依然需要使用计算机管理控制台中的本地用户和组管理单元。为此,请按照下列步骤操作:
Step 01 打开“开始”菜单,在搜索框中输入“lusrmgr.msc”并按回车键,打开本地用户和组控制台。
Step 02 在窗口左侧的控制台树列表中,鼠标右键单击“用户”节点,选择“新用户”,随后可以看到如图1-15所示的“新用户”对话框。
Step 03 最基本的情况是,只需要输入用户名即可创建账户。如果有必要,还可以输入描述、密码等信息,并通过提供的选项设置账户属性。
图1-15 “新用户”对话框
Step 04 设置完毕后单击“创建”按钮,接着单击“关闭”按钮。
按照上述方法创建的账户隶属于“Users”组,属于标准账户,无法执行管理任务。如果需要创建具有管理员权限的账户,则需要调整该账户的隶属关系,具体做法可参考下文。
2.创建和管理账户组
账户组和账户一样,不仅可以创建、删除,还可以对其设置权限。另外,我们还可以编辑组关系,简单地说,就是将新账户加入组,或者将某个账户从组中删除。账户组的所有操作都是在计算机管理控制台的本地用户和组管理单元中进行的。
要想创建账户组,请按照下列步骤操作:
Step 01 打开“开始”菜单,在“计算机”上单击鼠标右键,选择“管理”,打开计算机管理控制台(也可直接运行“compmgmt.msc”打开)。
Step 02 在左侧的控制台树中进入到“计算机管理”→“系统工具”→“本地用户和组”→“组”节点。
Step 03 随后,系统中现有的组都会列在窗口右侧的面板中,双击其中一个组可以打开并调整对应的设置。
Step 04 如果希望新建组,请用鼠标右键单击“组”节点,打开如图1-16所示的“新建组”对话框。
Step 05 在“组名”和“描述”两个文本框中输入该组的名称和描述,其中的名称是必需的,描述是可选的。接着可以单击“添加”按钮为组添加账户。
Step 06 单击“添加”按钮后可以看到如图1-17所示的“选择用户”对话框。
图1-16 在这里输入要创建的组的相关信息
图1-17 选择要加入该组的账户
这里需要注意,因为需要添加的内容是用户账户,因此,在“选择此对象类型”选项下应该确保至少选择了“用户”,默认设置即可。又因为是针对本机进行的操作,因此,请确保“查找位置”处显示的是本机的名称。接着只需要在“输入对象名称来选择”文本框中输入要添加的账户的名称,然后单击“检查名称”按钮进行确认即可。如果希望一次添加多个账户,请使用半角分号(;)将不同账户隔开。
如果知道要添加的账户的名称,也可以单击“高级”按钮,在随后出现的“选择用户”对话框中单击“立即查找”按钮,这样程序会自动列出所有的本地账户,我们只需要双击目标账户,即可将其添加进来。
Step 07 将所有希望添加的账户都选中后单击“确定”按钮,即可返回如图1-16所示的“新建组”对话框,同时之前选中的账户都会出现在成员列表中。如果希望删除其中的某些成员,只需要将其单击选中,然后单击“删除”按钮即可。
Step 08 添加了需要的账户后,单击“创建”按钮,这个组就创建好了。
按照上面的方法可以创建账户组,并添加需要的账户到该组中。但日后如果需要调整组关系或者组本身的设置又该怎么办?例如,需要给一个组中添加更多的账户,或者将其中的某个账户删除。这时候只需要在“组”节点下双击目标组,即可看到如图1-18所示的“组属性”对话框,并且成员列表中显示了该组的所有账户。
如果需要添加新的账户到该组中,只要单击“添加”按钮,然后像创建组时那样操作,即可将账户添加进来。如果需要删除某个组成员,也只需要将其单击选中,然后单击“删除”按钮。
我们有时候可能需要进行另一种方式的调整。例如,市场部的员工都位于名为“市场部”的组中,但其中一位员工被调动到财务部工作了,我们需要将他对应的账户在“市场部”组中的关系删除,并将其添加到“财务部”组中。如果同样按照上面的方法操作,难免有些烦琐,这时候我们可以进入“用户”节点,单击该员工的账户,打开属性对话框中的“隶属于”选项卡,如图1-19所示。
图1-18 查看和调整组的成员关系
图1-19 在此可针对具体账户调整组关系
我们只需要在“隶属于”列表中选中希望删除组关系的组,并单击“删除”按钮,然后单击“添加”按钮,选择希望添加到的组即可。
1.3.1.3 设置安全的密码
假设已经按照上文介绍的方法给每个用户创建好了各自的账户,这时候该考虑使用密码保护每个人的账户。
通常,我们在安装好Windows后,通过“控制面板”中的“用户账户”工具创建的账户都是无法直接设置密码的,在这种情况下有两种选择:使用计算机管理控制台中的“本地用户和组”管理单元更改其他账户的密码,或者让每个人使用自己的账户登录系统,然后更改密码。
1.使用自己的账户登录后设置密码
如果想要设置自己的账户,也就是说,在账户没有使用密码的情况下加入密码,可按照下列步骤操作:
Step 01 在使用目标账户登录后,按下“Ctrl+Alt+Del”组合键打开Windows安全界面,在这个界面中单击“更改密码”按钮(没错,虽然需要创建密码,不过在这里却要单击“更改密码”按钮),可以看到如图1-20所示的界面。
图1-20 在这里可以创建或更改密码
Step 02 因为当前没有密码,需要新建密码,所以在“旧密码”一栏留空,并将想要使用的密码输入到“新密码”和“确认密码”这两栏即可。输入完毕后直接按下键盘上的回车键,或者单击“确认密码”一栏右侧的箭头按钮即可。
2.给其他账户添加密码
除了让每个用户使用自己的账户登录后创建密码外,管理员还可以直接给其他账户(可以是标准用户,也可以是其他管理员用户)创建密码。这个工作可以在“控制面板”的用户账户工具中进行,也可以使用计算机管理控制台的本地用户和组管理单元完成。
Step 01 打开“开始”菜单,在“计算机”上单击鼠标右键,选择“管理”,打开计算机管理控制台。
Step 02 在左侧的控制台树中进入到“计算机管理”→“系统工具”→“本地用户和组”→“用户”节点,随后可以看到本机已经创建的所有用户的账户。
Step 03 用鼠标右键单击想要创建密码的账户,并从右键菜单中选择“设置密码”项,随后,Windows会显示类似图1-21所示的警告信息。
图1-21 询问是否要给其他账户设置密码
注意 这个警告信息是一项安全措施。在单机和工作组环境中,当我们在 Windows操作系统中使用管理员账户为其他管理员或非管理员账户创建或修改密码之后,都有可能导致非常严重的后果,例如目标账户的EFS加密文件、在Internet Explorer浏览器中保存的密码等信息都将无法访问。因此,在进行这个操作的时候一定要谨慎,建议只对新创建的并且还没有登录过的账户这样操作。同时,如果因为该操作导致目标用户原本可以访问的某些文件无法访问,可以将密码重新改回原来的,这样文件将可以恢复访问。
Step 04 单击“继续”按钮后,可以看到为账户设置密码的窗口,在这里输入新密码和确认密码,并单击“确定”按钮即可。
3.什么是安全的密码
相信大家都知道密码的重要作用,然而并不是设置了密码就可以保证绝对的安全,因为有时候,不安全的密码给系统安全造成的影响甚至比完全不使用密码更严重。
如果要创建安全的密码,首先必须保证密码有足够的长度,同时在保证长度的前提下增加密码的组成元素。例如,假设用26个小写英文字母组成一个7位的密码,那么可能的密码组合就有267个,而如果用26个大小写英文字母(也就是说,一共有52个字符)组成一个7位的密码,可能的密码组合就有527个。如果增加长度呢?假设使用26个英文字母的大小写形式,一共52个字符创建15位的密码,那么就有5215种不同的组合。可见,随着密码长度和复杂性的增加,可选的密码组合会呈指数趋势增长,进而要破解的难度和所需的时间也会显著增加。
在设置密码之前,这里列出一些关于Windows操作系统对密码的要求可供参考。
● 新的Windows操作系统(Windows XP/Vista/7)最多可使用长达127个字符的密码。
● 密码长度不应少于8个字符。
● 密码中不建议使用账户名或者任何与用户个人信息有关的内容。
● 密码中不应该使用完整的可以在字典中查到的单词。
● 密码最好每隔一段时间更换一次,同时新换的密码不应该与旧密码过于相似。
● 密码是大小写敏感的(在Windows系统中,密码是唯一大小写敏感的对象)。
● 密码可以由大写英文字母、小写英文字母、数字、特殊符号甚至ASCII字符组成。
知道这些规则后,很容易就可以创建出安全的密码,然而在创建密码的时候还需要注意以下问题:
● 密码在保证复杂性的同时还需要易于记忆。
● 永远不要把密码写在纸上,更不要把密码写到贴在显示器边框的记事贴中。
● 不同的场合和用途请尽量使用不同的密码。
如果配合这些建议,要想设置一个既复杂又好记的密码,就不那么容易了,不过还是有好办法。我们可以借助古诗词、格言警句或者自己喜欢的歌词来生成密码,例如,如果要用“不以善小而不为”这句话生成密码,可以首先将其转换为全拼的拼音,每个字的拼音首字母大写,其余字母小写,并在每个字的拼音后面用数字代表音调,这样就得到了“Bu4Yi3Shan4Xiao3Er2Bu4Wei2”一个比较安全的密码,其长度合适,里面包含了大小写英文字母和数字。但我们还可以让这个密码更安全,例如将“Shan”中的字母“S”换成美元符号“$”,将字母“a”换成符号“@”等一些特殊字符。这样的密码不仅好记,而且难以破解,要想通过穷举等方法猜测,那几乎是不可能的。
注意 如果非常关注密码安全问题
上文中已经讨论过计算机物理安全对整个系统安全性的影响,而在撰写这部分内容时,网络上出现的一则新闻(http://tinyurl.com/ybcmwdo)使得这个问题更值得关注。
在单机和工作组环境中,Windows账户的密码都存储在位于本地硬盘上的SAM数据库中。在Windows正常运行的过程中,SAM数据库会被锁定,可如果系统被关闭,例如,有人将我们的硬盘连接到其他计算机,或者直接使用一些工具光盘引导计算机,就可以在硬盘上的Windows没有运行的情况下,直接读取SAM数据库或其他机密信息。虽然账户的密码会被采用不可逆的加密算法加密保存,然而通过暴力穷举,只要有足够的时间,密码的破解一样是可以实现的。
根据网上这篇新闻的介绍,只要有足够快的数据读写速度,一套使用Athlon X24400+处理器的普通家用计算机,搭配一块装满彩虹表(彩虹表可以理解为暴力破解的字典,其中存储了大量可能的字符串组合,而此时的破解就是使用不同的组合挨个尝试,直到找出正确的组合,也就是需要的密码)的80GB固态硬盘(固态硬盘可以保证高速读取,进一步降低破解所需的时间),就可以在5.3秒时间内破译包括52个字母、10个数字或33个特殊字符组成的14位Windows XP密码。
这样做可以直接看到一个账户的密码,而下文我们还将介绍一些免费的工具,通过这些工具甚至可以在不需要知道原有密码的情况下,直接强制更改某一账户的密码。但这些做法都有一个前提,必须能够在绕过Windows安全机制的情况下,用类似“脱机”的形式访问硬盘上的文件。因此,确保系统安全的一个前提就是,一定要保证计算机的物理安全。当然如果有必要,还可以使用本书介绍的BitLocker功能将系统盘进一步加密,这样别人就算拿到我们的硬盘,也无法读取其中的数据,更不用说破解我们的账户密码。
1.3.2 忘记密码后的操作
密码是很重要的,我们都应该牢记。然而很多人却经常会忘记密码,这时候也不用慌张,是有办法解决的。
1.3.2.1 密码提示
在任何时候,我们都可以给自己的账户指定一个密码提示,这样在忘记密码后就可以借助密码提示回想密码。但在使用密码提示的时候需要注意,任何人只要能物理上接触到我们的计算机,就能看到密码提示。因此,在选择密码提示的时候尤其需要注意,密码提示必须可以让我们回忆起自己的密码,但又要能保证其他看到的人无法猜测密码。例如,如果用自己的生日作为密码(很多人都这样做),但又使用“我的生日”作为密码提示(很遗憾,依然有很多人这样做),那么别人只要对我们稍微有所了解,密码也就彻底失去作用了。
还是以上文的例子来说吧,如果使用“Bu4Yi3$h@n4Xiao3Er2Bu4Wei2”作为密码,应该怎么设置密码提示?当然可以用“不以善小而不为”作为提示,但有心机的人很容易根据这句话猜测密码,这时候可以使用“要做什么”之类的短语作为提示,这种问题的答案很多,一般陌生人不可能在短时间内猜对。
我们可以在给账户创建密码的同时创建密码提示,或者也可以在创建好密码后只创建或者修改密码提示。如果在创建密码的同时希望创建密码提示,只要在相应的文本框中输入密码提示就可以了。
如果在创建密码的时候没有设置密码提示,而是希望以后设置,或者在创建了密码提示后希望修改,那么可以按照下列步骤进行:
Step 01 打开“开始”菜单,依次单击“控制面板”→“用户账户和家庭安全”→“更改Windows密码”,随后可以打开当前登录账户的设置页面。
Step 02 单击“更改密码”链接。
Step 03 在随后打开的更改密码页面上,在“当前密码”、“新密码”和“确认新密码”文本框中都输入当前使用的密码,然后在“键入密码提示”文本框中输入要使用的密码提示。
Step 04 单击“更改密码”按钮,这样就可以在不更改现有密码的情况下创建或者更改密码提示。
Step 05 如果希望在创建密码提示的同时更改密码,则可以在“当前密码”文本框中输入现在正在使用的密码,然后在“新密码”和“确认新密码”文本框中输入新的密码。
在设置好密码提示后又忘记了密码的情况下,就可以使用密码提示帮助自己回忆密码。
对于Windows 7,在欢迎屏幕上默认并不会显示密码提示,也不提供能够打开密码提示的按钮。只有当使用错误的密码尝试登录并失败后,Windows才会报告密码错误,单击“确定”按钮后会回到欢迎屏幕,这时候密码提示就会直接显示在密码框的下方,如图1-22所示。
图1-22 欢迎屏幕上显示的密码提示
1.3.2.2 密码重设盘
在忘记密码之前,还可以随时给自己的账户创建一张密码重设盘,这样日后就算忘记了密码,只要提供密码重设盘就可以重置密码。同时这张盘的好处在于,就算在创建密码重设盘之后自己修改了密码,在提供了重设盘之后依然可以重设密码。
在老版本Windows中就提供了创建密码重设盘的功能,不过当时只能使用传统的3.5寸软盘作为密码重设盘,而现在依然配置软驱的计算机已经很少了,因此,在Windows 7中,除了最传统的软盘,还可以使用U盘或者光盘,这样更加方便。
要创建密码重设盘,请按照下列步骤操作:
Step 01 打开“开始”菜单,依次单击“控制面板”→“用户账户和家庭安全”→“更改Windows密码”,随后单击窗口左侧任务列表中的“创建密码重设盘”链接,打开忘记密码向导。
Step 02 在向导的第二个页面中,列出了本机所有的可移动存储设备,例如软驱、U盘或者光盘刻录机。因此,如果想要使用软驱,请事先插入软盘;如果希望使用U盘或移动硬盘,请事先将其与计算机连接;如果想要使用光盘,请事先将空白光盘放入光驱。选择好想要使用的设备后,单击“下一步”按钮。
Step 03 输入当前账户的密码,继续单击“下一步”按钮。
Step 04 稍等片刻,密码重设盘就创建好了。
如果日后忘记了自己的登录密码,那么在欢迎屏幕上输入了错误的密码后,Windows会在密码输入框下方显示一个“重设密码”按钮,单击它后可以打开重置密码向导。在向导中选择密码重设盘的来源,经验证无误后,输入新的密码和密码提示即可。
在使用密码重设盘时有一些问题需要注意:密码重设盘实际上真正生效的是其中保存的一个密钥文件。因此,完全可以将这个密钥文件复制并保存到不同的位置。但正因为如此,这个文件的安全性就非常重要,任何人只要获得这个文件,都可以重设我们的Windows账户密码。因此,对于充当密码重设盘的设备(例如U盘或移动硬盘),建议不要用于其他操作,以免被盗用。
另外,密码重设盘并不影响受修改密码操作的影响。也就是说,在创建密码重设盘后,如果修改了账户密码,那么并不需要重建重设盘,使用原来创建的重设盘依然可重设修改后的密码。
1.3.2.3 其他破解工具
对于计算机用户来说,最头疼的情况是没有创建过密码提示或者密码重设盘,或者虽然创建了,但是因为各种原因没能生效。这时候难道只能重装系统?其实这时候可以考虑使用其他工具,这类工具通常都是可引导介质,例如光盘或者软盘,用这些介质引导计算机后可以进入其他操作系统(DOS或者Linux)下,在这些操作系统中直接对Windows的SAM(里面保存了所有本地账户的安全信息)文件进行破解,即可查看系统中每个账户的密码,或者在不知道密码的情况下修改密码(这类工具软件很多,功能各有差别,但基本都可以用于重设或者查看忘记的密码)。
还有一个问题需要注意:对于Windows 2000操作系统,如果能在操作系统没有运行的情况下删除Windows 2000的SAM文件,那么账户的密码将会被清空。这个方法只能用于Windows 2000,然而网上有很多不负责任的文章说该方法可以用于Windows XP/Vista/7等较新的系统,很多人照做后导致系统崩溃。请一定要记住,删除SAM文件的方法对Windows XP以后的系统都无效。
这类工具有很多,其中有些是售价昂贵的商业软件,但也有可以免费使用的软件。为了节约成本,本书会介绍一个叫做Offline NT Password & Registry Editor(下文统一简称为Editor)的免费软件,该软件可以在不知道当前密码的情况下脱机重设单机或工作组环境下Windows操作系统本地用户账户的密码,可支持单机和工作组环境下32 位以及64 位的Windows XP/Vista/7/2003/2008等系统。该软件的下载地址是:http://tinyurl.com/ycgj7qh。
注意 这并不算是安全漏洞
有人会问了,如果随随便便用一个软件就可以重设Windows账户的密码,那Windows还有什么安全性可言。其实这要从Windows保存本地账户的登录信息的方式,以及这类软件的工作原理说起。首先要明白一个问题,这类软件通常只能用于单机或者工作组环境下的Windows操作系统,因为在这样的环境下,Windows中只有本地用户账户,同时账户的名称以及登录密码等信息都保存在一个叫做SAM(Security Account Manager,安全账户管理器)的文件中,该文件位于%SystemRoot%\system32\config文件夹下。当我们登录的时候,Winlogon进程首先会获取我们在欢迎屏幕或者“Windows登录”对话框中提供的用户名和密码,并将获得的信息和SAM数据库中保存的记录进行对比。如果能够找到匹配的项目,则证明该用户名和密码是有效的,可以继续进行登录;如果找不到匹配的项目,用户就会被拒绝登录。
所有这类可以查看或者重设Windows账户密码的软件实际上都是在破解SAM文件。在Windows运行的情况下,SAM文件通常会被操作系统锁定,无法直接读取或者复制,然而通过很多方法可以绕过这一限制,例如,将硬盘连接到其他计算机上直接读取,或者使用引导光盘将计算机引导到特殊的DOS或者Linux环境下读取。而一旦可以读取到SAM文件,虽然SAM文件中的信息是被加密的,但理论上,任何加密方法都可能被破解,只不过区别在于破解所需的时间。
要避免这种危险其实也很简单,首先,一定要保证重要计算机的物理安全。相信大家都已经知道,要破解SAM文件,必须在操作系统没有运行的情况下进行,这叫做脱机攻击。例如破解者必须能够拿到计算机的硬盘,或者使用具有引导功能的软盘或光盘引导计算机。只要能够有效地保证计算机的物理安全,这类程序在很大程度上都将失效。
另外,在条件允许的情况下请尽量使用长密码。因为根据计算,密码长度增加,破解的难度和所需时间将会呈指数方式增长。同时配合长密码,我们还需要按照实际情况频繁更换密码。例如,假设当前使用的密码复杂程度决定了要破解该密码需要长时间的运算(假设需要40天),而我们每30天就更换一次密码。这样破解者就算能够计算出密码,等计算出来后,我们的密码早已经更换了。因此,可以通过组策略限制Windows对密码的加密方式,以及通过其他密码策略增强系统安全性,相关内容请参考本书3.1节“账户策略”的内容。
对于Windows 7企业版和旗舰版,其中包含的BitLocker功能也可以有效地防范对操作系统的脱机攻击。有关BitLocker的详细信息,请参考本书第12章的相关内容。对于不包含BitLocker功能的Windows 7版本,则可以使用系统自带的Syskey程序。详细信息请参考本书1.3.4.2节“Syskey”的相关内容。
需要注意的是,对于域环境中的Windows系统,这类软件往往也只能针对本地账户生效,而无法对域账户生效。因为域账户的登录信息都是保存在域控制器上的,因此,域环境在这方面的安全性要更高一些。
虽然简单介绍了如何防范对操作系统的脱机攻击,不过有时候我们可能依然需要进行这种操作。例如,公司员工离职前忘了将自己的账户密码告诉同事,或者忘记了自己家里计算机的登录密码。需要提醒大家注意的是,这类软件很容易获得,而且使用方法也很简单,但随意对他人的计算机进行攻击或者盗用可能会触犯法律。
首先访问Editor的网站,并单击网页顶部的“Bootdisk”按钮,在随后的页面上拖动网页,在网页中部找到“Download”栏目,这里列出了所有可供下载的链接。因为Editor可以使用多种介质引导计算机,例如软盘、光盘或者U盘,因此,首先需要按照想要使用的介质下载对应的版本,例如,如果希望使用光盘引导计算机(不建议使用软盘版本,因为根据网站上的说明,软盘版本可能会让Windows崩溃),可以选择标记为“Bootable CD image”的文件来下载,文件大小在3 MB左右。在写本书的时候,Editor的更新日期是2008年8月2日。
在使用该软件之前,有一些问题需要注意:
● 该软件可以用于单机或工作组环境下的所有Windows NT/2000/XP/2003/Vista/7系统,同时可以用于64位Windows系统。
● 如果希望重设Windows中某个账户的密码,而该账户有EFS加密文件,那么重设密码后,所有的EFS加密文件都将无法读取和解密。
● 对于光盘版本,下载回来的文件解压缩后可以得到一个.iso文件,请直接使用光盘刻录软件将该文件以光盘镜像的形式刻录到CD刻录盘上。注意,一定要以光盘镜像的形式进行刻录,而不能像普通文件那样刻录,否则刻录的光盘将无法引导计算机。对于Windows 7,本身就可以将ISO文件以光盘镜像的形式刻录,为此只需要在解压缩出来的ISO文件上单击鼠标右键,指向“打开方式”,选择“Windows光盘映象刻录机”即可。
准备好这样一张光盘后就可以开始了,下面将以破解64位Windows 7的账户密码为例进行介绍。
Step 01 将刻录好的光盘放入光驱中,然后重启计算机,并让计算机从光驱引导(可能需要调整BIOS设置,具体方法请参考计算机或主板的说明书)。
Step 02 光盘引导计算机后,首先会显示一些引导选项,例如,是否启用USB设备,以及显示参数设置等。通常情况下使用默认选项即可,因此,可以直接按下回车键,开始进行引导,这将会把计算机引导到一个运行在光盘上的Linux环境下。
Step 03 看到图1-23所示的界面后,就表示系统已经引导成功了。
Step 04 注意屏幕底部,如果计算机中安装了多块硬盘,程序首先会让我们选择操作系统所在的硬盘。但如果计算机上只安装了一块硬盘,就会跳过这一步,然后要求我们选择安装了操作系统的分区,或者使用下列选项:
q:退出。
d:自动加载硬盘。
m:手工加载要使用的硬盘。
f:从软驱/USB设备获取所需的磁盘控制器驱动。
a:显示找到的所有分区。
l:只显示符合条件的Windows(NTFS)分区。
图1-23 用光盘成功引导后显示的界面
让我们回头再看看程序提示的信息,首先注意在屏幕底部有这样一行内容:
Disks: Disk /dev/sda: 536.8 GB
这一行显示了当前选中的硬盘位置以及容量。在这一行下方的内容是:
Candidate Windows partition found: 1: /dev/sda1 100MB Boot 2: /dev/sda2 511898MB
表示在Disk /dev/sda这块硬盘上找到了两个可能的Windows分区(一个100 MB的隐藏分区,一个包含Windows系统文件的分区,此时需要处理的是包含Windows系统文件的分区,也就是sda2)。因此,需要输入“2”并按回车键。
如果这里没有列出任何硬盘,那么请输入“d”或“m”并按回车键,重新加载硬盘。如果硬盘已经加载,但没有显示任何分区,可能是因为光盘上的Linux系统没有所需的存储子系统驱动,例如可能使用了RAID或SCSI控制器,或者一些比较罕见的SATA控制器。其实则需要输入“m”,并通过软盘或USB存储设备提供所需的Linux驱动程序,然后输入“a”刷新。
Step 05 输入目标分区并按回车键后,可以看到如图1-24所示的界面(为了节省版面,下文只截取屏幕中新增加的或者变化了的内容)。
接下来需要选择SAM文件的保存位置。通常,如果选择默认安装方式,直接按下回车键即可。如果SAM文件在其他位置(例如,Windows使用了自定义的安装目录),请手工输入,并按下回车键。
图1-24 选中分区后的显示结果
Step 06 指定好SAM文件的位置,并按下回车键后,可以看到如图1-25所示的界面。
图1-25 指定SAM文件的位置后看到的结果
在这里需要指定要加载的注册表内容,通常,如果需要重设账户密码,只要使用默认的设置“1”,然后按下回车键即可。
Step 07 随后可以看到如图1-26所示的界面。因为需要重设账户的密码,因此,可以使用默认的选项“1”,然后按下回车键。
Step 08 接下来,Editor会列出系统中所有的本地账户,如图1-27所示,我们可以根据实际需要选择其中的某个账户。例如,该程序默认会选中Administrator账户,如果希望重设该账户的密码,可以直接按下回车键,或者可以直接输入其他想要重设密码的账户的名称,然后按下回车键。
Step 09 随后可以按照需要输入新的密码,并确定。这里有个问题需要注意:输入的密码会在屏幕上明文显示,而且不需要再次输入确认。因此,设置密码的时候请小心,不要输入错误。不过,如果输错了也没关系,用这个软件修改密码也是非常简单的。
另外,输入新的密码,并按下回车键后,输入“y”,并按回车键,即可确认更改。
图1-26 SAM文件中提供的内容和可进行的操作
图1-27 可重设密码的账户
至此,密码的修改已经完成了。不过为了使设置生效,还必须按照正常途径退出程序,否则,所有的修改将无法保存。
在图1-28所示的界面上确认了修改后,输入“!”并按下回车键,然后输入“q”并再次按下回车键。最后程序会询问是否保存修改,并且默认为“否”,因此,输入“y”并按回车键。现在把光盘取出来,然后重新启动计算机,在不需要密码的情况下,用之前处理过的账户即可成功登录。
图1-28 清空所选账户的密码
因为该程序本身的不足,有时候可能看似已经修改了账户的密码,但使用新密码依然无法登录,这时候可以试试看将该账户的密码清空(在图1-28所示的界面上直接按下“1”,然后回车),使用空密码登录,然后创建密码。同时要注意,如果是破解Windows Vista及以上系统的密码,一定要直接将密码设置为空白,而不是修改为其他密码,只有这样才可以成功。
除了重设账户密码,Offline NT Password & Registry Editor还有很多其他功能,限于篇幅,本书不再过多地介绍,感兴趣的朋友可以自己研究。
1.3.3 管理其他账户
上文已经说过,基于NT的Windows系统都是多用户操作系统,它可以让每个用户在自己的账户下对一些非关键系统选项进行自定义设置。当然,每个用户可以修改哪些设置取决于该用户所在的用户组,准确地说,取决于该用户具有的权限。
只要有足够的权限,用户就可以修改绝大多数系统设置,包括管理其他用户的账户或者账户环境。这是本节将要介绍的内容。
1.3.3.1 重设其他账户的密码
如果忘了自己账户的登录密码,并且使用密码提示也无法想起,同时也没有制作密码重设盘,那么在考虑使用其他软件进行脱机破解之前,先看看系统中有没有其他管理员账户。如果有,可使用这些账户登录系统,然后重设账户密码即可。
在重设他人账户密码之前需要记住,这样做会导致对方账户的EFS加密文件、网页上保存的密码等机密信息无法访问。因此,如果不是万不得已,通常不建议使用这种方法。
使用管理员账户登录Windows,然后就可以在控制面板的用户账户工具中进行重设。
Step 01 打开“开始”菜单,在“计算机”上单击鼠标右键,选择“管理”,打开计算机管理控制台。
Step 02 在控制台窗口左侧的控制台树中依次展开“系统工具”→“本地用户和组”→“用户”。
Step 03 在右侧面板中用鼠标右键单击要修改密码的账户,从右键菜单中选择“设置密码”。
Step 04 随后,系统会显示一个“警告”对话框,提醒我们更改其他账户的密码有可能产生的后果。
Step 05 仔细阅读说明,如果可以接受该后果,单击“继续”按钮。
Step 06 在随后出现的“设置密码”对话框相应的文本框中输入新的密码,然后单击“确定”按钮。
这样,该账户就可以使用新密码登录了。
1.3.3.2 设置其他账户的环境
有时候,我们可能会希望实现这样的目的:使用这台计算机的人使用自己的账号登录后,可以在“开始”菜单或者桌面上看到某个程序的快捷方式,或者在Internet Explorer的收藏夹中看到某些同样内容的收藏。应该怎样实现这个目的呢?
每个账户各自的设置(例如,“开始”菜单快捷方式或者Internet Explorer收藏内容)都是保存在该账户对应的配置文件夹中的。因此,每个账户登录后对这些内容的修改实际上修改的是自己的配置文件,这样做并不会影响本机上的其他账户。
那么配置文件到底在哪里?首先需要明确一点:大部分关键的配置文件夹都具有隐藏属性,默认情况下,Windows的资源管理器并不显示这些文件夹,因此,必须先设置资源管理器显示隐藏文件,操作步骤如下:
Step 01 打开“计算机”窗口,按下键盘上的“Alt”键,这样资源管理器窗口会显示出菜单栏。
Step 02 在菜单栏上依次单击“工具”→“文件夹选项”→“查看”,打开“文件夹选项”对话框的查看选项卡。
Step 03 在“高级设置”列表中,取消对“隐藏受保护的操作系统文件(推荐)”选项的选择,并在随后出现的“警告”对话框中单击“是”按钮。
Step 04 选中“显示隐藏的文件和文件夹”选项。
经过这样的设置,Windows资源管理器就可以显示硬盘上的所有文件和文件夹了。注意,有很多关键的系统文件是隐藏的,而经过上述设置后,这些文件都将显示在资源管理器窗口中。因此,如果看见陌生文件,而不确定这个文件是做什么用的,最好不要对文件进行任何操作(例如修改或删除),以免影响系统或其他程序的正常运行。
在Windows 7下,用户的配置文件夹是系统盘根目录下的“用户”文件夹,打开该文件夹后可以看到系统中每个本地账户对应的配置文件,双击代表不同用户账户的文件夹后,可以看到每个配置文件中保存了有关该账户所有的自定义设置内容,如图1-29所示。
图1-29 Windows 7下的用户配置文件
首先应该注意到,在Windows 7的用户配置文件夹下有一些文件夹带有箭头图标。熟悉Windows的人应该知道,这个图标代表了快捷方式。也就是说,这些文件夹并不存在,只是快捷方式,这又是为什么?
在Windows 7中,用户配置文件方面发生了一些小变化,那就是取消了以往一些约定俗成的路径,或者将某些路径保存在新的位置下。然而为了照顾老程序的兼容性,因为一些老的应用程序可能需要向这些目录写入内容,此时,Windows 7的虚拟重定向功能就会自动将数据写入其他目录;同时,一旦这些软件在运行过程中需要从这两个文件夹中读取文件,虚拟重定向功能也会将文件读取请求定向到其他位置。关于虚拟重定向的详细内容,请参考本书2.3节“文件和注册表虚拟化”的相关内容。
窍门 快速打开自己的配置文件夹
在Windows 7下,如果希望用最快的方法打开自己的配置文件夹,只要打开“开始”菜单,然后单击“开始”菜单右上角自己的用户名即可。
让我们用一个简单的例子进行介绍。假设需要本机所有的本地账户在登录后都可以在桌面上看到某个程序的快捷方式,可以这样操作:
Step 01 使用管理员账户登录,在桌面“开始”菜单或Windows资源管理器中找到该程序的快捷方式,单击鼠标右键,选择“复制”。
Step 02 打开“计算机”窗口,进入到系统盘根目录下,然后依次进入“用户”→“公用”→“用户桌面”文件夹(该文件夹的实际路径是users\public\desktop,只不过Windows资源管理器将其翻译成了更“友好”的名称。另外,“桌面”文件夹具有隐藏属性,需要按照上文的方法设置显示隐藏文件后才可以看见)。
Step 03 用鼠标右键单击文件夹内的空白处,选择“粘贴”,将之前复制的快捷方式粘贴到这里。
经过上述处理,所有登录到本机的本地账户的桌面上都将会出现我们粘贴的这个程序的快捷方式。
窍门 “开始”菜单内容在哪里
在Windows XP中,每个账户的配置文件夹下都有一个名为“开始菜单”的文件夹,在这里可以自定义每个用户的开始菜单内容。但在Windows 7下会发现,每个账户的配置文件夹里确实有一个“开始菜单”,那只是快捷方式,而且双击后无法访问。通过阅读上文我们应该已经知道了,这是虚拟重定向功能在起作用,那么,Windows 7的开始菜单内容被重定向到哪里了?很简单,首先打开“开始”菜单,并在“所有程序”上单击鼠标右键,选择“打开”,这样即可打开当前用户的“开始菜单”文件夹;如果选择“打开所有用户”,则可以打开“公用”账户的“开始菜单”文件夹。因此,在Windows 7中,我们可以在这些地方自定义自己或者他人的开始菜单内容。
窍门 为什么有些快捷方式好删除,有些不好删除
很多人可能已经发现了,当我们试图删除开始菜单或者桌面上的快捷方式时,会遇到两种截然不同的情况。使用同一个账户登录,在删除自己桌面或开始菜单上的快捷方式时,有些快捷方式很容易就可以删除,但有些则需要进行确认或者输入管理员账户的密码,这是为什么?其实通过本节的阅读就很好理解了,这两种不同的现象取决于快捷方式的保存位置,如果要删除的快捷方式保存在当前用户的配置文件中,那么直接删除即可;如果要删除的快捷方式保存在“公用”配置文件中,因为我们的删除会影响到其他用户,因此,需要有管理员权限。至于快捷方式保存在哪个配置文件夹中,这取决于该程序的安装程序的设置。
1.3.3.3 管理配置文件
在配置文件的管理方面,本书只介绍其中一个比较有用的功能,同时还有一个需要注意的问题。
有时候因为各种原因,损坏的配置文件可能会导致某个用户使用计算机或者其他软件的时候遇到异常。通常情况下,如果同一台计算机上只有某个用户遇到某个问题,而其他用户登录后没有这种问题,那么就可以判断该问题和用户的配置文件有关系,可能是文件损坏或者配置错误导致的,这时候可以用默认配置文件覆盖该用户自己的配置文件,具体方法如下:
Step 01 将该用户的账户注销,使用管理员账户登录。在“计算机”上单击鼠标右键,选择“属性”,打开系统属性窗口。
Step 02 单击窗口左侧“任务”列表中的“高级系统设置”链接,弹出“高级系统设置”对话框。
Step 03 打开“高级”选项卡,然后在“用户配置文件”选项下单击“设置”按钮。
Step 04 随后可看到如图1-30所示的“用户配置文件”对话框。
图1-30 在这里可看到每个本地账户的配置文件信息
Step 05 选中“默认配置文件”,并单击“复制到”按钮。
Step 06 在随后出现的“复制到”对话框中单击“浏览”按钮,选定目标账户的配置文件所在的位置。选择好之后单击“确定”按钮,回到“复制到”对话框,再次单击“确定”按钮。
经过这样的操作,当我们再次使用该账户登录后,就可以看到类似新账户一样完全是默认配置的桌面环境。但是需要注意,这样做有可能导致重要的数据被删除,例如用户保存在自己的“文档”文件夹下的重要文件,或者Internet Explorer收藏夹。简而言之,所有保存在用户配置文件中的数据都会被删除。因此,如果有重要文件需要保留,必须在删除账户之前将其移动到其他地方。
对于配置文件,还有一个有关账户删除的问题需要注意。如果我们需要删除某个不再需要的账户,那么在处理该账户的配置文件时就需要谨慎,因为不同的操作可能导致不同的后果。
如果从控制面板的用户账户工具下删除,那么在删除的时候,Windows会弹出如图1-31所示的对话框询问我们是否删除该账户的文件。如果决定删除文件,那么可以单击“删除文件”按钮,否则可以单击“保留文件”按钮,这样Windows会自动将该用户的私人文件复制到当前用户的桌面上。但如果是从计算机管理控制台的本地用户和组管理单元中删除账户,情况就不太相同了。为了保证数据的安全性,在本地用户和组管理单元中删除时,Windows不会询问,而是直接保留被删除账户所有的配置文件。这听起来很正常,但有时候有可能带来新的问题。
图1-31 询问是否保留该账户的私人文件
假设系统中曾经有一个叫做“User”的账户被删除了,后来因为某些原因,又要新建一个名为“User”的账户。这种情况下,因为之前一个“User”账户的配置文件还保留着,因此,新建的“User”账户无法使用老“User”账户的配置文件,此时,Windows会将新“User”账户的配置文件夹的名称设置为类似“User.XXXXXX”的形式,其中,“XXXXXX”是机器名的一部分,是一串随机字符。虽然Windows本身不会被名称相似的配置文件弄混,但是对于需要手工管理配置文件的管理员,这种方式显然不够好,不仅不直观,而且手工操作配置文件的时候会感到很混乱。因此,删除账户的工作最好在控制面板的用户账户工具中进行,这样可以根据需要选择是否删除账户的配置文件,同时,如果一定要用本地用户和组管理单元管理账户和配置文件,最好在管理后手工处理保留的配置文件。
1.3.4 其他选项
对于Windows操作系统安装好后初步的安全问题,基本就是这样了。在本书后面的章节中,我们还会重点介绍其中比较关键的一些问题,但在这之前,还有几个问题需要注意。
1.3.4.1 自动播放
曾经有一种病毒大出风头,作者在写这本书的时候,时间已经过去很久了,但我们依然能在不少地方见到这种病毒的身影,这就是俗称的“U盘病毒”,这个病毒是利用Windows的自动播放功能传染和传播的。
自动播放本来是一个很好的功能,可以检测可移动存储介质的存在,以及其中保存的文件内容,并自动提供方便我们使用的选项。例如,启用自动播放功能后,如果将DVD影碟放入光驱,Windows检测到了DVD影碟的存在,就会打开“自动播放”对话框,其中的选项则取决于系统中安装的软件,例如可以使用Windows自带的Windows Media Player,或者自己安装的其他兼容的播放器播放DVD影碟的内容,或者打开Windows资源管理器窗口查看光盘内容;如果将数码相机的存储卡插入读卡器,Windows的“自动播放”对话框就会提供导入图片、查看图片等选项;如果将软件的安装光盘放入光驱,Windows的“自动播放”对话框则可以提供查看光盘文件或者运行安装程序的选项。
可以说,自动播放功能简化了我们很多的日常工作,但这也容易带来隐患,例如U盘病毒。如果我们的可移动存储介质感染了病毒,那么当这种存储介质连接到计算机后,自动播放功能就会自动运行病毒,感染计算机,并感染其他没有染毒的可移动存储介质。
被U盘病毒感染的可移动存储介质的根目录下会保存一个名为“autorun.inf”的文件,该文件中则指向了一个可执行的.exe文件。而根据设计,以前Windows一旦检测到可移动存储介质的根目录下存在autorun.inf文件,就会自动执行该文件指定的可执行文件。因此,一旦原本无毒的计算机中连接了感染病毒的存储设备,很可能我们还来不及反应,自己的系统就已经被感染了。
如果系统已经中了这种病毒,请使用升级了最新病毒定义的反病毒软件查杀,详细信息请参考本书第10章的相关内容。下面我们将介绍怎样预防这类病毒感染计算机。
对于Windows 7,情况就简单多了,因为Windows 7在这方面有很多改进。首先,就算一个可移动存储设备中包含autorun.inf文件,Windows 7也会首先询问我们需要对设备采取怎样的操作(例如运行其中的软件,或浏览设备的内容),而不会自作主张地直接运行。另外,通过“控制面板”中提供的选项,我们完全可以控制自动播放的所有设置。
打开“控制面板”,依次进入“程序”→“默认程序”→“更改自动播放设置”,随后可以看到如图1-32所示的自动播放设置界面。
图1-32 利用控制面板中的选项设置各种介质的自动播放选项
如果希望彻底禁用自动播放功能,只需要反选窗口顶部的“为所有媒体和设备使用自动播放”选项即可。
另外,Windows会列出可以支持自动播放功能的所有媒体和设备类型,每个类型或者设备都有一个对应的下拉菜单,打开该菜单可以看到当前系统对这种媒体类型或者设备可以进行的操作。具体的操作内容取决于系统中安装的软件,因此,每个人看到的内容可能和图1-32所示的不完全相同。
除了可以针对不同种类的可移动存储设备进行设置外,在Windows 7中还可以针对具体的硬件设备进行设置,例如,我们可以设置将某一型号的相机连接到计算机后,采取怎样的自动播放选项;而如果只是将相机使用的存储卡连接到计算机,又采取怎样的选项。
对于每种类型或设备,只需要在对应的下拉菜单中选择希望使用的选项即可。这里需要注意的是“软件和游戏”这种类型,因为Windows 7还没有智能到知道我们提供的光盘或U盘中的内容是否是软件或游戏的安装文件。因此,如果检测到介质中包含autorun.inf文件,或者其他可执行文件,那么就会将该介质识别为“软件和游戏”,而实际上这可能只是一个染毒的U盘。在此建议将“软件和游戏”类别设置为“每次都询问”或“不执行操作”,这样相对更加安全一些,同时其他类型介质的自动播放不会受到影响。
“混合内容/增强型音频CD/增强型DVD电影”又是什么意思?现在有一种新型的光盘,原本只是音频CD或视频DVD,但发行商为了增加卖点,会在光盘中添加一些小功能,例如音频CD,它不仅可以在一般的CD唱机中播放,而且在计算机上使用的时候还可以玩其中的游戏,或者观看MV。这种包含多种不同类型功能的介质叫做“混合内容/增强型内容”。这个功能原本只是为了增加产品的附加值,但有时候容易被造成滥用,例如,2005年底名噪一时的新闻,SONY唱片公司给自己发行的很多音乐CD中预置了一种叫做Rootkit的软件,这类软件会在我们将CD唱片放入计算机光驱后自动运行,安装并潜伏到系统中,主要是为了防止非法复制唱片。但这种Rootkit软件比较隐蔽,无法卸载,因此,SONY的这种做法引起了轩然大波,其实这种包含Rootkit的CD唱片就是一种“增强型音频CD”,那么对于这类介质该怎样设置自动播放选项,相信大家都已经很清楚了。
设置好所有类型和设备的自动播放选项后,单击“保存”按钮可以保存更改,或者单击“重置所有默认值”按钮可以将所有的选项恢复为默认设置。
1.3.4.2 Syskey
上文已经介绍了怎样使用软件对Windows系统进行脱机攻击,破解本地账户的密码。那么怎样预防这类攻击?对于Windows 7企业版和旗舰版,可以使用BitLocker(关于该功能的详细信息,请参考本书第12章),如果用的Windows 7是其他版本,且不支持该功能,有什么好办法吗?
还是让我们再来回忆一下Windows操作系统保存用户登录信息的方式,以及脱机破解密码软件的工作原理吧。在单机或工作组环境下,每个本地账户的登录信息(用户名和密码)都是加密保存在SAM文件中的,而Winlogon进程会将我们在欢迎屏幕或者Windows登录对话框中输入的用户名和密码与SAM数据库中存储的信息进行对比,如果能找到匹配的项目,就认为用户提供的登录信息是有效的,允许登录;如果找不到匹配的信息,则会拒绝登录。
脱机破解密码的软件正是利用了这一点,在Windows没有运行的情况下访问SAM数据库文件,并根据一些复杂的算法强行进行破解或修改。那么可以考虑,如果将SAM文件进行再次加密,并将解密所需的信息保存在计算机以外的地方,是否就可以防范这种脱机破解呢?答案是肯定的。
这里要用到Syskey.exe,这是Windows系统自带的一个工具。启用该功能后,SAM数据库会被再次加密,同时加密后的信息会被保存到软盘上。这样,在需要使用计算机的时候就必须提供这张保存了机密信息的软盘,随后,Windows才可以利用软盘中的信息解密SAM数据库,并接受登录。如果无法提供软盘,SAM数据库依然处于加密状态,自然也就无法登录了。
Syskey.exe可用于Windows 2000/XP/2003/Vista/7系统,并且在这些系统中的操作方式都是一样的。
在继续操作之前,请确定计算机上装有软驱,并且手头有空白的被格式化过的软盘。很令人费解,现在配备软驱的计算机已经很少了,毕竟软盘的容量小、速度慢,可靠性还差,但这里只能使用软盘。为了避免软盘损坏后无法使用系统,在创建好这张“密钥盘”后,建议直接将其中的文件复制到别的软盘中以进行备份,这样一张软盘损坏了,还可以使用其他软盘应急。同时请注意,一定要将密钥盘和密钥盘的备份保存在安全的地方。另外,该功能一旦启用,就无法禁用,除非重装操作系统或者进行系统还原。
如果不使用外部设备,还可以通过设置额外一层密码的方式使用该功能。我们可以指定一个密码,将SAM数据库加密。这样等于在系统启动时首先需要输入一个解锁SAM数据库的密码,随后选择用户账户,并输入账户密码,以便正确登录。因此,为了方便起见,这里会介绍使用密码进行加密的方式。对于使用软盘保存密钥的方式,可操作性太低,这里不再介绍。
Step 01 打开“开始”菜单,在搜索框中输入“Syskey”后按回车键,即可打开该程序。
Step 02 在随后出现的“保证Windows账户数据库的安全”对话框中,确保已经选中了“启用加密”选项,然后单击“更新”按钮,随后可以看到如图1-33所示的界面。
图1-33 使用Syskey功能对SAM数据库进行加密
Step 03 因为需要在没有软驱的情况下使用,因此,这里可以选择“密码启动”,并输入一个密码(这个密码一定要牢记,并且一旦对SAM进行加密,就无法撤销,但如果有必要,可以再次运行Syskey,修改密码)。这里使用的密码不能与Windows账户的密码相同,否则安全性会降低。
Step 04 随后单击“确定”按钮两次,关闭该工具。
让我们看看对SAM进行加密可以怎样保护我们的账户安全。重新启动系统,当系统开始引导、加载后台服务之前,首先就会要求我们输入启动密码,否则根本无法看到登录界面(如图1-34所示)。该功能一经启用,就算要进入安全模式,也必须首先输入密码才能继续。
图1-34 必须输入正确的密码后才能看到登录界
因为启用Syskey后无法禁用,因此,如果日后不再需要如此高的安全性,这时可以考虑将启动密钥保存在硬盘上,这样,Syskey依然处于启用状态,但是至少不要求我们在系统启动的时候提供密钥了(无论是手工输入密码,还是提供保存了密钥的3.5 寸软盘)。切换Syskey工作方式的方法很简单,正常启动系统,并使用管理员账户登录,运行Syskey,在图1-31所示的界面上选中“启用加密”,单击“更新”按钮,然后选中“系统产生的密码”,并选择“在本机上保存启动密钥”选项,并输入目前使用的启动密码即可。
经过上述操作,SAM数据库实际上依然被加密保存,只不过解密所需的密钥已经保存到本地硬盘上,因此,启动系统的时候可以直接看到登录界面。
1.3.4.3 操作中心
对于一般用户,可能很难判断出自己的系统当前是否是安全的,因为有太多因素会影响系统的安全性,例如,是否安装了反病毒软件,反病毒软件的实时监控功能是否被启用,病毒定义是否被更新到最新,是否安装了网络防火墙,网络防火墙是否被启用,系统的安全设置是否存在问题等。
若是以前,我们必须打开多个程序,并查看大量选项的设置,才能了解系统的整体安全性,这样不仅麻烦,而且容易造成遗漏。自从Windows XP SP2开始,微软在Windows中增加了一个叫做“Windows安全中心”的功能,这是一个后台运行的服务,会密切监控系统中与安全有关的程序和设置,一旦发现有威胁到安全的事件,就会立刻发出警报提醒我们注意,并提供相应的解决方法。
Windows 7中的安全中心已经全面升级为“操作中心”,它不仅可以显示与系统安全性有关的提示信息,而且还增加了有关系统维护的内容,更加全面。下面将介绍操作中心中与安全有关的内容。
注意 Windows操作中心功能并不是安全软件
很多人认为,如果有Windows操作中心的存在,是否就意味着安全问题可以交给它,而我们不用安装和设置其他安全软件。这是完全错误的。Windows操作中心只是一个监控程序,它可以监控系统的安全状态,并在需要的时候发出警报提醒我们注意,而它并没有任何安全防范功能。例如,如果系统中存在病毒,还是需要依靠反病毒软件查杀,操作中心只能告诉我们系统中是否安装了反病毒软件,以及病毒定义是否过期。
全新安装好Windows后,可能很快就会看到操作中心警报(如图1-35所示),因为它会提醒我们系统中没有安装反病毒软件,或者病毒定义过期。按照提示安装好反病毒软件或更新病毒定义后,操作中心程序就开始在后台工作。很多人可能觉得,如果系统已经完全满足操作中心的要求,需要的软件都安装了,需要的设置也都设置好了,那以后是否可以禁用该功能,以节约系统资源。在这里建议尽量不要这样做,因为有时候可能会有恶意软件修改我们的系统设置,让原本安全的系统变得不够安全。这时候,正常情况下的反病毒软件是需要干预的,然而一旦发生漏报,就会直接危害到系统安全。如果启用了操作中心,系统会立刻提醒我们系统的安全设置发生了改变;如果将其禁用,我们可能就会在很长一段时间内在毫无察觉的情况下进行在线交易或者网上支付等活动,危险不言而喻。
图1-35 操作中心会告诉我们系统中存在的安全隐患
单击桌面右下角通知区域内的操作中心图标后,可以看到类似图1-36所示的弹出菜单,这里会列出所有可能存在的问题。单击对应的条目,即可查看详细信息,以及建议的解决方法,例如,如果没有安装反病毒软件,那么操作中心会提供获取这些软件的方法;如果反病毒软件被禁用,直接单击操作中心提供的按钮就可以将反病毒软件启用,或者对其进行更新。
图1-36 从弹出菜单中可直接查看多个需要注意的问题
在图1-36所示的界面中单击“打开操作中心”链接后,即可看到操作中心主界面(如图1-37所示)。上文已经提过,操作中心可以提示有关安全性,以及维护工作的相关事件,从图1-37中也可以看出,这些内容被划分为“安全”和“维护”两个类别。默认情况下,这两个类都是被合并的,只有需要注意的问题才会突出显示出来,并且取决于问题的严重程度,不同的问题会用不同的颜色进行标识。红色通常意味着可能严重影响系统安全性或稳定性的问题,需要尽快着手解决;黄色意味着问题虽然存在,但影响不会太大,不过依然有必要解决,取决于具体的问题,我们需要单击对应的操作按钮进行解决。例如,图1-39所示的病毒防护软件被关闭,那么这里就提供了“立即启用”按钮,单击它即可将该软件启动。
单击打开“安全”类别后可以看到,Windows 7的操作中心可以监控多个与安全有关的内容,这些内容包括:
● 网络防火墙 默认情况下,该项目会检测Windows防火墙的状态,查看该防火墙是否启用,如果被禁用,则提供启用Windows防火墙的选项。如果系统中安装了第三方网络防火墙软件,并且支持安全中心所用的WIM标准,那么从这里就可以监控安装的其他防火墙。有关Windows防火墙的详细信息,请参考本书第8章。
图1-37 Windows 7操作中心的主界面
● Windows Update 这里可以检测Windows Update是否启用,以及是否使用了推荐的设置。如果没有启用,或者没有使用推荐设置,这里就会用不同的颜色进行区别。有关自动更新和Windows Update的详细信息,请参考本书第4章。
● 病毒防护 这里可以检测系统中是否安装了反病毒软件,以及软件的状态。如果没有安装,则通过这里提供的按钮,我们可以在网页中查看微软推荐的所有反病毒软件。如果已经安装,但没有启用,或病毒库定义过期,则可以通过这里提供的选项直接启用反病毒软件,或更新病毒库定义。
● 间谍软件和不需要的软件防护 除了病毒,网上还有一些不受欢迎的程序,由于这些内容的破坏性不强,因此,很多人将其称之为间谍软件或恶意软件。Windows 7中自带了微软的反间谍软件Windows Defender,该项目对应了这个软件的相关信息。另外,很多第三方的反病毒软件往往具有反间谍软件功能,或者我们可能安装其他第三方的专门反间谍软件,这种情况下,取决于软件对操作中心功能的支持情况,也可以从操作中心直接查看软件的状态,或对其进行管理。有关反病毒软件以及防范恶意软件的详细信息,请参考本书第10章。
● Internet安全设置 Windows 7包含Internet Explorer 8浏览器,这是迄今为止微软提供的最安全的浏览器软件,该软件的大部分设置都是以保持安全性为首要目标的。但由于各种原因,Internet Explorer选项的安全性可能会降低,例如,为了浏览某些网站,我们可能需要将原本安全的设置修改为不太安全的状态;或者系统中感染了恶意软件,可能会偷偷修改Internet Explorer配置。此时可使用操作中心对IE的安全状态进行监控,一旦发现配置被改动,即可立刻发出警报,并提供用于纠正问题的选项。有关Internet Explorer安全性的相关内容,请参考本书第9章。
● 用户账户控制 用户账户控制(UAC)是从Windows Vista开始增加的一个功能,可以有效地防范管理员特权的滥用。然而因为各种原因,大家对该功能的评价并不太好。不过,在Windows 7中,这一现象将彻底得到改善,因为微软已经重新设计了整个UAC功能的行为,并且提供了更细致的选项供我们根据实际情况进行调整。有关UAC功能的详细信息,请参考本书2.2节的内容。
● 网络访问保护 这个网络访问保护也是从Windows Vista开始新增的功能,但该功能需要配合Windows Server 2008以上的服务器操作系统在域环境中使用。简单来说,在将计算机(主要是笔记本等便携式计算机)连接到企业网络之前,系统首先需要通过健康度检查,例如,是否安装了所有的补丁程序,反病毒软件定义是否为最新等。如果不符合要求,则这台计算机将无法访问网络,或者只能访问网络中被隔离的修补服务器,并通过修补服务器修复健康问题。该功能需要域环境的支持,并且需要专门的服务器,因此,并不适合一般用户使用,本书不准备过多涉及。
操作中心中有关安全问题的内容,主要可以分为下列几种情况:
对于缺少的软件,例如缺少网络防火墙、反病毒软件或者反间谍软件,只要安装了支持WIM的软件,然后重新启动系统,操作中心就可以识别出新安装的软件,并更新相应类别的状态。但如果自己不知道有哪些安全软件是兼容Windows 7的,例如,还没有安装反病毒软件,希望使用一个微软推荐的软件,则可以单击相应的类别(例如,反病毒软件对应的“恶意软件保护”类别),然后单击“查找程序”按钮,这样系统会自动调用浏览器访问微软网站上的相关页面,在那里可以看到微软推荐的所有软件,并可下载和试用。
对于错误的设置,操作中心则会在对应的类别下提供一个“还原设置”按钮,只要单击这个按钮,不用知道具体有哪些设置需要改变,操作中心就会自动将不安全的设置修改为推荐的安全的设置。
如果已经安装了反病毒软件,但操作中心无法检测到该软件的存在,依然报告说没有安装反病毒软件,这时候可以单击对应类别下的“关闭有关×××的消息”链接,这样的内容就会被操作中心隐藏,不再反复提示。
另外还可能存在一种情况,为了满足使用上的特殊需要,我们可能需要使用一些不够安全的设置,例如,确实需要禁用用户账户控制功能(虽然强烈推荐不这样做),或者确实需要使用不够安全的Internet Explorer设置,但操作中心总会频繁地告诉我们这样做不够安全,显得有些烦人。这时候我们可以告诉操作中心,自己需要它监视哪些类别的安全问题,同时忽略哪些类别的安全问题。方法很简单,只要单击操作中心主窗口左侧的“更改操作中心设置”链接,随后可以看到如图1-38所示的界面。
在这里可以根据实际需要进行选择,例如,如果不希望操作中心频繁通知我们已经知道的安全问题,可将对应的类别反选。如果随后希望重新看到相关类别的通知,也只需要在这里将其选中即可。
图1-38 更改操作中心的工作方式