Windows高级安全策略

2023-11-20

一、账户策略

账户策略仅涉及和用户账户的凭据有关的设置,例如,账户密码的复杂性要求、密码的存活时间等。通过设置账户策略,我们能让所有的本地账户更加安全,同时使破解账户密码所需的时间和技术要求会更高。

账户策略分为两大类:密码策略和账户锁定策略。其中,密码策略控制了账户密码的使用情况,而账户锁定策略则决定了在什么情况下锁定账户,锁定多长时间。

1、密码策略

在密码策略类别中有6条策略,这里首先介绍每条策略的作用、涉及的安全原理、默认值和推荐值,以及每条策略在不同配置下可能造成的各种后果。最后,我们还会根据不同的安全要求为大家设计不同的策略设置。

1. 密码必须符合复杂性要求

在Windows中,密码策略的默认设置是“已禁用”。

该策略可以强制加强账户密码的安全级别,但安全的密码必须满足下列要求:密码中至少应该包含大写字母、小写字母、数字和特殊字符(例如标点符号)这四类元素中的三种,同时密码还不能和用户名相同。这样做的原因在于尽量降低密码被暴力破解的可能性,因为有很多破解工具可以利用穷举法测试每一组可能的字符组合,以便能猜测出正确的密码。而根据计算,在密码的长度和复杂性增加的情况下,通过穷举法猜测密码的难度和所需时间将会成指数形式增长。因此,一个好的密码完全可以避免在短时间内被猜测出来。

一个可选的用来加强密码复杂性的方法是使用不在默认字符集中的字符。举例来说,使用 Unicode 字符集中从 0128 到 0159 的字符,这种做法有两个好处:它们使得密码的LanMan哈希值不可用,而且常用的密码字典都不包含这些字符。然而使用这类字符作为密码也一定不能大意,要输入这样的Unicode字符,可以在按下“Alt”键的同时,在数字小键盘上输入代表该字符的数字,输入完四位数字后松开按下的“Alt”键,对应的 Unicode字符就会被输入进去。

LanMan哈希是什么意思?

LanMan哈希的全称是Lan Manager Hash,有时被简称为LM Hash,这是一种密码验证体系。在单机或工作组环境下,本地账户的密码在保存到SAM数据库后会被加密,而LM哈希就是其中一种加密方式。

LM哈希的安全性不是很高,因此,后来还出现了NTLM2和Kerberos这两种验证体系。对于Windows NT 4以及早期版本的Windows,只支持LM哈希,不过对新的Windows操作系统,使用后面两种验证体系明显更加安全、可靠,同时可以增加密码被暴力破解的难度。

该策略会在用户下次更改密码的时候生效,已有的密码是不受这个策略影响的。同时,在启用该策略后,如果用户试图使用一个不符合要求的密码,Windows 将拒绝,直到用户提供一个符合要求的密码为止。

2. 密码长度最小值

在Windows中,该策略的默认设置是“0”个字符,同时可以设置为1~14之间的一个整数。

上文已经说过,为了增加破解密码的难度,应该尽量使用长的复杂的密码。然而上一条策略只能决定密码的复杂度,无法决定密码的长度。如果需要强制限制密码的长度,则可以启用该策略。注意,该策略只对密码的最小长度提出要求,例如,如果设置最小值为“14个字符”,那么13个字符的密码不会被接受,只有长度为14个或者超过14个字符的密码才会被接受。

实际上,Windows 2000之后的Windows操作系统最多支持长达127个字符的密码。长度超过 14 个字符的密码有一个很明显的优势,这种密码没有 LM 哈希,也就只能使用NTLM2或者Kerberos进行加密。然而如果网络中有Windows 9x或者Windows NT 4.0,以及更早期的计算机,这类系统提供的密码输入框根本无法输入长度超过14个字符的密码,因此需要注意,以免引起兼容性问题。

3. 密码最短使用期限

在Windows中,该策略的默认值是0(天),同时可以设置为1~998之间的一个整数。

一种比较安全的做法是每隔一段时间更换一次密码,这样,别人就算已经获取了本机的 SAM 数据库,使用破解软件破解密码,可能因为密码过于复杂,等算出密码后,用户已经更换了新的密码使用。这样,可以在老密码被破解后依然保证系统安全。

该策略决定了用户在设置了一个密码后最少要经过多长时间(以天为单位)才能更换新的密码,默认的设置“0”可以让用户随时更换密码,哪怕原先的密码是刚设置的。该策略可以有效地预防用户怕麻烦将原本复杂的老密码修改为一个不那么复杂的新密码后立刻更改回原来复杂的老密码,以实现一直使用同一个复杂密码的不安全做法。

4. 密码最长使用期限

在Windows中,该策略的默认值是42(天),同时可以设置为0~998之间的一个整数。

和上一个策略相反,该策略决定了密码可以使用的最长时间(以天为单位),也就是说,一个密码在使用多长时间后就必须更换。

通常情况下,建议将该策略设置为30,这样在密码快要到期的时候,用户每次登录系统后都会看到系统提示,要求修改密码。在用户修改了密码后,该策略会重新开始统计,并在新密码快到期的时候再次进行提示。

5. 强制密码历史

在Windows中,该策略的默认值是“0个记住的密码”,同时可以设置为0~24之间的一个整数。

该策略主要是为了防止用户将几个密码轮换使用。例如,很多人会因为觉得密码复杂性策略设置得太复杂而懒得想新的安全密码,就轮换使用几个密码。而配置该策略后,用户如果愿意轮换使用多个密码,至少必须准备该策略设置的数值个复杂密码来轮换使用。假设将该策略设置为“5”,那么系统就允许用户最多轮换使用5个不同的密码(当然,前提是这些密码都要符合前面介绍的复杂性和长度要求)。

这样做也是为了增加密码被破解的难度。请设想这样的情况:有个用户轮换使用两个密码,其中一个是“11111”,另一个是“22222”,同时策略限制每个密码最多只能使用30天。假设有人获取了本机的SAM数据库,并通过软件破解出了“11111”这个密码,尽管这时用户可能已经在使用“22222”这个密码了,可30天后,该用户依然会换回“11111”这个密码,攻击者就可以在破解出密码后等待一段时间,然后使用这个密码登录到系统(这个假设看似有些极端,但在需要高度安全性的环境中,一定要小心)。

该策略有效地防范了这种攻击,因为系统限制用户如果要循环使用多个密码,必须在指定数量的多个复杂密码之间循环使用。尽管轮换使用几个密码并不安全,但相信24个复杂密码轮换使用的安全性至少要比2个复杂密码轮换使用要高。

6. 用可还原的加密来存储密码

在Windows中,该策略默认是被禁用的,而且一般情况下不建议启用。

该策略决定了是否用双向哈希(Two way Hash)存储加密后的密码,而这样保存的密码就跟明文保存一样,是可以通过哈希反推回密码的。因此,一般情况下,一定要禁用该策略,除非系统中运行的某些应用程序必须要能够知道用户的密码。

对于这6条密码策略,如果网络中都是Windows 2000或更高版本的操作系统,建议进行下列设置:

  • 密码必须符合复杂性要求:启用;
  • 密码长度最小值:14;
  • 密码最短使用期限:5天;
  • 密码最长使用期限:30天;
  • 强制密码历史:10个;
  • 用可还原的加密来存储密码:禁用;

如果网络中还包含运行Windows NT 4的系统,那么可以将密码长度最小值这一策略设置为“0”,其余设置保持不变。

2、账户锁定策略

如果攻击者能够在物理上或者远程访问到我们计算机的登录界面,他就可以使用一个用户名和密码进行尝试破解。虽然攻击者基本不可能一两次尝试就能成功登录,但如果不对失败的登录尝试采取一定的限制,时间一长,攻击者就会猜测到正确的密码,并成功登录。

因此,为了实现进一步的安全,必须对失败的登录尝试次数进行一定的限制。这就像银行的ATM机,如果连续多次输入错误密码,那么银行卡就会被吃掉,禁止继续尝试输入。而账户锁定策略就可以在满足一定条件的情况下将账户锁定。账户被锁定后,在被管理员解除锁定前,该账户都将无法使用,哪怕可以提供正确的密码。

1. 重置账户锁定计数器

在设置“账户锁定阈值”策略前,本策略不会生效。

该策略决定了当一个账户被锁定后,需要等待多长时间(以分钟为单位),系统才自动将记录的失败次数清零。可设置的值是0~99999,同时该值不能大于锁定时间。

该策略的含义是:假设设置账户锁定阈值为10次、账户锁定时间为60分钟、复位账户锁定计数器为30分钟。如果一位用户忘记了自己的密码,尝试了5次就没有继续尝试了,这时候他的账户还没有被锁定,但系统已经记录了失败尝试的次数是5次,在最后一次尝试的30分钟后,这记录下来的5次失败尝试会被清零,等于该用户又有了10次尝试机会。

2. 账户锁定时间

在设置“账户锁定阈值”策略前,本策略不会生效。

该策略决定了一个账户在被锁定多长时间(以分钟为单位)后自动被重新启用。可设置的值是0~99999之间的整数。

如果将该策略设置为“0”,那么一旦某个账户的失败登录次数达到了“账户锁定阈值”策略的限制,该账户就会被系统自动锁定起来,并且在管理员手工解除锁定之前,该账户将一直处于被锁定的状态。而一旦设置了一个非“0”的值,那么在锁定时间的分钟数达到该策略的设置后,账户会被系统自动解除锁定。

如果将该策略设置为“0”,就一定要注意,这有可能导致类似“拒绝服务”的攻击。例如,恶意用户可能并不打算非法访问系统,而只是希望制造一点麻烦,让合法用户无法登录。这时候,他只需要故意使用每个账户进行几次失败的登录,以便能够达到账户锁定阈值策略的设置,那么在管理员解除锁定之前,使用该账户的合法用户将无法使用系统。

需要提醒注意的是,系统内建的Administrator账户永远不会被锁定。

3. 账户锁定阈值

在Windows中,该策略的默认设置是“0次无效登录”,同时可设置的值是0~999之间的一个整数。
该策略决定了允许用户尝试登录的次数,如果失败次数还没有达到设置,用户就可以继续尝试;而一旦达到了次数还没能成功登录,该账户就会被系统自动锁定。

提醒:系统内建的Administrator账户不受该策略的影响。

对于这三条策略,建议这样设置:

  • 账户锁定阈值:3次。
  • 账户锁定时间:60分钟。
  • 复位账户锁定计数器:30分钟。

3、用户权限分配

不同的用户或者不同的用户组具有不同的特权。那么如何给自己创建的用户组分配所需的特权呢?

这些操作可以通过本地安全策略编辑器中的用户权限分配策略进行设置。

选择“计算机配置”>“Windows 设置”>“安全设置”>“本地策略”>“安全选项”。

1. 备份文件和目录

该策略的默认设置是Administrators和Backup Operators。

在Windows中,备份是一种比较特殊的操作,因为一个人如果具有备份文件的权限,那么就算他没有访问某个文件的权限,也一样可以使用备份工具(可以是系统自带的备份工具,也可以是其他兼容备份行业标准的第三方专用备份工具)对该文件创建备份。更详细地说,该组的用户或者用户组将对本机的所有文件和文件夹具有遍历文件夹/执行文件、列出文件夹/读取数据、读取属性、读取扩展属性,以及读取权限的权限。

因此,给其他用户或者用户组指派备份权限的时候一定要十分小心,尽量不要给太多的人这种权限。如果需要让其他用户或者用户组具有备份文件的权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的备份权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

2. 生成安全审核

该策略的默认设置是Local Service和Network Service。

该策略决定了哪些账户可以将项目添加到安全日志中,但是不建议修改默认设置,因为错误的设置有可能导致审核功能无法正常使用,或者导致记录了太多无用的事件,浪费系统资源和硬盘空间。

3. 创建符号链接

该策略的默认值是Administrators。

该策略决定了哪些用户或者用户组可以在系统中创建符号链接,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有创建符号链接的权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组创建符号链接的权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

那么什么是符号链接?它有什么作用?符号链接(Symbolic Link)原本是UNIX操作系统中的一项功能,从Windows 2000开始出现在Windows操作系统中,这个功能可以给系统中不同的对象之间创建链接。在Windows Vista之前,Windows中的符号链接功能只能用于NTFS硬盘分区/卷或者文件夹,不能用于单独的文件,而从Windows Vista开始,符号链接可用于文件。

列举一个更形象的例子吧。在Windows 7中,使用管理员身份启动一个命令提示行窗口,进入到当前用户的“桌面”目录下,然后运行下列命令: 

Mklink /d Sysroot %systemroot%

接着回到桌面上,我们将发现一个类似快捷方式的图标,双击该图标可以打开Windows目录。那么用命令创建的符号链接和快捷方式有什么区别?

试试看用Windows资源管理器打开系统盘,然后用鼠标右键单击Windows目录,指向“发送到”,选择“桌面快捷方式”,在桌面上创建一个真正的快捷方式。接着分别用鼠标右键单击快捷方式和符号链接,选择“属性”,打开“属性”对话框,如图3-7所示,对比一下有什么不同。

在下图的左图是真正的“快捷方式的属性”对话框,右图是“符号链接的属性”对话框。

图中的“常规”选项卡中就可以看出,对于快捷方式,实际上是保存在桌面上的一个“.lnk”文件,因此,快捷方式实际上具有文件的所有属性;而对于符号链接,则表现出了和真正文件夹一样的属性,我们不仅可以通过符号链接就能得知其对应文件夹占用的硬盘空间,同时还可以像直接操作文件夹那样设置访问权限或者使用卷影复制。

当然,“快捷方式(.lnk文件)的属性”对话框中也有设置访问权限的“安全”选项卡,以及使用卷影复制“以前的版本”选项卡,但这两个选项卡都只能作用于这个.lnk 文件本身,并不能用于其对应的文件夹。

4. 创建全局对象

该策略的默认值是Administrators、Local Service、Network Service,以及Service。

该策略决定了哪些用户或者用户组可以在系统中创建全局对象,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有创建全局对象的权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组创建全局对象的权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

那么全局对象又是什么?全局对象是指可以被所有的会话访问的对象,而没有该权限的用户只能创建和自己的会话有关的对象。因为能够创建全局对象的用户可以影响到其他用户的会话,因此,通常情况下不建议给一般用户指派这个权限。

5. 创建一个令牌对象

该策略的默认值是空的。

该策略决定了哪些用户或者用户组可以在系统中创建令牌对象,一般情况下不建议更改该设置。如果需要让其他用户或者用户组具有创建令牌对象的权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组创建令牌对象的权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

6. 创建一个页面文件

该策略的默认值是Administrators。

该策略决定了哪些用户或者用户组可以在系统中创建页面文件,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有创建页面文件的权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组创建页面文件的权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

简单地说,这个策略决定了哪些用户可以修改系统的分页文件(虚拟内存)设置。因为该设置只要确定下来,通常就很少需要修改,所以完全可以由管理员账户设置好后保持固定不变。因此,通常情况下,如果不是因为有特殊需要,该权限可以不用指派给管理员之外的其他任何用户或用户组。

7. 创建永久共享对象

该策略的默认值是空的。

该策略决定了哪些用户或者用户组可以在系统中创建永久共享对象,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有创建永久共享对象的权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组创建永久共享对象的权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

永久共享对象包括设备、信号量(Semaphore)以及互斥(Mutexe)等,这个权限对需要扩展对象命名空间的内核模式系统组件非常有用。因此,一般情况下不用修改设置。

8. 从扩展坞上取下计算机

该策略的默认值是Administrators和Users。

该策略决定了哪些用户或者用户组可以将计算机和扩展坞断开。如果需要让其他用户或者用户组具有断开扩展坞的权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组断开扩展坞的权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

这条策略主要用于笔记本电脑,扩展坞可以增强笔记本电脑的输入和输出功能。例如,将笔记本电脑连接到扩展坞后,笔记本电脑可能就有了原本不具备的功能,例如,增加额外的电池或者硬盘,增加性能更强劲的显卡,或者增加多声道音频输出功能等。扩展坞可以实现的具体功能取决于具体的产品,注意,并不是每种型号的笔记本电脑都可以连接扩展坞。详细情况请参考笔记本电脑或者扩展坞的说明文件。

需要注意,没有该权限的用户只是无法将扩展坞正常弹出而已,但实际上,用户依然可以强制将扩展坞和笔记本电脑之间的连接断开。就像USB设备的拔出,正常以及安全的做法是在拔出这类设备之前首先将其与计算机断开(逻辑上的),然后将设备从 USB 接口上拔出(物理上的)。当然,不从逻辑上断开也可以直接从物理上拔出,但这有可能导致系统崩溃或者数据丢失(尤其是扩展坞中可能还存在和系统运行至关重要的设备,例如第二块硬盘、外接显卡或者智能卡读卡器等)。

9. 从网络访问此计算机

该策略的默认值是Administrators、Backup Operators、Everyone,以及Users。

该策略决定了哪些用户或者用户组可以通过网络访问本机。如果需要允许其他用户或者用户组通过网络访问本机,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望拒绝某个曾经允许的用户或者组通过网络访问本机,可以在用户或组列表中将其选中,然后单击“删除”按钮。

注意:这个策略对远程桌面,以及远程协助等终端服务的应用无效。

10. 从远程系统强制关机

该策略的默认值是Administrators。

该策略决定了哪些用户或者用户组可以从远程系统关闭计算机。如果需要让其他用户或者用户组具有这种权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这种权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

这个功能更多的是应用于服务器领域的,因为服务器通常都需要长时间连续地运行,但有时候又需要接受用户的远程访问。禁止用户从远程系统强制关机,可以避免用户在远程登录的时候无意中关掉了服务器,而又无法立刻打开(毕竟除了网络唤醒,要想打开一台关闭的计算机,绝大部分时候都得亲自到计算机前按下电源按钮)可能带来的麻烦。

11. 更改时区

该策略的默认值是Administrators、Local Service以及Users。

顾名思义,该策略决定了哪些用户或者用户组可以更改系统时区设置,一般情况下没必要修改这里的设置。如果需要让其他用户或者用户组具有更改系统时区设置的权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组更改系统时区设置的权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

12. 更改系统时间

该策略的默认值是Administrators和Local Service。

该策略决定了哪些用户或者用户组可以更改系统时间,一般情况下,如果需要通过网络进行Kerbores验证,或者有其他应用密切要求整个网络中的所有计算机都具有一致的时间,那么就应该严格控制可以修改系统时间的人的数量。但对于一般的单机和工作组环境,往往没有这种需要。

如果需要让其他用户或者用户组具有修改系统时间的权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组修改系统时间的权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

13. 关闭系统

该策略的默认值是Administrators、Backup Operators以及Users。

该策略决定了哪些用户或者用户组可以在本地关闭系统。如果需要让其他用户或者用户组具有从本地关闭系统的权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组从本地关闭系统的权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

该策略和“从远程系统强制关机”策略类似,最主要的应用还是在服务器上。因为服务器是不能随便关闭的,但一般情况下,对于客户端计算机,很少会有这种需要。

14. 管理审核和安全日志

该策略的默认值是Administrators。

该策略决定了哪些用户或者用户组可以在系统中管理审核和安全日志。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的该权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

该策略的作用和“产生安全审核/生成安全审核”策略的功能是相辅相成的。前者决定了谁可以查看审核产生的日志内容,后者决定了谁可以设置系统以进行审核。

15. 还原文件和目录

该策略的默认值是Administrators和Backup Operators。

该策略决定了哪些用户或者用户组可以使用系统自带的备份程序还原之前备份的文件,哪怕他并没有访问或者替换这些文件的权限。如果需要让其他用户或者用户组具有还原文件的权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组还原文件的权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

它与“备份文件和目录”策略类似,可以让具有还原权限的人对本机上的所有文件和文件夹具有遍历文件夹/执行文件以及写入的权限。因此,给别人指派该权限的时候一定要小心,如果有恶意的人具有了该权限,他虽然不能读取机密文件的内容,但完全可以用备份文件中过时的机密文件替换该文件的最新版本,导致一定的损失。

16. 加载和卸载设备驱动程序

该策略的默认值是Administrators。

该策略决定了哪些用户或者用户组可以在系统中安装或者卸载设备驱动。如果需要让其他用户或者用户组具有安装或卸载设备驱动的权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

注意:因为大部分设备的驱动程序都工作在系统底层,甚至依然工作在内核模式下,因此,驱动程序对整个系统的稳定性和安全性有重大的影响。例如,如果某个硬件设备的驱动编写不够完善,那么很可能导致各种怪异的问题,例如设备无法正常工作,或者系统频繁遭遇蓝屏死机等问题。更严重的是,和很多人想象的不同,并不是只有硬件设备才有驱动程序,很多软件设备为了实现特殊的功能,也开始带有驱动程序。

因此,在给用户指派安装和卸载设备驱动的权限时一定要谨慎。毕竟大部分时候,设备安装好后很长一段时间内都不需要改动,所以,建议只给管理员用户指派该权限就足够了,而这也是Windows的默认做法。

17. 将工作站添加到域

因为该策略只能用于域控制器,因此,在单机和工作组环境下,客户端计算机中的该策略的值是空的。

该策略决定了哪些用户或者用户组可以将计算机加入到域。如果需要让用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的该权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

18. 锁定内存页

该策略的默认值是空的。

该策略决定了哪些用户或者用户组可以用进程将数据保存在物理内存中,而不会被系统分页到硬盘的分页文件中保存,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者用户组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

按照设计,如果运行在Windows中的某个程序(可能是系统自带的程序,或者安装的第三方程序)很长一段时间内不使用某些数据,那么Windows就会自动将保存在物理内存中的这些数据写入到硬盘的分页文件(系统盘根目录下一个名为pagefile.sys的文件)中,这个过程就叫做“分页”。而一旦程序重新需要这些数据,系统就会自动将分页文件中的数据重新读回物理内存,供程序使用。分页操作可以提升物理内存的使用效率,但与内存相比,硬盘的读写速度实在是太慢了,因此,分页会导致降低系统的整体运行性能。如果希望提高系统性能,最好且最直接的办法是安装更多的物理内存。

19. 拒绝本地登录

该策略的默认值是Guest和HomeGroupUser$。

该策略决定了哪些用户或者用户组可以坐在计算机前进行本地登录。如果需要拒绝某个用户或者用户组本地登录,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望允许某个被拒绝本地登录的用户或者组重新具有本地登录的权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

需要注意,如果拒绝了一个用户进行本地登录,但允许该用户通过网络访问这台计算机,那么他可能依然可以通过远程桌面或者远程协助功能登录到这台计算机,或者只通过网络邻居远程访问这台计算机上的共享文件。但对于服务器,如果已经配置好,不再需要本地登录,则可以在服务器中将Everyone组添加到该策略中。

20. 拒绝从网络访问这台计算机

该策略的默认值是Guest。

该策略决定了哪些用户或者用户组无法通过网络访问本机。如果需要拒绝用户或者用户组通过网络访问这台计算机,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望重新允许某个被拒绝从网络登录的用户或者组从网络访问本机,可以在用户或组列表中将其选中,然后单击“删除”按钮。

注意:这里所说的从网络访问本机,可以是远程协助或者远程桌面这样的终端登录,也可以是从网络邻居中访问共享文件这样的远程访问。同时,如果一个用户或组同时出现在“拒绝从网络访问这台计算机”和“从网络访问此计算机”策略中,那么,前者的设置将会覆盖掉后者的设置(在Windows中,几乎所有互相冲突的策略、设置等内容,都是被拒绝的设置覆盖掉被允许的设置)。

21. 拒绝以服务身份登录

该策略的默认值是空的。

该策略决定了哪些用户或者用户组无法作为服务登录。如果需要让某个用户或者用户组可以作为服务登录,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组作为服务登录的权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

注意:如果一个用户或组同时出现在“拒绝以服务身份登录”和“作为服务登录”策略中,那么前者的设置将会覆盖掉后者的设置。

作为服务登录是什么意思?请运行services.msc,打开服务控制台,在控制台窗口右侧的窗格中任意双击一个服务,打开其“属性”对话框,随后打开“登录”选项卡,接着可以看到如图所示的界面。

请留意“登录身份”选项下的内容。和应用程序的运行一样,服务也是一种特殊作用的应用程序。因此,服务的启动也需要有相应的访问令牌,这样,操作系统才能判断这个服务具有怎样的权限,进而决定它能访问哪些资源。因此,在Windows中,有本地系统(Local System)、本地服务(Local Service)和网络服务(Network Service)这三个特殊的账户,这三个账户是专门为各种服务准备的,具有不同的权限,适合不同的服务根据其自身要求用来登录。同时,这三个特殊的系统账户无法用于控制台登录(也就是坐在计算机前进行本地登录,或者通过远程桌面登录)。

然而,有时候却存在另一种情况:可能某个第三方软件或者我们自己的某些应用必须要求以服务的形式运行,这就要求为其准备一个合适的服务账户。而系统自带的这三个服务账户可能无法满足我们的需要,这时候就只能使用自己创建的账户,该账户就需要“作为服务登录”。 

22. 拒绝作为批处理作业登录

该策略的默认值是空的。

该策略决定了哪些用户或者用户组无法作为批处理作业登录。如果需要让某个用户或者用户组可以作为批处理作业登录,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的选择用户或组对话框中进行添加;如果希望撤销某个用户或者组作为批处理作业登录的权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

注意 如果一个用户或组同时出现在“拒绝作为批处理作业登录”,以及“作为批处理作业登录”策略中,那么前者的设置将会覆盖掉后者的设置。

作为批处理作业登录是什么意思?其实该策略的作用和“拒绝以服务身份登录”类似,只不过应用到的不是供服务进行登录的账户,而是供批处理任务,也就是计划任务登录的账户。例如,很多有经验的管理员都会自己编写批处理脚本,让计算机在空闲的时候自动执行一些维护任务(例如空闲的时候整理磁盘碎片、查杀病毒或者备份文件等)。然而这就存在一个问题,假设我们需要让计算机在每周三的凌晨2:00点整理磁盘碎片,而且创建好了计划任务,难道周二下班之前我们必须使用自己的账户登录到系统才离开吗?这样做是非常危险的。因此,更好的办法是周二下班前注销,但让计划任务在预定的时间自动启动,并运行。

但这样的情况下,计划任务使用什么身份运行?因为身份的不同决定了计划任务获得的访问令牌不同,进而可以进行的操作也就不同。因此,有时候我们可能还需要创建一些专门供批处理脚本或者计划任务使用的账户,这就叫做“作为批处理作业登录”。

例如,如下图所示是在Windows 7下打开一个计划任务后看到的结果,请注意其中的“运行任务时,请使用下列用户账户”文本框中显示的内容,这就是在运行该任务时用于“作为批处理作业登录”的账户,如果拒绝该账户作为批处理作业登录,那么除非在该计划运行的时候账户已经登录,否则所有使用该账户运行的计划任务都将无法正常运行。

23. 配置文件单个进程 

该策略的默认值是Administrators。

该策略决定了哪些用户或者用户组可以用性能监视工具监视非系统进程的性能,注意,这里所说的监控非系统进程的性能,并不是指性能控制台,而是指通过 WMI 收集数据的操作,也就是说,如果某个程序需要通过 WMI 收集性能数据,那么该程序的访问令牌对应的账户就必须有这个权限。

如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

24. 配置文件系统性能

该策略的默认值是Administrators。

和上一条策略类似,该策略决定了哪些用户或者用户组可以用性能监视工具监视系统进程的性能。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

25. 取得文件或其他对象的所有权

该策略的默认值是Administrators。

该策略决定了哪些用户或者用户组可以获得对象的所有权。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

NTFS权限保护文件和文件夹的安全,其中有很重要的一点,就是对象的所有权。顾名思义,所有权表示了该对象的主人,而主人可以对自己拥有的对象进行任何操作。注意,所有权是可以直接获取的,哪怕一个人并没有该对象的任何访问权限,但只要该用户或者用户组通过本策略具有了获取所有权的权限,那么他就可以将原本不属于自己的对象变成自己的。

因此,设置这条策略时一定要谨慎,尽量不要给其他用户或者组指派这个权限。同时,默认的Administrators组建议也不要删除(或者可以从该策略中删除Administrators组,但给某个特定的管理员账户指派获取所有权的特权),因为这样在权限设置错误导致对象无法被任何人访问的时候,还可以使用管理员账户进行纠正,而一旦管理员账户没有这个权限了,这个文件就真正无法被访问(甚至删除都不行)。

26. 绕过遍历检查

该策略的默认值是Administrators、Backup Operators、Everyone、Local Service、Network Service和Users。

该策略决定了哪些用户或者用户组可以看到目录中的子文件夹的内容(即使他没有访问的权限),一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

这个策略是什么意思?假设有一个叫“Folder”的文件夹,其中有一个叫“File”的文件和一个叫“Subfolder”的子文件夹,那么具有该策略指定权限的用户或者用户组即使没有访问Folder文件夹的权限,依然可以知道其中有一个叫做“Subfolder”的子文件夹,但不会知道其中有一个叫做“File”的文件。

也就是说,可以看到所有子目录的名称,但无法看到其中保存的文件的名称和内容。通常情况下不建议对该策略进行修改,否则可能影响到某些程序的正常使用。

27. 身份验证后模拟客户端

该策略的默认值是Administrators、Local Service、Network Service,以及Service。

该策略决定了哪些用户或者用户组运行的程序可以模拟客户端,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

28. 提高计划优先级

该策略的默认值是Administrators。

该策略决定了哪些用户或者用户组可以使用具有“写入属性”的进程访问另一个进程,以提高分配给另一进程的执行优先级,也就是说,决定了哪些用户或者用户组可以通过任务管理器更改进程的优先级。一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

我们都知道,Windows是一个多任务操作系统,也就是说,在Windows中,可以同时运行多个程序。然而这种“多任务”实际上只是一种由Windows让我们造成的感觉,严格地说,在 Windows 中依然是同一时间只能运行一个程序(进程)。那么,为什么我们可以同时运行很多程序?

其实,Windows 本身就有很多进程,这些进程也是在同时运行的,这主要依赖了目前速度较高的 CPU,Windows 可以将 CPU 的“能力”分配给所有的程序或者进程,也就是说,在相对于我们来说很短的时间(例如1秒)内,CPU的能力实际上是被轮流使用的,例如程序A使用其中的10毫秒,程序B使用其中的10毫秒。因此,计算机依然是在同一时间里执行一个任务,只不过对我们的感觉来说好像多个任务在同时进行,同时互相之间没有影响。

这就带来了另一个问题,不同的任务对CPU能力以及其他系统硬件资源的要求是不同的。例如,在玩游戏的时候,系统的后台可能在运行反病毒软件的实时监控功能,在这个时候可以忍受反病毒软件的“迟钝”,但不能忍受游戏的“迟钝”。而当用反病毒程序扫描硬盘的时候,系统可能还在同时运行网络防火墙的监控程序,这时候可以忍受网络防火墙的“迟钝”,但不能忍受反病毒软件的“迟钝”。

Windows通过优先级功能决定对不同任务的处理方式。例如,有程序A和程序B在运行,而且这两个程序对应的进程在默认情况下都具有“普通”优先级,那么Windows就会平等对待这两个程序。但如果程序A具有“高于标准”的优先级,程序B具有“普通”优先级,也就是说,程序A的优先级高于程序B,那么系统会优先满足程序A对资源的需求,只有在满足程序A的前提下才会尽量满足程序B的要求。

如果我们在进行一些需要尽快完成的任务,例如正在给视频文件编码,那么就可以人为地提高编码软件的优先级。其方法如下:

  1. 在任务栏的空白处单击鼠标右键,选择“任务管理器”,打开 Windows 任务管理器窗口。
  2. 打开任务管理器的“进程”选项卡,找到目标软件对应的进程,并用鼠标右键单击。
  3. 在随后出现的菜单中指向“设置优先级”命令,然后选择一个想要使用的优先级,如图所示。

在Windows中,共有6个不同程度的优先级,这些优先级从高到低分别是:实时、高、高于标准、普通、低于标准和低。通常情况下,大部分系统进程和应用程序的进程优先级都是“标准”。

在给Windows中的进程调整优先级的时候一定要注意,有些关键系统进程的优先级在默认情况下就不是“普通/标准”,对于这类进程,一般情况下请不要修改其优先级,因为错误的设置有可能导致系统无法正常工作。

注意,如果将某个程序的优先级设置得比较高,而程序突然出现了崩溃或者挂起的现象,就有可能导致整个系统都停止响应,因为如果程序的优先级设置为高于系统进程,那么在这个程序出现错误或者陷入死循环后,系统可能根本没有足够的资源来响应系统或Windows资源管理器的要求,无法杀死进程。这时候,除了等待程序恢复正常,也许只能重启(Reset)整个计算机。

29. 替换一个进程级令牌

该策略的默认值是Local Service和Network Service。

该策略决定了哪些用户或者用户组可以让一个服务启动另一个服务,例如,让计划任务服务在特定的条件下启动其他程序或者服务,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

30. 调试程序

该策略的默认值是Administrators。

该策略决定了哪些用户或者用户组可以将调试程序附加到任何进程或内核,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

要注意,具有这个权限的用户将对操作系统的核心组件具有完整的控制权。因此,一般情况下不建议修改该策略的设置,如果确实需要,在修改的时候也一定要谨慎。

31. 拒绝通过远程桌面服务登录

该策略的默认值是空的。

该策略决定了哪些用户或者用户组是无法通过远程桌面服务(终端服务的新名称)登录的。如果需要拒绝某个用户或者用户组进行远程桌面服务登录,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销对某个用户或者组通过远程桌面服务登录的限制,可以在用户或组列表中将其选中,然后单击“删除”按钮。

32. 允许通过远程桌面服务登录

该策略的默认值是Administrators和Remote Desktop Users。

和上一条策略截然相反,该策略决定了哪些用户或者用户组可以通过远程桌面服务进行登录。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

33. 同步目录服务数据

该策略的默认值是空的。

该策略决定了哪些用户或者用户组可以对目录服务(最常见的就是Active Directory)的数据进行同步,因为该策略在一般情况下只适用于具有Active Directory的企业网络环境中。因此,在单机和工作组环境下,不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

34. 为进程调整内存配额

该策略的默认值是Administrators、Local Service和Network Service。

该策略决定了哪些用户或者用户组可以对进程可消耗的最大内存进行限制,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

简单地说,具有这个权限的用户可以限制每个进程最多可以使用多少内存。这对于内存数量有限,但又需要运行多个程序的用户来说是非常有用的。要使用这个功能,我们还需要安装 Windows 系统资源管理器( WSRM ),这个软件的介绍和下载地址请访问:http://tinyurl.com/yfzdyud。注意,该工具最适合的场合还是运行服务器版 Windows 的计算机,对于运行客户端Windows的一般个人计算机,只能安装该工具的客户端对网络上其他安装了该工具的服务器进行管理。因此,个人用户没必要使用。

35. 信任计算机和用户账户可以执行委派

该策略的默认值是空的。

该策略决定了哪些用户或者用户组可以对用户或计算机对象上的账户控制标志进行编辑,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

36. 修改固件环境值

该策略的默认值是Administrators。

该策略决定了哪些用户或者用户组可以通过应用程序接口或者“系统属性”对话框修改系统环境变量,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

37. 修改一个对象标签

该策略的默认值是空的。

该策略决定了哪些用户或者用户组可以修改对象(文件、文件夹、注册表键等)的完整性标签,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

为了提升系统安全,在Windows 7中增加了一种叫做强制完整性级别检查(MIC)的功能。简单来说,系统会根据实际用途为关键系统文件创建完整性标签,同时其他所有的文件和对象都具有“中级”的完整性级别,而每个进程也有各自的完整性标签。当进程需要修改文件的时候,系统会自动比较进程和文件(对象)的完整性标签,只有进程的完整性级别大于或者等于对象的完整性级别,进程才可以写入对象;如果小于对象的完整性级别,则只能读取,不能写入。而“修改一个对象标签”策略就控制了可以修改对象的完整性标签的特权。

38. 以操作系统方式执行

该策略的默认值是空的。

该策略决定了在没有经过身份验证的情况下,进程可以模拟哪些用户或者用户组的身份以访问与该用户相同的本地资源的访问权限,一般情况下不建议修改这里的设置。如果需要让进程模拟某些用户或者用户组,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望禁止对某个用户或者组的访问,可以在用户或组列表中将其选中,然后单击“删除”按钮。

注意该策略主要用于包含了Windows 2000 Server以及Windows NT 4 Server的企业网络,主要用途是提供向下兼容性。对于运行了Windows Server 2003,以及更新版本的企业网络,没必要配置该策略。

39. 允许本地登录

该策略的默认值是Administrators、Backup Operators、Guest和Users。

该策略决定了哪些用户或者用户组可以进行本地登录。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

注意:对该策略的配置既不会影响到用户通过远程桌面功能进行登录,也不会影响到通过网上邻居访问共享文件或打印机。

40. 增加进程工作集

该策略的默认值是Users。

该策略决定了哪些用户或者用户组可以修改进程工作集的大小设置,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

所谓“工作集”,是指物理内存中当前进程可见的内容页面集。简单地说,它代表了进程对物理内存的使用情况。

41. 执行卷维护任务

该策略的默认值是Administrators。

该策略决定了哪些用户或者用户组可以运行卷维护任务(例如,磁盘碎片整理程序或者磁盘管理控制台等)。因为具有该权限后可能会危及文件系统安全,因此,建议一般情况下不要修改该策略的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

42. 作为服务登录

该策略的默认值是空的。

该策略决定了哪些用户或者用户组可以将进程作为服务进行注册,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

注意:该服务的用户类似于“拒绝以服务身份登录”策略,只不过这两条策略的作用正好互斥。

43. 作为批处理作业登录

该策略的默认值是Administrators和Backup Operators。

该策略决定了哪些用户或者用户组可以通过批处理队列工具登录,主要用于计划任务程序,一般情况下不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

注意:该服务的用户类似于“拒绝作为批处理作业登录”策略,只不过这两条策略的作用正好互斥。

44. 作为受信任的呼叫方访问凭据管理器

该策略的默认值是空的。

该策略主要用于备份和还原凭据管理器,通常只有系统的Winlogon进程需要该特权,而用户不需要直接使用该特权。因此,不建议修改这里的设置。如果需要让其他用户或者用户组具有该权限,可以打开该策略,然后单击“添加用户或组”按钮,在随后出现的“选择用户或组”对话框中进行添加;如果希望撤销某个用户或者组的这个权限,可以在用户或组列表中将其选中,然后单击“删除”按钮。

二、全局安全设置

除了给不同的用户或者组指派权限外,还可以在“安全选项”节点下,针对系统的全局安全设置进行调整。

选择“计算机配置”>“Windows 设置”>“安全设置”>“本地策略”>“安全选项”。

这里列举的策略都是很关键的,在经过恰当的设置后,可以极大地提高系统的安全性,但如果设置错误,则有可能影响系统安全,甚至影响正常的使用。

因此,如果你不清楚一个策略是否需要,或者不了解策略的详细作用,最好不要修改设置,使用默认值即可。

1、DCOM:使用安全描述符定义语言(SDDL)语法的计算机启动限制

该策略的默认值是“没有定义”。

该策略可以用安全描述符定义语言(Security Descriptor Definition Language,SDDL)对计算机的DCOM应用程序启动和激活等操作进行限制。简单地说,可以通过该策略设置允许哪些用户或者用户组通过远程或本地的方式访问启动或者使用本机上的 DCOM 应用程序。

通常情况下,该策略使用默认设置即可。但如果需要修改,可以按照下列方法对其进行配置:

  • 双击该策略,打开“属性”对话框,并单击“编辑安全设置”按钮。
  • 在如图所示的“访问权限”对话框中,已经默认预置了4个用户和组。

  • 这里的设置方法和设置NTFS访问权限基本相同,只要选中想要设置的用户或者组,然后根据实际需要选择对应权限的“允许”或“拒绝”权限即可。
  • 如果要设置的用户或者组没有出现在列表中,可以单击“添加”按钮,在随后出现的“选择用户或组”对话框中选择要设置的用户或者组。

2、Microsoft网络服务器:登录时间过期后断开与客户端的连接

该策略的默认值是“已启用”。

该策略主要用于带有Active Directory的企业网络中,因为在Active Directory中,管理员可以设置用户或者用户组的允许登录时间,只有在允许的时间内,该账户才被允许登录,同时该策略只影响SMB(Server Message Block,服务器消息块)连接,也就是我们平时使用网上邻居访问网络中其他计算机上的共享文件或共享打印机时使用的协议。

既然可以在Active Directory中限制用户或者用户组登录的时间,那么,如果一个用户允许在每天早上8点到9点之间登录,他在8点半登录并打开了对方计算机上的共享文件后,如果一直没有关闭这个文件的访问连接,过了9点应该怎样处理?如果启用该策略,只要一到9点,该登录打开的连接都会被服务器自动断开;如果没有启用该策略,那么这个用户依然可以使用已经创建的连接,并且在他注销之前一直可以使用,只是无法创建新的连接(打开新的文件)。

3、Microsoft网络服务器:对通信进行数字签名(如果客户端允许)

该策略的默认值是“已禁用”。

接下来要介绍几个与网络通信的数字签名和数字加密相关的策略,那么加密和签名到底有什么区别?

所谓签名,主要用途是证明通信的实际来源,以及在传输过程中是否被篡改。例如,如果主机A和主机C需要通信,但链路要通过主机B实现,其中的主机B起到了一个类似“转发”的作用,如果主机B上安装有特殊的软件,可能会篡改主机A和主机C之间的通信数据。而一旦主机A和主机C之间的通信被数字签名了,那么只要通信数据被篡改,这两台系统立刻就会知道,同时数字签名技术还可以证实来源的准确性。例如,假设主机B冒充主机A给主机C发送数据,因为无法伪造主机A的数字签名,因此,主机C只要看到数据的数字签名,就可以知道这些数据是否来自真正的主机A。

而加密的主要目的是为了防止窃听。例如,主机A要通过主机B发送数据给主机C,一旦进行通信加密,主机A发出的数据将会使用复杂的算法进行加密,同时,只有主机C可以解密并查看其内容。这样主机B虽然可以“转发”数据,但因为无法解密,因此,不会知道数据的实际内容。

在这里需要注意,虽然这几条策略中都提到了“客户端”和“服务器”的概念,但这并不是用于区别Windows的版本。这里的“服务器”并不仅仅指安装了服务器版Windows的计算机,“客户端”也并不仅仅指安装了客户端版本Windows的计算机。这里所说的“客户端”和“服务器”是通过在连接中的实际作用来区分的。假设一台运行Windows Server 2008的计算机需要访问一台运行Windows 7的计算机上的共享文件,那么在这个活动中,“服务器”是运行Windows 7的,提供了文件访问服务的计算机;而“客户端”反而是运行Windows Server 2008的,需要访问其他计算机上文件服务的计算机。

另外需要注意的一点,这条策略和“Microsoft网络服务器”和“Microsoft网络客户端”策略都只是针对在局域网环境内使用的SMB协议的,也就是说,只适用于通过网上邻居访问局域网的文件共享或打印机共享。

该策略可以根据客户端的配置决定是否对服务器端的SMB组件进行数字签名。启用该策略后,在进行过网络验证后,如果经过协商,服务器发现客户端可以接受数字签名,就会自动将SMB数据包进行数字签名。

4、Microsoft网络服务器:对通信进行数字签名(始终)

该策略的默认值是“已禁用”。

虽然该策略也可以决定是否对服务器端的SMB组件进行数字签名,不过决定权在服务器(上一条策略的决定权在客户端)。在启用该策略后,无论客户端是否可以接受数字签名,服务器上发出的数据都会进行签名。

5、Microsoft网络服务器:服务器SPN目标名称验证级别

该策略的默认值是“没有定义”。

该策略决定了具有共享文件夹或打印机的计算机对客户端计算机使用 SMB 协议创建的会话所提供的服务主体名称(SPN)的验证方式。

简单地说,在使用SMB协议创建网络会话时,SMB服务器端可以对SMB客户端的服务器主体名称(Service Principal Name,SPN)进行验证,这主要是为了防范SMB中继攻击。SPN 是指服务实例所具有的唯一的标识信息(这一点可以理解为 Windows 中账户的SID)。如果客户端的某个服务具有多个实例,那么每个实例也将有唯一的SPN。

对于该策略,如果不需要验证客户端的SPN,可以设置为“关闭”;如果希望在客户端提供 SPN 的时候对该 SPN 进行验证,并只有验证到匹配的结果后才允许通信,则可以选择“由客户端提供时接受”,但这种情况下,SPN 并不是强制要求的,如果客户端不提供SPN,则可直接建立通信;如果强制要求客户端提供 SPN,并且只有在验证到匹配的结果后才允许通信,则可以选择“客户端需要”,这种情况下,客户端如果不提供SPN,或者提供了不匹配的SPN,都将无法通信。

6、Microsoft网络服务器:暂停会话前所需的空闲时间数

该策略的默认值是15分钟。

该策略决定了SMB会话在不活动多长时间后会自动被服务器暂停。简单地说,当客户端打开服务器上的一个共享文件,但在一定长度的时间内没有访问其他文件后,该会话就会被服务器暂停(也叫做挂起),这个时间长度是由本策略决定的。当一个会话被暂停后,如果需要重新恢复到可访问状态,需要重新建立会话。

7、Microsoft网络客户端:对通信进行数字签名(如果服务器允许)

该策略的默认值是“已启用”。

该策略的作用和上文介绍的“Microsoft网络服务器:对通信进行数字签名(如果客户端允许)”的作用类似,只不过在本策略中,进行数字签名的是客户端的SMB组件,同时决定权在服务器端。也就是说,如果启用该策略,那么只要服务器端可以接受对SMB通信进行数字签名,客户端的SMB组件就会被自动签名。

8、Microsoft网络客户端:对通信进行数字签名(始终)

该策略的默认值是“已禁用”。

该策略的作用和上文介绍的“Microsoft 网络服务器:对通信进行数字签名(始终)”的作用类似,只不过在本策略中,被签名的是客户端SMB组件,且服务器端无论是否可以接受,都会被签名。

9、Microsoft网络客户端:将未加密的密码发送到第三方SMB服务器

该策略的默认设置是“已禁用”。

除了Windows操作系统可以使用SMB通信外,还有很多其他操作系统可以实现,例如,在Linux系统中安装Samba软件后,就可以让Linux操作系统访问Windows的共享文件,同时,Windows也可以访问Linux中的共享文件。这类非Windows的兼容SMB协议的应用就叫做第三方SMB服务器。通常情况下,为了保证安全,在进行SMB通信之前需要对用户的身份进行验证,而验证信息(用户名和密码等信息)是被加密后传输的,这样可以保证密码或者其他重要信息不被外泄。然而并非所有的第三方SMB服务器都支持在验证身份的时候对密码进行加密。因此,该策略决定了如果要访问的第三方SMB服务器无法接受被加密的密码信息,那么是否将未加密的密码发送出去。

通常情况下,建议该策略保持默认值,也就是将其禁用。而一旦网络中确实有不支持加密验证的SMB服务器,同时又必须使用该服务器,则可以按照实际情况将其启用。只不过这样做有可能导致密码外泄。

10、关机:清除虚拟内存页面文件

该策略的默认值是“已禁用”。

对Windows有一些基本了解的人一定知道,Windows中用了一种叫做“虚拟内存/分页文件”的技术,可以将已经载入到物理内存中,但较长时间没有被使用的数据重新写入硬盘的一个特殊文件中,而一旦系统或者软件重新需要该数据,数据就会被从这个特殊的文件中重新读回物理内存。这种操作叫做分页,硬盘上,这个特殊的文件就叫做分页文件,有时候也被叫做页面文件。

分页是Windows中一项十分常见的操作,不管技术如何进步,到了大容量内存非常普及的今天,该功能依然没有被取消。分页操作可以提高数量有限的物理内存的使用效率,让系统和程序能够更加平滑地同时运行。然而这里存在一个问题:如果我们在Windows中处理了一些机密数据,在处理过程中,这些数据很可能曾经被Windows分页到硬盘上。当处理完毕,并将机密文件妥善保管好之后,这个文件中的某些信息可能依然存在于分页文件中,有时甚至可能会在里面保存好多天。虽然无法直接在Windows下使用常见的软件读取分页文件中的内容,不过确实有程序可以对分页文件进行分析,并从中读取数据。因此,如果计算机需要用于处理机密信息,那么最安全的办法就是启用该策略。这样,在关机的时候,Windows会自动将分页文件清理掉,并在下次开机的时候重新创建。

另外需要注意一点,启用该策略后会极大地延长Windows的关闭时间,因为启用该策略后,Windows 在关机的时候并不是简单地在系统分区的主文件分配表中将分页文件标记为“已删除”(一般情况下,当我们在 Windows 下删除文件的时候,Windows 就是这样做的。这样做虽然速度快,但很不可靠,因为反删除软件可以顺利地找回这样删除的文件),而是用随机数据将分页文件占用的硬盘扇区全部填充。这样做即使用反删除软件也将无法找回分页文件中的数据。因此,这会降低关机速度,尤其是如果分页文件设置得比较大的时候。

11、关机:允许系统在未登录的情况下关闭

该策略的默认值是“已启用”。

在上文中介绍“关闭系统”策略的时候曾经提起过,很多专用的Windows系统(例如服务器)都是不能被随意关闭的,因此,在这类系统上可以通过策略决定允许哪些用户或者用户组关闭。该策略的作用是决定当计算机已经启动,但没有用户登录的时候,是否在欢迎屏幕上显示关机按钮,并允许直接关机。

该策略默认情况下是被启用的,这样,当启动Windows到欢迎屏幕,还没有任何用户登录的情况下,Windows 将会显示关闭按钮,供我们在登录之前关闭计算机。一旦禁用该策略,那么在欢迎屏幕上如果没有任何用户已经登录,将找不到关闭选项。当然,此时依然可以通过拔掉电源线的方法“关机”,但至少无法从 Windows 自身提供的选项将系统安全关闭。

这个策略同样主要是适用于专用的计算机,例如服务器。因为很多服务器都是要运行后台服务的,即使没有用户登录,这些服务也可以正常使用。因此,在服务器上最好启用该策略,这样别人就无法正常关机。如果真需要关机,就只能使用具有关机权限的账户登录系统,然后关闭。

12、恢复控制台:允许软盘复制并访问所有的驱动器和所有的文件夹

该策略的默认值是“已禁用”。

默认情况下,当进入到故障恢复控制台后,只能访问有限的几个系统目录(虽然此时是使用管理员账户登录的),这主要是为了安全,因为故障恢复控制台的主要作用是为了在操作系统崩溃,甚至连安全模式都无法进入的情况下,提供一个字符界面供我们使用命令行程序解决问题。因此,默认情况下,该功能限制了只能访问到系统目录,毕竟解决系统问题只需要访问这几个目录就足够了。

同时,为了保证保存在本地硬盘上文件的安全,默认情况下,在故障恢复控制台中无法将本地硬盘上的文件复制到可移动存储设备。然而,只要启用该策略,所有这些限制都将被取消。

13、恢复控制台:允许自动管理登录

该策略的默认值是“已禁用”。

默认情况下,当试图进入到故障恢复控制台环境下之前,必须使用系统内建的Administrator 账户登录才能继续操作。启用该策略后,只要选择进入故障恢复控制台,不需要登录即可直接使用。通常不建议启用该选项,毕竟需要登录还可以进一步增强安全性。

14、交互式登录:不显示最后的用户名

该策略的默认值是“已禁用”。

为了方便使用,默认情况下,Windows会在“Windows登录”对话框的“用户名”一栏显示上一次登录用户的用户名。这样,如果该用户下次继续登录,只要输入密码即可,简化了登录过程。然而这样做也容易造成安全隐患,因为任何能够看到登录界面的人都会知道至少一个本机上的有效账户的名称,进而可能会通过猜测或者暴力破解的方法攻击系统。

如果启用该策略,“Windows登录”对话框中就不会显示上一次登录账户的用户名。每个用户在登录的时候都必须输入自己的用户名和密码。

如果需要进一步的安全,可以考虑启用该策略。注意,该功能对于Windows 7的欢迎屏幕无效。

15、交互式登录:试图登录的用户的消息标题

该策略的默认值是空的。

通过配置该策略,和下面的“交互式登录:试图登录的用户的消息文本”配合,可以让用户在登录系统之前看到一个提示信息。例如,可以在提示信息中声明一些公司计算机的安全使用注意事项,或者发布通知。

该策略决定了用户登录时看到的消息的标题,也就是“消息”对话框的标题栏显示的内容。

16、交互式登录:试图登录的用户的消息文本

该策略的默认值是空的。

和上面一条策略的作用类似,不过该策略设定的是用户登录时看到的消息的正文内容。

17、交互式登录:锁定会话时显示用户信息

该策略的默认值是空的。

这个策略决定了在域环境中,当将计算机锁定后,计算机的屏幕上显示有关用户的哪些信息。如果希望显示完整的用户信息,例如账户名、域名等,可以选择“用户显示名称、域名和用户名”;或者也可以根据需要选择“仅用户显示名称”或“不显示用户信息”。

对于安全性要求较高的场合,通常建议使用“不显示用户信息”,毕竟向无关人员泄露的信息越少(哪怕是看似无关紧要的信息),也就越安全。

18、交互式登录:提示用户在过期之前更改密码

该策略的默认值是“14天”。

这条策略决定了在用户的密码快要过期的时候,Windows 在过期前多少天开始提示用户更改。例如,默认设置的是14天,当一个用户的密码还剩14天就要过期的时候,这个用户登录后就能看到一个建议立刻更改密码的提示信息。同时,在过期前,该用户每次登录的时候都会看到同样的提醒。

如果没有设置过“密码最长使用期限”策略,该策略就没什么意义。另外,可以根据实际安全需要延长或者缩短提醒的天数。

19、交互式登录:无须按“Ctrl+Alt+Del”组合键

该策略的默认值是“没有定义”。

在介绍这个策略之前,我们先来了解一下为什么一定要按“Ctrl+Alt+Del”组合键之后才输入密码并进行登录。假设有这样一种情况:如果有人编写了一个程序,可以模仿Windows 的登录界面,并且提供了完全一致的“登录”对话框,还设置这个程序全屏运行覆盖掉屏幕上的其他内容。那么,一旦这样的程序在计算机上运行,这台计算机的用户就很容易被蒙骗,在这个程序伪造的“登录”对话框中输入自己的用户名和密码。该程序一旦截获了用户名和密码,就可以将密码发送出去。因此,在安全的环境下,最好在登录前要求按下“Ctrl+Alt+Del”组合键。

“Ctrl+Alt+Del”组合键是Windows中的一个特殊的组合键,通常可以实现一些很重要的功能。例如,Windows 9x时代的任务管理器和热启动,以及Windows 2000/XP/Vista/7时代的任务管理器和Windows安全界面。

下面以实例来说明该策略的用法。对于Windows 7,在没有账户登录的情况下:

如果不设置该策略,或设置为“启用”的情况下,如果当前没有用户登录,那么在欢迎屏幕上会直接看到本机所有账户的列表,只要选中一个账户的图片,并输入密码,即可登录。

如果禁用该策略,在欢迎屏幕上首先会看到一则消息要求我们按下“Ctrl+Alt+Del”组合键,如图  所示,随后才可以看到账户列表。

如果需要登录的界面是软件模拟出来的,这表示当前已经有用户登录了,并且运行了软件,如果这时候按下“Ctrl+Alt+Del”组合键,出现的将会是“Windows安全”界面。

也就是说,可能会有恶意软件模拟出图 3-12 的界面来诱骗用户输入密码。但如果图 3-12 是恶意软件模拟出来的,在按下“Ctrl+Alt+Del”组合键后,并不会看到登录界面,而是直接看到图 3-13 所示的内容。因此,只要能事先给用户做好培训,如果用户打算登录的时候按下“Ctrl+Alt+Del”组合键没有看到预期的账户列表,就表示有问题,用户没有地方可以输入自己的密码,同时也就保证了用户密码的安全。

注意 Windows对策略的“否定”描述。例如,当前这条策略叫做“无须按Ctrl+Alt+Del”组合键,策略的含义本身就是否定的,这意味着,如果启用该策略,就“不需要”按(正负得负);如果禁用该策略,就“需要”按(负负得正)。但如果这条策略叫做“需要按Ctrl+Alt+Del组合键”(事实上并没有这样的策略,这只是假设出来用于说明问题),启用该策略的时候则“需要”按,而禁用该策略反而就“不需要”按。在Windows中有很多策略的名称是“肯定”的,而也有不少的名称是“否定”的,在设置的时候一定要注意区分。

20、交互式登录:需要域控制器身份验证以对工作站进行解锁

该策略的默认设置是“已禁用”。

这条策略主要用于域环境中。因为和单机以及工作组环境不同,在单机或工作组环境下,用户的登录信息保存在本机的SAM数据库中,登录Windows的时候,用户输入的用户名和密码是在本机进行验证的;而在域环境下,域账户的登录信息保存在域控制器上,用户登录Windows的时候,输入的用户名和密码是在域控制器上进行验证的。这就带来了一个问题,如果是笔记本电脑加入了域,在公司里可以连接到域控制器,自然就可以成功地验证并登录。但如果这台笔记本被带出公司了,例如到了客户的公司里,或者员工拿着笔记本电脑回家,因为没法连接到域控制器,这是否意味着用户无法登录?

为了避免这种情况,默认的设置下,当一个域用户成功登录后,本机会将用户的凭据信息缓存到本地。这样,如果暂时无法连接到域控制器,用户还可以使用本地缓存的凭据信息判断用户是否是合法用户,并决定是否允许登录。这样的默认设置增加了易用性,但降低了安全性。毕竟客户端保存了用户的凭据信息,而这些信息有可能随着客户端离开公司的范围。

为了避免域用户的凭据信息被滥用,可以启用该策略,这样用户试图登录或者解锁计算机的时候,本机就必须能够连接到域控制器,并进行验证。同时,本机不再保存用户凭据的缓存。但如果因为网络故障或者用户出差,无法连接到域控制器,启用该策略将导致计算机无法使用。

因此,请根据实际需要配置该策略。例如,可以统一对所有的笔记本计算机禁用该策略,但同时对所有的台式机启用该策略。

21、交互式登录:需要智能卡

该策略的默认设置是“已禁用”。

在上文中曾介绍过如何创建安全的密码,并且密码需要定期更换等。这些措施虽然说起来简单,但实际执行的时候总会遇到各种问题,毕竟人都是有惰性的,同时,好密码也很难记忆。为了避免密码导致的安全问题,现在很多大企业已经在考虑使用其他方式取代传统的密码,例如智能卡、指纹或者虹膜等生物特征识别,其中智能卡的使用最常见。

智能卡就像普通的信用卡,其中有一块芯片存储了用户的登录凭据信息。在部署了智能卡的企业中,用户只需要将自己的智能卡插入计算机上的读卡器中,用户名和密码的输入工作就由智能卡代劳了。因为不需要用户记忆密码,因此,智能卡比传统的密码更安全,还不用担心密码遗忘,就算智能卡丢失或者被盗,管理员也可以在第一时间撤销该智能卡对应的凭据信息,这样别人就算得到智能卡,也无法使用。

该策略决定了是否允许除了智能卡外的其他方式进行验证。如果禁用该策略,那么除了使用智能卡,用户依然可以使用传统的密码方式来登录(只要企业网络中依然保留了密码验证的方式);如果启用该策略,就只能使用智能卡登录。

22、交互式登录:之前登录到缓存的次数(域控制器不可用时)

该策略的默认设置是“10登录”。

在“交互式登录:需要域控制器身份验证以对工作站进行解锁”策略的介绍中曾经提到过,默认情况下,Windows 会将域账户的凭据信息缓存起来,以便在无法联系域控制器的时候进行验证。该策略就决定了Windows缓存多少个登录凭据,它可用的值是介于0~50 的整数,如果设置为 0,将不缓存凭据;如果设置为超过 50 的整数,那么,Windows最多只缓存50个登录凭据。

23、交互式登录:智能卡移除行为

该策略的默认值是“无操作”。

在上文对“交互式登录:需要智能卡”策略的介绍中,曾经提到过,为了增强安全性能,很多企业都部署了智能卡。在需要的时候,只要将自己的智能卡插入到读卡器中,就可以直接登录到Windows。该策略决定了在成功登录后,如果将智能卡从读卡器中拔出来, Windows可以采取的操作,例如,可以选择“锁定工作站”、“强制注销”,从Windows Vista开始还增加了一个“如果为远程终端服务会话,则断开连接”选项,适用于异地办公的员工。

对于该策略,建议选择“锁定工作站”,这样用户在登录后,如果需要暂时离开自己的计算机,则可以直接将智能卡拔下来,这样计算机会自动锁定。当用户回来后,只要插入智能卡,就可以继续处理离开前的工作。

24、设备:防止用户安装打印机驱动程序

该策略的默认设置是“已禁用”。

这条策略只对网络打印机有效。我们可以将打印机在网络上共享出来,这样别人如果需要,就可以直接将文档从自己的计算机上通过网络发送给共享的打印机进行打印。然而,和本地打印机一样,要使用网络打印机,必须在本地计算机上安装这台打印机的驱动程序。而该策略就是用于决定是否允许用户安装网络打印机的驱动程序。这条策略不会影响Administrators和Power Users组的用户。

如果启用该策略,就只有管理员可以给本机安装网络打印机的驱动;如果禁用该策略,那么任何权限的账户都将可以安装网络打印机的驱动。

25、设备:将CD-ROM的访问权限仅限于本地登录的用户

该策略的默认值是空的。

如果启用该策略,就只有从本机进行本地登录的用户可以访问光驱(虽然策略名字中写的是 CD-ROM,实际上该策略可以应用于所有的光存储设备);如果禁用该策略,那么网络用户也可以访问本机的光存储设备(可以通过网上邻居,或者远程桌面服务)。

26、设备:将软盘驱动器的访问权限仅限于本地登录的用户

该策略的默认值是空的。

这条策略的含义和上一条类似,可以决定是否允许网络用户使用本机的软驱。

27、设备:允许对可移动媒体进行格式化并弹出

该策略的默认值是空的。

这个策略决定了谁可以格式化可移动存储介质,以及将其弹出,可选的选项有“管理员”、“Administrators和Power Users”,以及“Administrators和Interactive Users”。这里简单介绍一下Interactive Users,这是指通过交互式登录的方式登录到本机的用户。简单地说,就是指在本机前登录的用户。

28、设备:允许在未登录的情况下弹出

该策略的默认值是“已启用”。

这条策略决定了是否允许在没有任何用户登录的情况下,将连接到扩展坞的便携式计算机从扩展坞上脱离。如果启用该策略,则在没有用户登录的情况下,只要扩展坞上带有硬件形式的弹出按钮,就可以用它直接弹出计算机。如果禁用该策略,用户就必须使用具有“从扩展坞中移除计算机”权限的账户登录系统才能移除计算机。

29、审核:对备份和还原权限的使用进行审核

该策略的默认值是“已禁用”。

该策略决定了是否对备份和还原操作进行审核。简单地说,如果启用该策略,那么备份和还原操作就会被记录到审核日志中;如果禁用该策略,即使启用了审核,有关备份和还原的操作也不会被记录。

30、审核:对全局系统对象的访问进行审核

该策略的默认值是“已禁用”。

该策略决定了是否对全局系统对象的访问进行审核。注意:该策略对我们一般的审核操作没什么用,启用该策略后会生成大量用不到的审核日志,而这些日志通常都是开发人员所关心的。因此,一般情况下,就算启用审核,也不需要通过该策略启用全局系统对象访问的审核。

31、审核:强制审核策略子类别设置(Windows Vista或更高版本)替代审核策略类别设置

该策略的默认值是空的。

在Windows 7下查看审核策略的日志时可以发现,与老版本Windows相比,Windows 7的审核策略日志更加详细,因为其中增加了很多子类别,方便我们更直观地找到自己需要关注的日志内容。然而这些新增的子类别只适合Windows Vista以上的系统。

如果企业管理员需要同时管理Windows 7和Windows XP计算机的审核策略日志,为了提供向下兼容性,禁用该策略后就可以避免让Windows 7的审核策略日志启用子类别功能。但如果只是管理Windows Vista/7的审核策略日志,不管理Windows XP或更老的系统,为了提高易用性,可以启用该策略。

32、审核:如果无法记录安全审核则立即关闭系统

该策略的默认值是“已禁用”。

在上文介绍审核策略的时候就已经提到过,在启用审核后,取决于审核策略的设置,以及要审核的对象的访问情况,系统中可能会生成大量审核日志记录。如果记录已经满了,那么在该策略的默认设置下,新的审核日志将无法保存。在某些情况下,这是一种不安全的做法,因为管理员无法了解对对象的访问情况。因此,我们可以考虑启用该策略,这样一旦日志满了,非管理员用户登录系统的时候就会看到“STOP:C0000244”错误信息,无法登录系统,同时系统会自动关闭。这时候必须由管理员登录系统,将老的日志记录进行存档或者清理,这样其他用户才可以登录。

启用该策略的时候一定要小心,因为一旦启用,如果我们没能及时清理日志记录的时候,可能会导致用户无法正常使用。因此,在启用该策略后,我们还可以根据需要对事件查看器进行一些设置。

对于Windows 7,请这样操作:

  • 在“计算机”上单击鼠标右键,选择“管理”,打开计算机管理控制台。
  • 在计算机管理控制台窗口左侧的控制台树中依次展开“计算机管理”→“系统工具”→“事件查看器”→“Windows日志”→“安全”。
  • 在“安全”节点上单击鼠标右键,选择“属性”,打开“安全性属性”对话框,如图所示。

“日志最大大小”选项决定了“安全”日志可以用于保存日志记录的硬盘空间的最大值。对于安全性日志,默认的最大值是20 480KB,基本上已经可以满足一般情况下的使用。但如果需要审核的对象比较多,也可以根据实际情况调整该日志的最大值设置。 

在“达到事件日志最大大小时”选项下可以看到三个选项,这些选项决定了当日志满了后系统要采取的操作: 

  • 按需要覆盖事件(旧事件优先)如果选择该选项,一旦日志满了,新的事件将覆盖最老的事件。
  • 日志满时将其存档,不覆盖事件在日志满了后,将老的事件内容存档到其他指定的位置,然后将日志清空。
  • 不覆盖事件(手动清除日志)如果日志满了,将拒绝接受新的事件,直到管理员手工清理。

如果已经查看了所有的日志事件,需要将这些事件都清除掉,这时候可以在对应的节点(例如,“安全”节点)上单击鼠标右键,选择“清除日志”,接下来,Windows会使用一个对话框询问我们是否要保存这些事件,我们可以根据实际需要决定是否保存。

33、网络安全:LAN管理器身份验证级别

该策略的默认值是空的。

Windows可以使用几种不同的密码验证机制,这些机制包括LM、NTLM以及NTLMv2,按照排列顺序,这三种机制从左到右,其安全性是递增的。但这里还存在一个问题,不同操作系统对这些验证机制的支持情况各不相同。例如,Windows NT 4就只支持LM验证机制,而Windows 2000开始增加对NTLM的支持,从Windows XP开始则增加了对NTLMv2的支持。该策略就是用于设置Windows所用的验证机制的。

如果网络中操作系统的种类很单一,例如只有Windows XP以上的系统,那么很好解决,只要选择所有操作系统都支持的,同时也是最安全的验证机制就可以了;如果网络中还有更老的 Windows,或者其他操作系统,那么为了兼容这些系统,则必须根据这些系统的实际情况选择使用不那么安全,但兼容性更好的验证机制。

该策略可设置的选项包括:

  • 发送LM和NTLM响应使用LM和NTLM身份验证而不使用NTLMv2。该设置的兼容性最好,但是安全性最差。
  • 发送LM和NTLM响应-如果已协商,则使用NTLMv2会话安全使用LM和NTLM身份验证,并且如果服务器支持,在经过协商后可以使用NTLMv2。该设置的兼容性最好,同时安全性有所提高。
  • 仅发送NTLM响应只使用NTLM,并在服务器支持的前提下使用NTLMv2。该设置的兼容性一般,但安全性较好。
  • 仅发送NTLMv2响应只使用NTLMv2。该设置的兼容性很差,安全性很好。
  • 仅发送NTLMv2响应,拒绝LM只使用NTLMv2,同时域控制器拒绝LM,只接受NTLM和NTLMv2。该设置的兼容性一般,安全性较好。
  • 仅发送NTLMv2响应,拒绝LM和NTLM只使用NTLMv2,同时域控制器拒绝LM和NTLM。该设置的兼容性最差,但安全性最好。

注意:在修改该策略的时候一定要考虑好实际的网络环境,即使所有的客户端都运行了最新的Windows系统,也要考虑有什么特殊要求的应用程序,因为错误的设置可能导致系统无法登录,或者程序无法正常运行。

34、网络安全:LDAP客户端签名要求

该策略的默认值是“协商签名”。

该策略决定了LDAP客户端发出请求的签名方式。可设置的选项有“无”、“协商签名”,以及“需要签名”。

LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)是一种LDAP服务器和客户端之间的通信协议。该协议主要用于企业网络中存储数据,可以将其看做是一种“数据库”,对于一般用户,该协议的用途不大,我们可以直接保留默认设置。

35、网络安全:基于NTLM SSP(包括安全RPC)服务器的最小会话安全

该策略的默认设置是“要求128位加密”。

该协议决定了服务器对于会话安全的等级要求。在Windows 7中,可用的选项包括“要求NTLMv2会话安全”和“要求128位加密”。这些选项的作用分别如下:

  • 要求NTLMv2会话安全限制会话必须使用NTLMv2验证机制,否则将无法创建。
  • 要求128位加密限制会话必须使用128位强加密,否则将无法创建。

36、网络安全:基于NTLM SSP(包括安全RPC)客户端的最小安全会话

该策略的默认设置是“要求128位加密”。

关于该协议,所有可用的选项都和上面的与服务器有关的选项类似,其作用也一样。不同之处在于,上面的协议是从服务器端进行限制的,而这个协议是从客户端进行限制的。

37、网络安全:配置 Kerberos允许的加密类型

该策略的默认设置是空的。

该策略可用于设置对于Kerberos身份验证协议要使用的加密类型。对于单机和工作组环境,该策略没什么意义,不需要修改配置。

38、网络安全:限制NTLM: ××××××

这里有7条策略都与NTLM的限制有关。同样,这些策略都用于域环境,在单机和工作组环境下没有什么意义,不需要修改。

39、网络安全:允许LocalSystem NULL会话回退

该策略的默认设置是空的。

当连接到运行Windowes Vista或Windows Server 2008之前的老版本Windows计算机时,以Local System身份运行,且使用还原到NTLM的SPNEGO(Negotiate)身份验证方式的服务将使用计算机标识。在Windows 7中,如果连接到运行Windows Server 2008或Windows Vista的计算机,则系统服务将使用计算机标识或NULL会话。

当连接NULL会话时,将会创建一个由系统生成的会话密钥,该密钥不提供任何保护,但允许应用程序对数据进行签名和加密,而且不会出现错误。当连接计算机标识时,则可支持签名和加密,以便提供数据保护。

该策略决定了使用Local System账户运行的服务是否可以为了向后兼容而使用NULL会话。若无特殊情况,该策略通常使用默认设置即可。

40、网络安全:允许本地系统将计算机标识用于NTLM

该策略的默认设置是空的。

该策略与上一条策略的使用范围是类似的,上一条策略决定了是否允许Local System服务使用NULL会话,而本策略则决定了是否允许在NTLM验证中使用计算机标识。该策略将对计算机的身份验证方式产生影响,因此,如果不是有特殊需要,一般建议不要修改该策略。

41、网络安全:允许对该计算机的PKU2U身份验证请求使用联机标识

该策略的默认设置是空的。

在小型网络环境(非域环境)的Windows 7计算机中,我们可以针对每位用户设置文件和打印机的共享,通过使用Windows 7新增的家庭组功能,再配合联机ID功能,我们甚至可以使用Windows Live ID等信息指定共享的访问者,并设定权限。
该功能要求首先安装联机ID提供程序,可以使用Windows Live ID作为联机ID。

也就是说,在共享资源并设置权限的时候,不仅可以针对本机的用户名设定权限,而且可以针对别人的Windows Live ID来设置。例如,可以允许“PC/User1”对该共享资源具有只读权限,但允许“someone@hotmail.com”对该资源具有读写权限。联机ID是微软提出的一项开放标准,任何人都可以借助该标准编写自己的联机ID提供程序。例如,以后我们也许可以使用QQ号码指定访问权限等。

这一功能使用了基于用户到用户的公钥加密(Public Key Cryptography Based User-to-User,PKU2U)协议,而本策略就是用于决定是否使用这一功能的。

需要注意,该策略并不会影响使用域账户或本地账户登录本机的情况。

42、网络安全:在登录超过时间后强制注销

该策略的默认值是“已禁用”。

该策略决定了当一个通过 SMB 会话访问的远程用户登录后的时间超出了该账户被允许的有效时间后,系统是否自动将该用户注销。

在“安全选项”中的“Microsoft网络服务器:登录时间过期后断开与客户端的连接”一段中介绍的策略和本策略的目的类似,但结果不同。启用“Microsoft网络服务器:登录时间过期后断开与客户端的连接”这个策略后,一旦超过了允许的登录事件,那么服务器将自动断开会话,但已经建立的会话依然会被维持;而启用了“网络安全:在登录超过时间后强制注销”这个策略后,一旦超过实现,用户不仅会被断开,而且已经建立的会话也会被自动断开。

43、网络安全:在下一次更改密码时不存储LAN管理器哈希值

该策略的默认值是“已启用”。

该策略决定了在下次更改密码的时候是否存储新密码的LM哈希值。上文已经说过, LM 是 Windows 支持的所有密码验证机制中安全性最差的。因此,除非需要和老版本Windows保持兼容,一般情况下不建议使用该机制。

所以,如果需要考虑和老版本Windows的兼容问题,可以禁用该策略;如果不用考虑兼容性问题,或者希望实现更进一步的安全性,可以启用该策略。

44、网络访问:本地账户的共享和安全模型

该策略的默认值是“经典-对本地用户进行身份验证,不改变其本来身份”。

该策略决定了对使用本地账户进行的网络登录(简单地说,就是通过网上邻居访问本机上的共享文件)时如何进行身份验证。如果设置为“经典”,则使用本地账户凭据的网络登录会使用这些凭据进行身份验证;如果设置为“仅来宾”,则使用本地账户的网络登录将自动映射到Guest账户。

“经典”模式允许对资源访问进行更细致的控制,使用“经典”模式可以让同一个资源为不同的用户设置不同类型的访问权限;使用“仅来宾”模式可以公平地对待所有的用户,所有的用户都作为来宾得到身份验证,对于指定资源,这些用户可以获得相同级别的访问权限,即“只读”或“修改”。

除了可以通过安全策略设置共享和安全模型外,还可以通过Windows图形界面上提供的选项进行设置。

对于Windows 7,如果希望在图形界面上更改共享和安全模型,可以禁用共享向导。具体的过程如下:

  • 打开“计算机”窗口,按下键盘上的“Alt”键打开菜单栏。
  • 在“工具”菜单下单击“文件夹选项”,打开“文件夹选项”对话框。
  • 打开“文件夹选项”对话框的查看选项卡。
  • 在“高级设置”列表中,取消对“使用共享向导(推荐)”选项的选择。

注意在Windows 7中启用了共享向导的情况下,可以文件为单位创建共享,而在老版本的Windows中只能以文件夹为单位创建共享。这是共享向导的功劳,因此,如果禁用共享向导,将无法继续以文件为单位创建共享。

45、网络访问:不允许SAM账户的匿名枚举

该策略的默认设置是“已启用”。

该策略决定了匿名到本机的连接是否可以具有的其他权限。Windows 允许匿名用户执行某些操作,例如枚举域账户名或网络共享名。如果希望匿名用户具有这些权限,可以禁用该策略;如果不允许匿名用户具有这些权限,可以启用该策略。

46、网络访问:不允许SAM账户和共享的匿名枚举

该策略的默认设置是“已禁用”。

该策略决定了是否允许匿名用户枚举 SAM 账户,以及网络共享。如果希望匿名用户有这样的权限,请禁用该策略;如果不希望匿名账户有这样的权限,请启用该策略。

47、网络访问:不允许存储网络身份验证的密码和凭据

该策略的默认值是“已禁用”。

在使用经典共享模型的情况下,当我们访问网络上的共享文件时,需要输入一个用于身份验证的凭据(也就是被访问的共享文件所在计算机上的一个本地账户的用户名和密码),只有在输入正确的凭据信息后才允许访问。为了方便使用,默认情况下,Windows允许我们记住密码。当出现“登录”对话框,并输入用户名和密码后,可以选中“记住密码”选项,这样下次访问该共享资源的时候就不用输入密码了。

然而,这一特性有可能导致安全问题,例如,当我们用一个公用账户登录Windows系统并访问共享资源时,无意中可能选中“记住密码”选项。这样当别人使用这个公用账户登录系统后,就可以直接访问共享资源(也许这个人正常情况下并不允许访问这些资源)。为了防止这种问题发生,可以启用该策略,这样在访问网络共享时出现的“登录”对话框中将不会出现记住密码的选项;如果希望允许用户选择记住密码,则可以禁用该选项。

如果在禁用该选项的情况下不小心记住了密码,此时还可以管理本地存储的密码,将不需要的密码删除。

48、网络访问:将Everyone权限应用于匿名用户

该策略的默认设置是“已禁用”。

该策略决定了是否让匿名用户享受到“Everyone”账户的所有特权。在Windows中, Everyone是一个比较特殊的账户,因为这个账户并不代表某个具体的用户,而是用于描述符合某种条件的所有用户。具体来说,Everyone代表了本机的所有账户,例如Administrator是“Everyone”,Guest是“Everyone”,我们创建的其他本地账户也是“Everyone”。

那么这个策略到底是什么意思?假设希望所有登录到本机的用户都可以访问一个文件夹,最简单的办法就是针对Everyone账户设置访问权限,这样就可以将权限直接应用给所有的本地账户。如果有人使用匿名账户连接到本机,而不希望匿名账户访问指派给Everyone账户的文件,又该怎样做?只要将该策略禁用即可,因为禁用该策略后,匿名账户将不再是本机的“Everyone”,这样的账户也就不再具有 Everyone 的特权;相反,如果希望匿名用户也可以享受到Everyone的特权,只要启用该策略即可。

49、网络访问:可匿名访问的共享

该策略的默认设置是空的。

该策略决定了匿名用户可以访问本机的哪些共享。如果希望匿名用户可以访问某个共享,只要将该共享的共享名(注意,要添加的是该共享的共享名,而非对应的文件夹名)添加到该策略中即可。

假如禁用了上一条策略,让匿名用户不再具有Everyone的特权,而又希望匿名用户可以访问某些共享,就可以将允许其访问的共享添加进来。

50、网络访问:可匿名访问的命名管道

该策略的默认值是空的。

该策略决定了匿名用户可以访问本机的哪些命名管道。如果希望匿名用户可以访问某个命名管道,只要将该命名管道的名称添加到该策略中即可。

在介绍命名管道之前,首先要了解什么是管道。简单地说,管道(Pipe)是指用于在进程之间进行通信的一段共享内存,创建管道的进程称为管道服务器,连接到管道的进程为管道客户机。命名管道(Named Pipe)是在管道服务器和一台或多台管道客户机之间进行单向或双向通信的一种方式。对于一般用户,不建议随意修改该策略的默认设置,以免影响到Windows或其他软件的正常使用。

51、网络访问:可远程访问的注册表路径

该策略的默认值是:

System\CurrentControlSet\Control\Productoptions
System\CurrentControlSet\Control\Server ApplicationsSoftware\Microsoft\Windows NT\CurrentVersion

该策略决定了可以远程访问的注册表路径。如果希望添加可以远程访问的注册表内容,只需要将对应的路径添加到该策略中即可;如果希望停止对某个已经允许远程访问的注册表路径的远程访问,也只需要将其从该策略中删除。

注册表是Windows中一个很重要的概念,因为系统的很多重要设置和参数都是保存在注册表中的,我们可以使用注册表编辑器查看和编辑本机的注册表内容。然而很多人不知道的是,注册表除了可以进行本地编辑,还可以在具有权限的情况下编辑远程计算机的注册表。

运行Regedit打开注册表编辑器,然后打开编辑器的“文件”菜单,就可以看到“连接网络注册表”命令。通过使用该功能,企业管理员可以坐在自己的计算机前直接连接到局域网内其他计算机的注册表(哪怕这台计算机位于地球的另一边),并直接对其进行编辑、解决问题或者应用某些设置。

然而从安全角度考虑,默认情况下并不能远程访问整个注册表的所有内容。所有可以远程访问的注册表内容就是本策略定义的,我们可以根据实际需要添加或者删除某些内容的远程访问能力。

52、网络访问:可远程访问的注册表路径和子路径

该策略的默认值是:

System\currentControlSet\Control\Print\Printers
System\CurrentControlSet\Services\Eventlog
Software\Microsoft\OLAP Server
Software\Microsoft\Windows NT\CurrentVersion\Print
Software\Microsoft\Windows NT\CurrentVersion\Windows
System\CurrentControlSet\Control\ContentIndex
System\CurrentControlSet\Control\Terminal Server
System\CurrentControlset\Control\Terminal Server\UserConfig
System\CurrentControlSet\Control\Terminal Server\DefaultUserConfiguration Software\Microsoft\Windows NT\CurrentVersion\Perflib
System\CurrentControlSet\Services\SysmonLog

该策略的作用和上一条类似,只不过在Windows 7中,利用该策略可以更加细化对注册表的远程访问限制。因为上一条策略在Windows中只是用于指定可以远程访问的注册表主键,而该策略可以更加具体地指定可以远程访问的注册表子键。

53、网络访问:限制对命名管道和共享的匿名访问

该策略的默认值是“已启用”。

该策略决定了是否允许匿名用户访问命名管道和共享。在了解该策略的时候,需要将其与上文提到的“网络访问:可匿名访问的共享”和“网络访问:可匿名访问的命名空间”这两条策略区分开。因为该策略只是用于决定是否允许匿名用户访问命名管道和共享,如果允许访问,那么具体可以访问哪些命名管道和共享则是由前两条策略决定的。

54、网络访问:允许匿名SID/名称转换

该策略的默认值是“已禁用”。

该策略决定了匿名用户是否可以通过其他账户的用户名请求获得该账户的 SID,或者通过SID获得用户名。在上文已经介绍过,SID是Windows用于区分不同账户的主要途径,而且因为SID是唯一的,因此可以说,对系统安全和验证方式都有非常重要的作用。

例如,如果攻击者知道了系统管理员账户的 SID,并且该策略被启用,那么攻击者就可以知道管理员的用户名,进而可以通过猜测或者破解密码等方式非法登录系统。因此,一般情况下,该策略最好保持为默认的禁用设置。

如果网络中有一些老的操作系统,例如Windows NT 3.x或者Windows NT 4,为了正常使用某些功能,我们可能必须启用该策略。因此,建议只有在确实需要的时候才考虑将其启用。

55、系统对象:非Windows子系统不要求区分大小写

该策略的默认设置是“已启用”。

该策略决定了是否对所有的系统对象强制不区分大小写。我们都知道,除了账户密码, Windows的其他机制几乎都是不区分大小写的,例如,以“A”和“a”为名的文件在Windows看来就是同一个文件。然而很多其他操作系统是完全区分大小写的,例如Linux,在这类系统中,名为“A”和“a”的文件会被看做是两个文件。

如果企业网络中有非Windows操作系统,并且是区分大小写的,那么,若要考虑兼容性,我们可能必须让Windows也严格区分大小写,这时候就可以禁用该策略。如果不考虑到和非Windows系统的兼容性,为了照顾用户的使用习惯,最好还是启用该策略。

56、系统对象:加强内部系统对象的默认权限(例如,符号链接)

该策略的默认值是“已启用”。

该策略决定了系统对象的默认访问控制列表设置。简单地说,决定了对象的默认权限限制。我们都知道,在安装好 Windows,没有进行任何自定义设置的情况下,很多系统对象就已经具有访问权限限制了,这是微软根据具体对象的作用和需要设置的默认权限。而该策略可以决定默认权限的设置情况。通常没必要更改该策略的设置。

57、系统加密:将FIPS兼容算法用于加密、哈希和签名

该策略的默认设置是“已禁用”。

该策略决定了用于传输层安全性/安全套接字层(TL/SS)安全提供程序是否仅支持面向客户端和服务器(如果适用)的传输层安全(TLS)协议。如果启用该策略,那么,TL/SS将会使用Triple DES加密算法用于TLS通信加密,并仅将Rivest、Shamir和Adleman(RSA)公钥算法用于TLS密钥交换和身份验证,同时仅将SHA-1算法用于TLS哈希要求。

FIPS 是美国联邦信息处理标准的英文名称简写,而兼容 FIPS 的算法则是美国政府和某些机构必须使用的。通常情况下,如果不是在美国,或者没有特殊需要,就不必启用该策略。

58、系统加密:为计算机上存储的用户密钥强制进行强密钥保护

该策略的默认值是空的。

该策略决定了是否将用户保存在计算机上的密钥进行加密保护,如果加密,以后每次使用密钥的时候都必须输入密码。

该策略的可选设置包括:

  • 存储和使用新密钥时不需要用户输入。
  • 第一次使用密钥时提示用户输入。
  • 用户每次使用密钥时必须输入密码。

默认情况下,当将密钥(证书)安装到系统中之后,只要使用当时安装了密钥的账户登录,就可以直接使用该密钥,而不需要额外的身份验证(因为身份验证工作已经在登录Windows的时候统一进行了)。

有时候也有可能导致安全问题,例如暂时离开计算机,但忘了将计算机锁定,这样别人就可能接触到我们的计算机,进而使用我们的个人密钥进行一些不好的操作。此时可以将该策略设置为“用户每次使用密钥时必须输入密码”选项,这样,就算别人可以使用我们的计算机,也会因为不知道密码而无法使用我们的密钥。

59、系统设置:将Windows可执行文件中的证书规则用于软件限制策略

该策略的默认值是“已禁用”。

该策略决定了在运行可执行文件(.exe扩展名)的时候是否结合文件自带的数字证书,以及软件限制策略的设置判断是否允许文件运行。软件限制策略是Windows中的一个功能,通过该功能,可以借助不同的条件,例如文件名、文件哈希、数字证书等来判断是否允许用户运行这个软件。例如,可以通过软件限制策略决定,带有标示为“Microsoft”的数字证书的软件全部可以运行,或者可以禁止名称为“某某某”的软件运行。如果希望通过数字证书设置软件限制策略,就必须启用该策略。

60、系统设置:可选子系统

该策略的默认值是“Posix”。

该策略决定了系统可以使用哪些子系统对某些程序提供支持。对于拥有不同操作系统的企业网络,不同的子系统可以让运行Windows的计算机和运行非Windows计算机的系统进行交互,或者实现某些功能。通常,对于只运行Windows操作系统的网络,或者单机环境,如果不需要考虑和其他非Windows的交互问题,可以不配置该策略。

61、用户账户控制

在Windows 7中一共有10个名称以“用户账户控制”开头的策略,这些策略可以用于配置Windows 7中的用户账户控制功能。

62、域成员:对安全通道数据进行数字加密(如果可能)

该策略的默认值是“已启用”。

该策略决定了当域成员发现通信的另一端可以支持数字加密的情况下,是否将和对方的安全通道通信数据进行数字加密。通常情况下,这种安全通道用于在域环境下客户端计算机和域控制器进行一些重要的安全验证通信,例如,通过NTLM机制验证用户凭据,或者查询SID和用户名等。因此,启用该策略可以在一定程度上提高安全性。

当然,该策略所决定的数字加密是在协商的前提下进行的。如果客户端和服务器通过协商,发现可以进行加密,才会真正加密通信;如果通过协商发现其中一方无法接受加密,则不进行加密。因此,启用该策略可以在保证兼容性的前提下尽可能增强安全性。

加密的作用是防止窃听,因为被加密的数据被窃取后,将无法提供解密所需的密钥,从而可以保证数据的安全性。

63、域成员:对安全通道数据进行数字加密或数字签名(始终)

该策略的默认值是“已启用”。

和上一条策略的含义类似,首先系统会根据该策略判断是否进行数字加密或数字签名,如果启用该策略,系统就会知道,需要对安全通道数据进行加密或签名。然后系统会和通信的另一方进行协商,判断是否实施加密或签名。

因此,我们可以启用该策略,告诉系统我们需要进行加密或签名,然后通过上一条或下一条策略决定是否实施加密或签名。

64、域成员:对安全通道数据进行数字签名(如果可能)

该策略的默认值是“已启用”。

有关该策略的介绍,请参考上两条策略。

签名的作用是证明数据的真实来源和数据的完整性。因为虽然可以伪造网络通信数据,但无法伪造数字证书。而且数据包一旦被篡改(哪怕一个字节的内容)数字签名就会变得无效。

65、域成员:计算机账户密码最长使用期限

该策略的默认值是“30天”。

该策略决定了在域环境下,计算机账户的密码在更改前可以使用的最长天数,对单机或工作组环境下的计算机无效。企业管理员可以根据实际需要以天数为单位进行指定。

66、域成员:禁用计算机账户密码更改

该策略的默认值是“已禁用”。

该策略决定了在域环境下,域用户是否可以更改自己的计算机账户密码。如果启用该策略,那么域用户将无法修改该密码,同时上一条策略也会无效;如果禁用该策略,那么域用户可以修改自己的密码,同时必须在上一条策略设置的时间内更改自己的密码。

67、域成员:需要强(Windows 2000或更高版本)会话密钥

该策略的默认值是“已启用”。

该策略决定了安全数据通道进行加密或签名时所需的密钥的长度。对于Windows NT,可以使用的密钥的长度为56位,这在Windows NT刚投入使用的时候勉强够用,因为当时的硬件性能还不是很强大,面对56位密钥,如果要进行破解,就需要很长的时间。然而硬件技术发展迅速,56位密钥对于最新的处理器已经很容易破解。因此,从Windows 2000开始,微软为Windows提供了更长的密钥支持,Windows 2000以后的系统可以支持长达128位的密钥。

而该策略就决定了是否使用128位的密钥进行加密或签名。如果网络中没有Windows NT系统,就可以启用该策略,增强安全性;但如果有Windows NT系统,为了保证和老系统的兼容性,则应该禁用该策略,继续使用56位密钥对安全通道进行数字加密或签名。

68、域控制器:LDAP服务器签名要求

该策略的默认值是空的。

该策略决定了对于LDAP服务器,以及客户端的通信是否要求签名。在上文我们曾介绍过LDAP客户端的签名要求,该策略则类似,只不过会应用到LDAP服务器。

需要注意的是,如果希望对LDAP通信进行签名,则需要将对应LDAP客户端和服务器的策略都设置为“需要签名”,或者将服务器端设置为“需要签名”,同时将客户端设置为“协商签名”。

69、域控制器:拒绝计算机账户密码更改

该策略的默认值是“已禁用”。

该策略决定了是否允许域用户更改计算机账户的密码,如果希望用户可以更改计算机账户的密码,可以禁用该策略;如果希望禁止用户更改计算机账户的密码,则可以启用该策略。

70、域控制器:允许服务器操作者计划任务

该策略的默认值是空的。

该策略决定了是否允许Server Operators组的成员使用at.exe程序提交计划任务,但该策略并不影响通过图形界面下的任务计划程序提交计划任务。

71、账户:管理员账户状态

该策略的默认值是“已禁用”。

该策略决定了系统内建的Administrator账户的状态,如果希望禁用Administrator账户,可以将该策略设置为“已禁用”;如果希望启用Administrator账户,可以将该策略设置为“已启用”。该策略并不影响用户创建的其他Administrators组的账户。

72、账户:来宾账户状态

该策略的默认值是“已禁用”。

该策略决定了系统内建的 Guest 账户的状态,如果希望禁用 Guest 账户,可以将该策略设置为“已禁用”;如果希望启用 Guest 账户,可以将该策略设置为“已启用”。该策略并不影响用户创建的其他Guest组的账户。

73、账户:使用空白密码的本地账户只允许进行控制台登录

该策略的默认设置是“已启用”。

该策略决定了没有设置密码的账户是否可以通过网络登录,如果允许空白密码的账户网络登录,可以禁用该策略;如果禁止空白密码的账户网络登录,可以启用该策略。

如果启用该策略,那么没有设置密码的账户将只能进行控制台登录,也就是坐在本机前使用本机的键盘、鼠标和显示器登录,这种情况下,没有设置密码的用户将无法通过远程桌面登录,也不能通过网上邻居访问本机的共享文件或打印机。

74、账户:重命名来宾账户

该策略的默认值是“Guest”。

通过该策略,我们可以将系统内建的 Guest 改为使用其他名字,这是一种安全措施。因为Windows中内建有Administrator账户和Guest账户,这是所有人都知道的,尤其是前者还具有系统的最高控制权。因此,任何怀有恶意的人,只要知道这台计算机运行Windows操作系统,那么至少知道了系统中两个有效账户的名称。如果他想入侵这台计算机,接下来只需要猜测或者破解密码即可。而只要我们把系统内建的这两个账户改名,就可以给入侵者制造一些小障碍。

75. 账户:重命名系统管理员账户

该策略的默认值是“Administrator”。

通过该策略,我们已将系统内建的Administrator改为使用其他的名字。

三、注册表策略

通过下面8个修改注册表的方法,来提高系统的安全。

1、隐藏一个服务器 

为了保证局域网中服务器上的资源不受其他人的非法访问和***,我们从安全的角度考虑,有时需要把局域网中指定的服务器计算机名称隐藏起来,以便让其他局域网用户无法访问到,那么我们该如何实现呢?

下面请看该设置的具体步骤:

  1. 打开注册表编辑器,并在编辑器对话框中用鼠标依次单击如下分支:HKEY_LOCAL_ MACHINE SYSTEM CurrentControlSet ServicesLanmanServer Parameters键值。
  2. 用鼠标单击该键值下面的Hidden数值名称,如果未发现此名称,那么添加一个,其数据类型为REG_DWORD。
  3. 接着用鼠标双击此项,在弹出的“DWORD编辑器”对话框中输入1即可。
  4. 最后单击“确定”按钮,并退出注册表编辑窗口,重新启动计算机就可以在局域网中隐藏一个服务器了。

2、防止其他人非法编辑注册表

注册表是整个系统的灵魂所在,任何对注册表的错误修改都有可能让系统瘫痪。因此,如果您不是一位系统高手的话,最好不要轻易动手修改注册表。当然在公共场所,为了防止那些电脑“菜鸟”们,随意更改注册表设置,我们最好还是取消其他用户对注册表进行修改的权利。我们可以按照如下步骤来实现这样的目的:

  1. 首先在注册表编辑界面中,找到HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPolicies键值;
  2. 然后在Policies键值的下面新建一个System主键,如果该主键已经存在的话,可以直接进行下一步;
  3. 接着在对应System主键右边窗口的空白处再新建一个DWORD串值,并命名为DisableRegistryTools;
  4. 把DisableRegistryTools的值设置为1,设置好以后,重新启动计算机就可以达到防止其他人非法编辑注册表的目的了。

3、屏蔽“控制面板”的访问

由于通过控制面板,我们可以对计算机系统中的绝大部分软硬件进行设置和控制,因此为了防止其他人随意通过控制面板对Windows系统进行非法修改,我们就很有必要屏蔽其他用户对“控制面板”的访问了,要实现该功能,我们可以对注册表进行如下修改:

  1. 首先在开始菜单中的运行栏中输入regedit命令,打开注册表编辑器操作界面;
  2. 接着在该界面中,依次用鼠标访问\HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem键值;
  3. 随后在对应System键值的右边窗口中,用鼠标右键单击该窗口的空白处,并从弹出的快捷菜单中选择“新建”/“DWORD”命令,来新建一个DWORD值;
  4. 把DWORD值的名称命名为NoDispCPL,同时设置NoDispCPL的值为1。

4、不允许其他人对桌面进行任意设置

如果在培训时,每台计算机的申博桌面设置都一样,那么老师说到什么图标或者执行什么操作,每个学员都能迅速找到目标;相反,一旦桌面中的设置被任意修改后,每一台计算机中的设置就会不一样,那么在教学时,就很难保证教学操作的同步性。

为此,不少学校机房或者培训机房,都对锁定桌面进行了设置,下面是具体的设置步骤:

  1. 在Windows的运行对话框中输入regedit命令,来打开注册表编辑器窗口;
  2. 在编辑窗口中,用鼠标依次访问Hkey-UsersSoftwareMicrosoftWindowsCurentVersionPolioiesExplores键值;
  3. 在对应Explores键值右边的窗口中,用鼠标双击“No Save Setting”子键,并将其键值从0改为1!
  4. 重新启动计算机,上述设置就可以生效了。

5、抵御BackDoor的破坏

如果您的计算机上网了,那么您的计算机就会存在着被******的危险,而一旦被***中的,您的计算机就会面临着瘫痪或者被监视的安全威胁,其中有一个名叫BackDoor的后门程序,专门拣系统的漏洞进行***。为防止这种程序对系统造成破坏,我们有必要通过相应的设置来预防BackDoor对系统的破坏。设置时:

  1. 首先在注册表编辑器操作窗口中,用鼠标依次单击键值HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun;
  2. 在对应Run键值的右边窗口中,如果发现了“Notepad”键值,您只要将它删除就能达到预防BackDoor的目的了。

6、隐藏用户登录名

Win9x以上的操作系统可以对以前用户登录的信息具有记忆功能,下次重新启动计算机时,我们会在用户名栏中发现上次用户的登录名,这个信息可能会被一些非法分子利用,而给用户造成威胁,为此我们有必要隐藏上机用户登录的名字。

  1. 在设置时,请用鼠标依次访问键值HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionWinlogon;
  2. 在对应Winlogon键值右边的窗口中,用鼠标右键单击窗口的空白处,从弹出的快捷菜单中选择“新建”/“字符串”命令;
  3. 给新建字符串命名为"DontDisplayLastUserName"并把该字符串值设置为"1";
  4. 设置完后,重新启动计算机就可以隐藏上机用户登录的名字了。

7、不允许用户拨号访问

如果用户的计算机上面有重要的信息,有可能不允许其他人随便访问。那么如何禁止其他人拨入访问你的计算机,减少安全隐患呢,具体步骤为:

  1. 打开注册表编辑器,并在编辑器中依次展开以下键值: [HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPoliciesNetwork];
  2. 在编辑器右边的列表中用鼠标选择“NoDialIn”键值,如果没有该键值,必须新建一个DWORD值,名称设置为“NoDialIn”;
  3. 接着用鼠标双击“NoDialIn”键值,编辑器就会弹出一个名为“字符串编辑器”的对话框,在该对话框的文本栏中输入数值“1”,其中0代表禁止拨入访问功能,1代表允许拨入访问功能;
  4. 退出后重新登录网络,上述设置就会起作用。

8、屏蔽对软盘的网络访问

俗话说“病从口入”,计算机中的病毒有很多都是通过访问不干净的软盘而被感染得来的,如果我们允许用户通过网络来访问软盘的话,那么整个网络都有可能被感染病毒,最终的结果将会使网络中的所有计算机都中毒瘫痪。为了防止病毒***整个网络,我们必须严格管理计算机的输入设备,以断绝病毒的源头,为此就要禁止通过网络访问软盘。设置时,您可以按照如下操作步骤来进行:

  1. 在系统的运行对话框中输入regedit命令,打开注册表编辑器;
  2. 在注册表编辑器操作窗口中,依次打开键值HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionWinlogon;
  3. 在对应Winlogon右边的窗口中,检查一下其中有没有包含键值AllocateFloppies,如果没有,用鼠标右键单击窗口的空白处,从弹出的快捷菜单中选择“新建”/“DWORD值”;
  4. 把新建的DWORD值取名为AllocateFloppies,同时把它的值修改为0或1,其中0代表可被域内所有管理员访问,1代表仅可被当地登陆者访问。

四、本地策略

通过设置本地策略,我们可以让Windows实现更严格的安全性,或者实现其他和安全有关的功能。

1、审核策略

审核策略可以告诉我们在什么时间、哪位用户在系统中进行了什么样的操作。无论操作是成功还是失败,失败的原因等信息全部都会被审核策略记录起来,供我们查看。因此,在配置好其他安全策略后,最好能根据实际需要对审核策略进行设置,同时还要记得定期查看审核日志,这样就可以将危险扼杀在摇篮中。

需要注意,启用审核(尤其是在审核大量事件)的时候,系统整体运行性能可能会有所降低,同时系统可能会需要大量的硬盘空间保存审核日志。因此,请只在有需要的时候才启用审核,并且要记得定期查看和清理审核日志。

为了避免因为日志满了而无法记录新的访问活动,我们可以通过设置让Windows在日志满了之后拒绝用户登录,这需要配置一条安全策略。。

默认情况下,Windows 系统不会启用任何审核策略,所有审核策略的默认设置都是禁用的。

  • 审核策略更改

该策略决定了是否审核与用户权限分配策略、审核策略或信任策略更改等系统活动有关的事件。如果选择“成功”,那么系统会自动记录有关上述事件的成功操作;如果选择“失败”,那么系统会自动记录有关上述事件的失败操作。注意,“成功”和“失败”可以同时选择。

  • 审核登录事件

该策略决定了是否审核每一个登录或注销事件。如果选择“成功”,那么系统会自动记录成功的登录事件;如果选择“失败”,那么系统会自动记录失败的登录事件。“成功”和“失败”可以同时选择。

  • 审核对象访问

该策略决定了是否审核与对象访问有关的事件,可供进行访问审核的对象包括文件、文件夹、注册表项、打印机等 Windows 系统中几乎所有可访问的“对象”。如果选择“成功”,那么系统会自动记录启用了审核对象上的成功访问事件;如果选择“失败”,那么系统会自动记录启用了审核对象上的失败访问事件。“成功”和“失败”可以同时选择。

  • 审核进程跟踪

该策略决定了是否审核和进程的跟踪信息有关的事件,例如程序的启动和退出、句柄的复制,以及对象访问等活动。如果选择“成功”,那么系统会自动记录有关上述事件的成功操作;如果选择“失败”,那么系统会自动记录有关上述事件的失败操作。“成功”和“失败”可以同时选择。

  • 审核目录服务访问

该策略决定了是否审核对具有访问控制列表的活动目录对象的访问情况,简单来说,可以理解为该策略决定了是否审核对活动目录中对象的访问。如果选择“成功”,那么系统会自动记录有关上述事件的成功操作;如果选择“失败”,那么系统会自动记录有关上述事件的失败操作。“成功”和“失败”可以同时选择。

  • 审核特权使用

该策略决定了是否审核用户对自己每一项特权的使用情况。如果选择“成功”,那么系统会自动记录有关上述事件的成功操作;如果选择“失败”,那么系统会自动记录有关上述事件的失败操作。“成功”和“失败”可以同时选择。

  • 审核系统事件

该策略决定了是否审核与重新启动或关闭计算机时,或者对系统安全以及全日志有影响的事件。如果选择“成功”,那么系统会自动记录有关上述事件的成功操作;如果选择“失败”,那么系统会自动记录有关上述事件的失败操作。“成功”和“失败”可以同时选择。

  • 审核账户登录事件

该策略决定了是否审核与(域环境中的)用户登录和注销等活动有关的事件。如果选择“成功”,那么系统会自动记录有关上述事件的成功操作;如果选择“失败”,那么系统会自动记录有关上述事件的失败操作。“成功”和“失败”可以同时选择。

  • 审核账户管理

该策略决定了是否审核和用户管理有关的事件,这些事件包括:

  • 创建、更改或删除用户账户或组。
  • 重命名、禁用或启用用户账户。
  • 设置或更改密码。

如果选择“成功”,那么系统会自动记录有关上述事件的成功操作;如果选择“失败”,那么系统会自动记录有关上述事件的失败操作。“成功”和“失败”可以同时选择。

2、启用审核

审核的操作比较复杂,尤其是要理解不同审核策略可以审核的内容,以及不同审核事件的实际含义。这里以一般的单机和工作组环境下最常见的问题为例,介绍Windows的审核功能:对象访问。

在很多公司中,往往都有这样的要求:有一个文件需要共享到网络上供公司的同事访问,但因为安全原因,管理员必须能够知道谁在什么时间访问过这个文件,这时候就可以考虑使用审核策略,更具体一点,这时候应该使用审核对象访问这个策略。当然,作为可访问的对象,该策略还可以记录很多内容的访问情况,例如打印机或者计算机。

假设在E盘的根目录下有一个名为“公司文件”的共享文件夹,我们已经根据需要设置好了共享和相应的权限,现在需要知道每天都有谁在访问这个文件夹中的哪个文件。同时还要知道有没有缺少权限的人尝试访问。

这时候请按照下列步骤操作:

  1. 运行secpol.msc打开本地安全策略编辑器,在左侧的树形图列表中定位到“安全设置”→“本地策略”→“审核策略”。
  2. 在右侧窗格中双击“审核对象访问”策略,然后选中“成功”和“失败”选项,单击“确定”按钮保存更改。
  3. 打开Windows资源管理器窗口,找到“公司文件”这个文件夹,用鼠标右键单击它,选择“属性”,打开“属性”对话框。
  4. 打开“属性”对话框的“安全”选项卡,单击“高级”按钮,打开“高级安全设置”对话框。
  5. 打开“审核”选项卡,单击“继续”按钮,打开“高级安全设置”对话框的编辑模式。
  6. 单击“添加”按钮,打开“选择用户或组”对话框。
  7. 在输入要选择的对象名称框中,输入要审核的用户或者组的名称,然后单击右侧的“检查名称”按钮。
  8. 如果输入无误,输入的对象就会被补全为“机器名\用户(组)名”的形式,然后单击“确定”按钮。
  9. 随后可以看到的“审核项目”对话框。在这里我们需要选中所有需要审核的访问类型,例如读取、写入、删除等。
  10. 根据实际需要,首先在“应用到”下拉菜单中选择该审核工作的适用范围,例如可以选择应用到该文件夹、子文件夹以及文件,或者只应用到其中的文件等;接着在下方的访问列表中选中所有希望审核的操作类型,同时对于每种类型,我们都可以选择成功或者失败的访问。设置好之后单击“确定”按钮。
  11. 如果还需要审核其他用户或者用户组的访问操作,请按照上述步骤添加并进行设置。
  12. 全部添加并设置好之后,多次单击“确定”按钮,关闭所有打开的对话框。接下来就可以像平时那样使用共享文件了。等待一段时间,只要通过事件查看器就可以看到所有与对象访问有关的审核日志内容。

3、查看审核记录

经过一段时间的使用,管理员应该及时查看审核日志,这时需要用到Windows事件查看器。

通过事件查看器查看审核日志的方法如下:

打开“开始”菜单,在“计算机”上单击鼠标右键,选择“管理”,打开计算机管理控制台。

在窗口左侧的控制台树中依次单击进入“计算机管理”→“系统工具”→“事件查看器”→“Windows 日志”→“安全”,接着可以看到如图所示的事件查看器主窗口。

默认情况下,这里会显示大量和安全有关的日志记录,而安全审核日志只是其中的一部分。因此,为了便于查看,可以利用筛选功能对所有的日志记录进行筛选。在计算机管理窗口右侧的操作窗格中单击“筛选当前日志”按钮,随后可以看到如图所示的“筛选当前日志”对话框。 

在图中所示的对话框中根据实际情况选择要看到的事件的选项。

例如,如果希望看到文件访问审核有关的记录,可以分别进行下列设置: 

  • 记录时间这个选项决定了想要看到多长时间内的记录,Windows 7会自动为我们提供比较接近自然语言的选项,例如“过去的24小时”、“过去的7天”等。当然,如果预设的选项无法满足需要,可以从这个下拉菜单中选择“自定义范围”,然后选择自定义的时间段。
  • 事件级别这个选项决定了要看到哪些级别的事件。通常来说,在Windows7中有关键、警告、详细、错误和信息这5个不同的级别,而关于文件的安全审核,大部分事件都属于“信息”级别的,另外,可能有少数属于“警告”或者“错误”级别,因此,可以选中这三个级别,或者一个都不选,这样事件查看器将不对事件级别进行筛选(也就是说,显示所有级别的事件)。
  • 按日志因为之前已经从窗口左侧的控制台树中进入了“安全”日志,因此,“按日志”选项是灰色的。如果进入的是“Windows日志”或者其他节点,那么将可以通过该选项选择要筛选的日志。
  • 按源事件的来源是多种多样的,而这个下拉菜单会根据所选事件的类型提供所有的来源选项。因为需要查看的是审核策略,因此,可以在事件来源下拉菜单中选择“Microsoft Windows安全审核”。如果需要,还可以同时选择其他来源。
  • 事件ID接着可以在标有“所有事件ID”的文本框中输入要查看的事件的ID。如果只希望查看特定ID的事件,那么可以直接输入事件ID,如果需要输入多个ID,不同ID之间可以使用半角逗号(,)隔开。
  • 任务类别因为要查看的是和对象访问有关的审核日志,更具体地说,要查看的是与文件和文件夹的访问有关的审核日志。因此,可以在这里选择“文件系统”。当然,如果需要,还可以直接在这里选择多种不同的类别,例如注册表。
  • 关键字在这个下拉菜单中可以选择要查看的事件的关键字,例如,如果希望看到所有访问成功的事件,可以选择“审核成功”;如果要查看所有访问失败的事件,可以选择“审核失败”。
  • 用户在标有“所有用户”字样的文本框中,可以输入一个用户的名称,只查看和该用户有关的审核日志。
  • 计算机在标有“所有计算机”字样的文本框中可以输入一个计算机的名称,只查看通过这台计算机进行访问时的审核日志。这里需要注意,在单机和工作组环境下,因为每台计算机独立维护各自的SAM数据库,而我们从计算机A上访问计算机B,实际上是在使用计算机B上的账户凭据进行访问。因此,在这种环境下,“计算机”一栏只能显示被访问的文件所在的计算机的名称,以及计算机B上的账户名称。只有在域环境下,这里才可以显示真正访问这些文件的计算机的名称。

设置好所有的筛选选项后,单击“确定”按钮,稍等片刻,事件查看器就会显示所有符合设置的事件,而所有不符合设置的事件都会被自动隐藏(而非删除)。

如果需要恢复默认的视图,也就是说,不应用任何筛选,可以单击窗口右侧操作窗格中的“清除筛选器”链接;如果希望将自定义的筛选方式保存起来,以便以后直接使用,可以单击“将筛选器保存到自定义查看”链接。进行筛选后,即可在计算机管理控制台窗口中央上方的窗格中看到所有的日志列表,单击列表中的任何一条日志后,在计算机管理控制台窗口中央下方的预览窗格中会显示出该日志的详细信息。双击任何一条日志,Windows就会在一个单独的窗口中显示该日志的详细内容。

由于对话框面积有限,大部分的内容需要拖动滚动条才能看到。

下面列举的就是这些内容的一个例子:

  • 安全ID显示了导致这个事件的账户的名称,以及所在计算机。
  • 对象类型显示了这条日志是在访问什么对象的时候产生的,例如文件、文件夹或者注册表项。
  • 对象名显示了具体被访问的对象,例如,如果审核的是文件或文件夹,这里会显示这个文件或文件夹在本地计算机上的路径和名称(也就是说,显示的是“e:\公司文件”,而非“\\Workstation\公司文件\”)。
  • 记录时间显示了访问该对象的具体时间。
  • 关键字显示了访问的结果,例如是成功或者是失败。

如果希望看到某个用户对注册表的访问情况,应该如何设置审核,同时在查看审核日志的时候应该如何筛选。

五、网络管理器策略

从Windows Vista开始,Windows系统提供了一个叫做“网络位置”的功能,该功能可以将网络按照不同类型分为公用、专用和域网络三种,其中,专用网络又可细分为家庭网络和工作网络。

通过划分不同的网络类型,每当将计算机接入一个新的网络(例如需要在不同场合使用的笔记本电脑)后,Windows 防火墙就可以根据不同的网络类型,应用不同的防火墙配置文件。

例如,当将笔记本电脑使用办公室的网线连接到网络之后,即可选择“工作网络”(针对工作组环境)或“域网络”(针对域环境),随后,Windows 防火墙将使用安全设置不很严格的配置文件,例如,可能会允许文件和打印机共享,或打开某些必要的网络端口。因为这种情况,计算机接入的是我们所熟悉的且比较安全的网络,因此,此时的易用性是最重要的。

如果出门在外,将笔记本电脑使用无线网卡连接到机场提供的WiFi网络,此时就可以选择“公用网络”。这样 Windows 防火墙将使用安全性更高的配置文件,例如禁用网络发现、禁用文件和打印机共享。因为这种情况,计算机接入的是我们不熟悉的,甚至可能存在危险的网络,因此,此时的安全性是首先需要保证的。

对于任何类型的网络连接,例如有线以太网、无线以太网、拨号网络、VPN网络等,在首次连接后,都需要根据实际情况选择不同的网络位置。Windows 会记住我们的选择,下一次连接到同一个网络后,将不再需要选择,而是直接应用相应的防火墙配置文件。

网络列表管理器策略就是用于对不同网络位置下所用的防火墙配置文件进行管理的。

实际上,为了方便管理员对所有计算机的不同网络位置所用的防火墙配置文件进行统一的配置和管理,在Windows 7中还提供了网络列表管理器策略。

要使用这些策略,请运行“secpol.msc”,打开本地安全策略控制台,并在左侧树形图中单击“网络列表管理器策略”,随后,相关内容就会显示在右侧窗格中,如图所示。

对于这些策略,主要目的就是为了针对不同类型的网络设置要使用的防火墙配置文件,并决定是否允许最终用户修改这些文件。在该策略节点下,可以通过“无法识别的网络”、“正在识别网络”以及“所有网络”这三个节点决定对于计算机加入的其他网络采取怎样的配置。同时,计算机目前已经连接到的网络也会显示在这里,例如,图8-18中的“MyNet”就是这台计算机已经连接的网络。

对于工作组环境的普通用户,这些策略主要可用于这样一种情况:某些情况下,如果连接到某些陌生的网络,因为某种原因,可能导致网络无法被正确识别,甚至Windows可能根本不会询问该网络的位置类型。这种网络被 Windows 称为“无法识别的网络”,而这样的网络可能根本无法正常使用,或者会遇到其他奇怪的问题。

如果遇到这样的情况,可在上图所示的界面中双击“无法识别的网络”,打开如下图所示的属性对话框,并为所有的此类网络中手工指定要使用的防火墙配置文件(为了安全起见,建议使用“公用”)。

在“用户权限”选项下,可以决定普通用户是否允许更改此类网络的位置。由于这类网络通常都是不可信任的,而且我们已经指定了使用公用配置文件,因此,通常建议禁止用户更改此类网络的位置,以免危害到本机的安全性。

同时需要注意,这些修改将影响到所有符合条件的网络,例如在本例中,经过上述修改,以后连接的每一个无法正确识别的网络都会应用相同的防火墙设置。因此,为了获得最大程度的安全,修改这些内容的时间以“安全第一”为主,不要为了贪图一时的方便而威胁到日后的使用。

六、软件限制策略

1、软件限制策略简介

软件限制策略是一个很好的功能,可以让我们设置允许用户运行哪些程序,不允许运行哪些程序,同时可以通过不同的规则来指定允许或者禁止运行的软件。

在Windows的软件限制策略中,可以通过下列条件来创建规则:

  • 证书规则通过证书规则,可以借助软件可执行程序自带的数字证书来创建策略。例如,可以通过证书规则决定所有带有来自微软的数字证书的软件都可以运行,或者所有带有某个不被信任的开发商的数字证书的软件都禁止运行。这样,每当试图运行一个程序的时候,系统都会查看该程序的数字签名,然后与软件限制策略中的定义进行比较,并根据策略的设置决定是否允许运行。
  • 哈希规则在使用哈希规则的时候,可以指定一个软件的可执行文件,然后由操作系统计算该文件的哈希值,并根据计算出来的哈希值决定是否允许运行该软件。这样,每当试图运行一个程序的时候,系统都会计算该程序的哈希值,然后与软件限制策略中的定义进行比较,并根据策略的设置决定是否允许运行。
  • 网络区域规则该规则主要用于使用WindowsInstaller技术安装的软件,通过该规则,我们可以对来自不同Internet区域的软件的安装程序采取不同的限制措施。
  • 路径规则通过该规则,可以利用程序的安装路径或者注册表路径决定是否允许某个路径的程序的运行。

上述4种方式各有利弊,通常情况下,应该配合起来使用。例如,假设使用路径规则禁止运行安装在某个路径下的程序,但用户只要有相应的 NTFS 访问权限,并将软件移动到其他位置,就可以越过路径规则的限制,这时候就可以用路径规则结合NTFS访问权限,不允许用户移动该文件夹中的内容。

又如,假设通过哈希规则允许某个软件运行,但这个软件有一天升级了,升级程序对软件的主文件进行了修补,导致文件的哈希值产生了改变(要知道,对一个无论多大的文件,只要内容被改变了哪怕一个字节,该文件的哈希值也会发生巨大的变化),那么用户将无法再使用这个程序,除非管理员修改软件限制策略。这时候就可以使用证书规则来限制,毕竟无论软件怎么升级,只要开发商没有“改头换面”,该软件包含的数字证书就不会变化。

这些规则的应用还存在一个优先级问题。例如,同一个程序,如果按照证书规则来看,是允许运行的,但按照路径规则来看,是不被允许的。那么系统到底是允许还是禁止该程序运行呢?一般来说,上述四类规则按照优先级的高低排列,顺序是:哈希规则、证书规则、路径规则、网络区域规则,高优先级规则的设置会覆盖低优先级规则的设置。同时,对于同一种规则,“禁止”要优先于“允许”,例如对某个软件,我们无意中使用某种规则(例如,哈希规则)创建了禁止运行和允许运行这两条规则,那么,最终的结果是系统禁止该程序运行。

2、软件限制策略配置

运行 secpol.msc,打开本地安全策略控制台,在控制台窗口左侧的树形图中依次进入到“安全设置”→“软件限制策略”,然后在软件限制策略节点上单击鼠标右键,选择“创建软件限制策略”,这样就可以创建一个默认的软件限制策略,同时该节点下将出现名为“安全级别”和“其他规则”的两个节点如图所示。

下面分别介绍新出现的每个策略。

新建了软件限制策略后,在“软件限制策略”节点下有以下三条策略。

1. 强制

“强制”策略决定了软件限制策略的适用范围,单击该策略后,可以看到下图所示的对话框。

在Windows 7中,该对话框里有三个选项:

  • 应用软件限制策略到下列文件该选项决定了软件限制策略是否应用到库文件。简单来说,库文件为软件的运行提供支持,有时候是运行某些软件时必不可少的组件。但有时候可能有这样的情况:假设通过证书规则决定只运行某个厂商开发的软件,但该软件的运行需要的某个DLL文件的数字签名来自另外一个厂商,这种情况下,为了让该软件可以正常运行,就需要选择“除库文件(如DLL)之外的所有软件文件”选项。一般情况下也建议选择该选项,毕竟大部分软件的运行都是通过一些可执行文件(例如.exe 文件)实现的,只要对可执行文件设置好限制,库文件的限制已经不再那么重要了。
  • 将软件限制策略应用到下列用户该选项决定了是否将软件限制策略应用于管理员用户,默认情况下,将会被应用于所有的用户。这是一种安全措施,可以让管理员被自己创建的策略所限制。在默认的设置下,如果不小心设置了错误的策略,并且可能连管理员也被禁止运行策略编辑器,或者根本无法登录,这时候可以使用Administrator 账户登录到安全模式下修改策略。一般情况下,如果不是很必要,建议软件限制策略只对非管理员用户生效,也就是选中“除本地管理员以外的所有用户”选项。在应用软件限制策略时该选项决定了是否在应用软件限制策略时执行证书规则。如果希望使用证书规则,
  • 请选择“执行证书规则”,如果希望禁用,请选择“忽略证书规则”。另外,我们还可以在安全选项中的“系统设置:将Windows可执行文件中的证书规则用于软件限制策略”的介绍启用证书规则。

2. 指定的文件类型

“指定文件类型”策略决定了具有什么扩展名的文件可以被视为可执行文件,如图所示。

所有由该策略指定的文件都会被系统当做可执行文件,而执行这些文件都需要经过软件限制策略的许可。如果希望添加新的文件类型为可执行文件,可以在“文件扩展名”文本框中输入目标文件类型的扩展名,然后单击“添加”按钮;如果不再希望系统将某种类型的文件当做可执行文件,可以从列表中选中目标文件类型,然后单击“删除”按钮。

3. 受信任的发布者

“受信任的发布者”策略的“属性”对话框,如图所示。

默认情况下,Windows并不允许修改这些设置,因此,首先需要选中“定义这些策略设置”选项,接下来,所有的选项都将呈可修改状态。

进入到“安全级别”节点,Windows 7下的该节点有三条策略:不允许的、不受限的和基本用户。这些策略都是互斥的,因此,在同一时间里,只有一条策略是生效的,也就是默认策略。默认策略的显示和非默认策略有所不同,默认策略的图标上会有一个对勾的图案。如果希望更改默认值,只需要在目标策略上单击鼠标右键,然后选择“设置为默认”即可,这样原先的默认值会被取消,系统会自动将我们新选择的策略设置为默认。

下面首先介绍“不允许的”和“不受限的”策略。“不允许的”策略的含义是:除了通过其他规则明确允许的软件外,其他软件都禁止运行;“不受限的”策略的含义是:除了通过其他策略明确拒绝的软件外,其他软件都允许运行。我们可以根据这两条策略的相应作用,并结合自己的需要进行配置。例如,如果希望公司员工只使用特定的几个工作需要的程序,而禁止使用本机安装的其他程序,就可以将“不允许的”设为默认值,然后通过各种规则添加其他允许运行的软件;如果希望用户可以使用绝大多数软件,只禁止运行特定的几个软件,可以将“不受限的”设置为默认值,然后通过各种规则添加特定的禁止运行的软件。

除此之外,还有一个名为“基本用户”的策略,该策略的含义是:除了通过其他规则明确指定的软件外,其他所有的软件都只能以一般用户的身份运行(也就是说,不能以管理员的身份运行)。

在“其他规则”节点下,可以看到一些系统预设的规则。取决于系统的不同,以及其他策略的设置,这里可能会出现不同数量的默认规则。通常情况下,这些规则都是为了保证操作系统可以正常使用而准备的,因此,如果不是特别必要,最好不要删除或者修改这些系统自建的规则。我们可以按照需要创建自定义的规则。

在“其他规则”节点上单击鼠标右键,在出现的右键菜单中选择“新建证书规则”、“新建哈希规则”、“新建网络区域规则/新建Internet区域规则”或者“新建路径规则”,就可以建立对应的规则。下面来看看这些规则都是如何创建的。

3、证书规则

通过使用证书规则,可以通过应用程序文件的数字签名来决定是否允许运行该程序。对于这个功能,应该谨慎使用,因为一旦启用证书规则,每次运行程序的时候,系统都将对程序需要的每个可执行文件以及库文件(如果曾设置了包含库文件的话)检验数字签名,这有可能导致系统性能的降低。

“新建证书规则”对话框如图所示:

在Windows 7中,创建证书规则是很简单的,我们不需要专门获得软件公司的证书,因为只要有带有数字签名的文件,Windows 7可以自动从中提取证书。因此,可以直接单击“浏览”按钮,在随后出现的下拉菜单中定位证书。

在定位证书的时候要注意,如果已经准备好了需要添加规则的证书(.cer或者.crt文件),那么,只需要在“打开”对话框中选中这些文件即可。如果手头没有需要的证书,但是想要对特定的软件进行限制,此时只要该软件带有数字签名(由正规公司新发行的软件基本上都带有),就可以在“打开”对话框的“文件类型”下拉菜单中选择“签名的文件”选项,然后直接选择目标软件对应的主文件即可。

选择好文件或者证书后,“证书使用者名称”文本框就会变为灰色,同时显示所选证书的信息。如果需要看到证书的详细信息,可以单击右侧的“详细信息”按钮。

接下来还需要在“安全级别”下拉菜单中选择一个级别,例如是“不允许的”或者“不受限的”。

最后,为了方便日后管理众多的规则,可以在“描述”文本框中输入一定的描述性文字。 

1. 哈希规则

要创建哈希规则,请在“其他规则”节点上单击鼠标右键,选择“新建哈希规则”,随后可以看到如下图所示的对话框

首先,需要单击“浏览”按钮定位该规则应用到的软件的主文件,随后,系统会自动为我们指定的文件计算哈希信息,并保存到系统中,同时,在“文件信息”文本框中还会显示所选文件的详细信息。

接下来,需要根据实际需要在安全级别下拉菜单中选择不同的安全级别:不受限的、基本用户、不允许的。

最后,为了方便日后管理众多的规则,还可以在“描述”文本框中输入一定的描述性文字。 

2. 网络区域规则

网络区域规则可以让我们针对使用Internet Explorer从不同区域站点下载的.msi格式的软件安装文件的运行进行限制。要创建区域规则,请在“其他规则”节点上单击鼠标右键,选择“新建网络区域规则/Internet区域规则”,随后可以打开“新建网络区域规则”对话框。

首先从“网络区域”下拉菜单中选择不同的网络区域,然后从“安全级别”下拉菜单选择希望进行的设置。最后,为了方便日后管理众多的规则,可以在“描述”文本框中输入一定的描述性文字。

3. 路径规则

路径规则可以让我们对安装在某个路径下的软件,或者需要访问某个注册表路径的软件的运行进行控制。

要创建路径规则,请在“其他规则”节点上单击鼠标右键,选择“新建路径规则”,随后可以看到新建路径规则对话框。

如果要创建文件路径(可以是本地路径,例如“c:\windows”;或者 UNC 格式的网络路径,例如“\\Server\Folder”),请直接在“路径”文本框中输入路径,或者单击“浏览”按钮进行选择;如果要创建注册表路径,请直接在“路径”文本框中输入路径。在输入文件路径的时候,可以使用“*”和“?”通配符,同时还可以使用环境变量。

在给文件路径规则使用通配符的时候需要注意,如果同一个路径由不同的路径规则进行控制,那么越是具体的路径设置,可以获得的优先级就越高。例如,利用文件规则对“*.vbs”格式的文件禁止运行,但又通过文件路径规则对\\LOGIN_SRV\Share\*.VBS设置为“不受限的”,那么这些保存在特定服务器上的.vbs 文件将可以正常运行,但在其他位置保存的.vbs文件就无法运行。

在输入注册表路径的时候需要注意,输入的路径必须用半角的百分号(%)包起来,同时必须输入完整的根键名称,不能输入缩写。路径的格式如下:

%<根键名>\<键名>\<值名>%

例如,可以输入这样的路径:

%HKEY_LOCAL_MACHINE\Software\Microsoft%

但不能输入这样的路径:

%HKLM\Software\Microsoft%

输入好路径后,在“安全级别”下拉菜单中选择希望使用的设置。

最后,为了方便日后管理众多规则,还可以在“描述”文本框中输入一定的描述性文字。

4、软件限制策略使用建议

与软件限制策略有关的概念性内容基本上就是上面这些,如何利用这些概念创建出能够保证系统和信息安全的规则是需要长期练习的。首先,可以用4种不同的方式创建规则,那么,这些规则分别在什么情况下使用最合适呢?

下表列出了一些常见情况下建议使用的最佳规则。

另外有一个问题需要注意,我们的设置在保证限制的同时,是否会影响到用户的使用?例如,如果需要在禁止使用其他软件的同时允许使用某个软件,那么是否只要对该软件的主程序创建一条哈希规则就可以了?这样做,该软件确实可以使用,但功能上可能会受到限制。例如,某些软件的大部分主要功能可能是借助主程序完成的,但某些功能可能需要用到其他模块,并启动额外的进程。因此,在创建规则的时候,一定要确保不仅可以保证必要软件的正常使用,还要保证所有需要的独立功能都不会受到限制。

这一方法不仅可用于解决软件限制策略中遇到的问题,而且可以解决某些应用程序的兼容性问题。例如,某些应用程序在运行中可能需要向某个特定的受保护位置写入信息,用户如果没有管理员权限,将无法正常使用这样的程序。而通过对其进行监控,了解了程序需要写入的具体位置,我们就可以针对这个位置调整权限。这样用户就算没有管理员权限,也可以对特定位置具有写入权限,很多由于权限不足而导致的应用程序兼容性问题都可以通过这种方式解决。

为了监控软件运行过程中对文件系统和注册表的读写情况,首先需要下载 Process Monitor,这是微软提供的一个免费工具,该软件可以实时监控系统中每个进程/线程对文件系统和注册表的访问情况。 

  • 为了减少监控工作的工作量,建议首先将所有其他非必要的软件全部退出,包括运行在后台的软件。然后启动Process Monitor,并启动目标软件。
  • 在该软件工具栏的最右侧有5个按钮,分别对应着5种不同类型的监控。对于本例,我们需要监控的是程序对文件系统的读写情况,因此,需要取消其他监控类型(单击每个按钮即可开启或禁用对应类型的监控)。
  • 随后,系统中所有进程的文件的读写情况都将显示在窗口中,如图所示。

  • 虽然已经尽量关闭了其他非必要的程序,但此时系统中依然有大量进程在活动,因此,监控结果中会包含大量无关的结果。在继续操作之前,首先需要将其排除。Process Monitor可针对进程名、访问路径等多种方式排除内容,对于本例,最简单的方法是排除进程名。因此,可以在除了目标软件的主进程之外的其他所有进程上单击鼠标右键,选择“Exclude xxx.exe”,如图所示。 

  • 经过上述操作,监控列表中只包含目标软件主程序进程的读写记录,切换到该软件的主窗口,并模仿正常使用情况下开启各项需要的功能,让Process Monitor监控这一过程。 
  • 如果一切正常,那么,在监控记录中将会新增一些进程,这些进程对应的执行文件也就是该软件运行过程中所必需的。因此,如果需要创建规则,除了对软件主程序文件创建之外,这些文件也不能忘记。

七、应用程序控制策略

1、应用程序控制策略简介

除了软件限制策略,在Windows 7中还新增了一种名为AppLocker的应用程序控制策略。该策略与软件限制策略非常类似,但也存在一定的差别,主要是应用程序控制策略更加灵活、易用。

与从Windows 2000时代就存在的软件限制策略相比,Windows 7中的应用程序控制策略(该功能只能用于Windows 7企业版/旗舰版,虽然专业版可用于创建规则,但无法应用这些规则)主要有下列优点:

  • 可根据程序数字签名中的特定属性定义规则,例如针对发行商、文件名、文件版本等信息制定。相比软件限制策略,这种方式更加强大,因为对于带有数字签名的应用程序,即可直接允许运行多种不同的版本,就算以后的新版本也可以一个规则完全涵盖,而不需要每次程序发布新版本后都创建新的规则。
  • 可针对安全组或特定的用户指派规则。
  • 可为.exe文件创建例外。例如,管理员可以通过创建规则,允许用户运行除了某个特定的.exe文件外的其他任何应用程序。
  • 规则可以导入和导出,这样就可以更简单地复制和修改规则。
  • 通过使用审核模式预览在应用规则后产生的结果。

软件限制策略和应用程序控制策略的更多区别可以参考下表:

用一个更加形象的例子来说,对于软件限制策略,管理员可以创建类似“信任所有由某公司签名的内容”、“信任这一特定的可执行文件”或“信任位于该路径下的文件”这样的规则。但对于Windows 7中的应用程序控制策略,管理员可以根据应用程序的元数据,创建出类似“信任带有数字签名,并且版本号大于12.0.0.0的Microsoft Office软件”这样的规则。

综上所述,软件限制策略和应用程序控制策略各有侧重点,因此,软件限制策略现在也完全没有过时,我们需要根据实际情况,并结合两种功能的适用范围进行设置,并且在某些要求较多的场合,可能需要同时使用这两个功能。注意,在同一个GPO(组策略对象)中,无法同时使用软件限制策略和应用程序控制策略,如果这两类策略同时存在,Windows 7 将使用应用程序控制策略,而忽略软件限制策略。因此,如果需要同时使用,就要为这两类策略分别建立不同的GPO。

另外需要指出的是,与软件限制策略类似,应用程序控制策略在域环境下才能发挥出最大的作用。在工作组环境下,则只能针对某台具体的计算机进行设置。不过因为有了规则的导入和导出功能,我们也完全可以在一台计算机上创建好规则并导出,然后应用于工作组中的其他计算机。这一点是软件限制策略所无法实现的。 

2、规则的类型及其创建过程

运行“secpol.msc”,打开本地安全策略控制台,从左侧树形图依次进入“安全设置”→“应用程序控制策略”→“AppLocker”,随后可看到下图所示的应用程序控制设置界面。

在AppLocker节点下还有三个子节点,分别对应了可设置规则的三种情况:

  • 可执行规则该类别将影响到本机运行的所有可执行文件,以及这些程序所加载的DLL 文件(对于 DLL 文件的限制,默认并未启用,因为启用后会对性能产生较大的影响,因此,只建议在确实需要的时候才使用)。也就是说,本机想要运行的可执行文件无论位于本地硬盘、可移动存储设备,还是网络位置,都将受到此类规则的控制。
  • Windows安装程序规则该类别将影响所有使用Windows Installer技术的安装程序。注意,如果某软件并未采用Windows Installer技术,或者是根本不需要安装的“绿色软件”,那么此类软件将不受该规则的控制,这种情况可以使用“可执行规则”进行限制。
  • 脚本规则该类别将影响本机执行的所有脚本。该规则通常适合需要使用脚本进行远程或批量管理的企业环境,小型环境下的用途通常不大。

除此之外,应用程序控制策略还可对DLL文件的加载进行控制。但上文已经提到过,对DLL文件进行控制意味着每次启动一个程序,系统必须对该程序加载的所有DLL文件进行检查,这样的工作将耗费大量系统资源,从而对整体性能产生非常明显的影响。

因此,默认情况下,应用程序控制策略并不会对DLL文件生效。但如果希望控制DLL文件的加载,也可以按照下列步骤启用: 

  • 在左侧控制台树中用鼠标右键单击“AppLocker”节点,选择“属性”,打开AppLocker属性对话框。
  • 切换到“高级”选项卡。
  • 选中“启用DLL规则集合”选项。
  • 单击“确定”按钮,关闭所有打开的对话框。

上述三个类型的规则和DLL规则可分别应用于多种相关扩展名的文件类型,这些类型可参考下表所述。

对于Windows Installer安装程序文件,还需要注意一点,有时候我们获得的安装文件可能是.exe格式的扩展名,但这样的文件依然使用了Windows Installer技术。

例如,很多软件公司通过互联网提供软件的下载,为了尽量压缩文件的体积,可能会使用自解压格式对安装程序进行打包,将.msi 扩展名的文件压缩为.exe 格式。在运行这样的文件时,程序实际上会先进行“解压缩”操作,将.msi 文件释放出来,然后运行.msi 文件,并安装对应的软件。在这种情况下,此类.exe 文件的执行将先后受到可执行文件规则和 Windows Installer安装程序规则的限制。

下面将以对已经安装的程序进行限制为例,介绍应用程序限制策略的使用方法。软件环境为Windows 7旗舰版,安装了各种来源的软件,但希望在确保操作系统本身可以正常运行的情况下,只允许某一特定的用户运行Microsoft Office软件。

1. 运行“secpol.msc”,打开本地安全策略控制台,从左侧树形图依次进入“安全设置”→“应用程序控制策略”→“AppLocker”。

2. 在“可执行规则”子节点上单击鼠标左键,然后单击右键,选择“创建默认规则”。

注意 一定要先单击鼠标左键,再单击鼠标右键。如果是在系统启动后首次打开应用程序控制策略窗格,在修改或创建任何策略之前,一定要先左键单击对应的子节点,让控制台加载必要的组件,再右键单击,并选择要使用的功能。如果展开树形图后直接右键单击,那么,右键菜单中将只显示“帮助”命令,其他命令因为无法载入组件而无法显示。

另外要注意默认规则的创建。在应用程序控制策略中,默认规则有两个作用:确保系统内建的Administrator账户不受任何规则的限制,并确保在应用任何规则后,操作系统都可以正常运行。因此,在创建任何一类规则之前,都必须首先按照这里介绍的方法创建默认规则,然后根据需要创建自己的规则。默认的规则在创建好后,最好不要手工调整。如果由于调整导致Windows无法正常运行,甚至管理员也无法正常修改策略,则需要将计算机重新启动到安全模式下修改,重新创建默认规则。

很重要的一点是,在应用程序控制规则中,对于“禁止”规则,任何没有被规则明确允许运行的软件,都将被禁止运行。

3. 再次用鼠标右键单击“可执行规则”节点,选择“自动生成规则”,打开自动生成的可执行规则向导。

注意:关于自动生成规则功能

这也是相比软件限制策略更加体贴的地方。在使用应用程序控制策略时,我们可以不再完全通过自己的操作创建规则,而是可以指定要应用的应用程序,并由系统对应用程序进行分析,总结出最适合的规则。这样做不仅操作更加简便,而且可以避免由于人工操作导致的失误或错误。最重要的是,如果需要对多个软件进行限制,通过自动化的流程创建规则,可以将规则的数量降到最低,这样后期的管理就更容易。当然,如果对自动创建的规则不够满意,也可以选择“创建新规则”,然后根据需要手工创建。

4. 选择该规则应用到的应用程序安装位置,以及影响到的对象。单击“浏览”按钮,选择应用程序的安装/保存位置,并单击“选择”按钮,决定该规则的使用对象(对象可以是某个用户,或某个用户组),最后还可以为该规则设置一个简单易记的名称,如图所示。

5. 单击“下一步”按钮,随后还需要对规则进行进一步的设置,如图所示。

在默认的设置下,对于上文所指定的目录下包含的程序文件,如果文件本身带有数字签名,会自动创建数字证书规则;但如果文件没有包含数字签名,则可以自动创建哈希规则。

绝大部分情况下,默认的设置能很好地满足要求。但如果有特殊需要,也可以根据实际情况在这里修改,例如对没有包含数字签名的文件,可以改为创建路径规则(通常不建议这样做,因为路径下的文件可能会被篡改或替换)。 

6. 再次单击“下一步”按钮,向导会对所选目录下的所有文件进行分析,并根据上文设置的选项自动创建规则。稍等片刻后,即可看到即将创建的规则的概述,如图所示。

例如,将要创建几条规则,这些规则的类型是什么,会影响到哪些文件。当然,通过对话框下方的链接还可以看到已经分析的具体文件是什么,以及即将创建的规则的具体内容。如果一切无误,即可单击“创建”按钮,完成创建。

7. 至此,可执行规则已经创建完毕,而Windows安装程序规则以及脚本规则的创建步骤完全相同。不过在创建任何规则之前一定要先创建默认规则。另外,DLL文件无法独立创建规则,因为DLL文件是供应用程序加载的,因此,只要对DLL文件启用规则,通过另外三个节点创建的所有规则都将影响到程序加载的DLL文件。

所有创建好的规则都将显示在控制台窗口的右侧窗格中。如果有必要,还可以对系统自动生成的文件进行修改,以便更好地满足实际需要。

例如,对于按照上文步骤创建的执行文件规则,双击其中的一条,随后可以看到下图所示的“属性”对话框。在“常规”选项卡下可以调整这条规则的名称或描述,例如可以更改为更加简单、易懂的描述性文字,还可以选择该规则对应的是允许或者拒绝执行的操作。更重要的是,在这里可以更改该规则的应用对象。

对于证书规则,还可以通过“发布者”选项卡对发布者的相关信息进行修改,如图所示。

例如,上文是针对Microsoft Office软件创建的规则,因此,“发布者”选项卡下将列出微软公司的相关信息,对于此类信息,通常没必要而且也不建议修改。不过可以根据需要调整文件的版本限制。例如,范例中使用的是Microsoft Office 2010产品,此时的版本号是14.0.0.0,随后由于安装安全更新的关系,程序的版本号升级为14.0.0.1,此时就可以借助应用程序控制策略,只允许安装过补丁程序的Office软件(版本选择为“14.0.0.1及以上版本”)正常运行,未安装补丁的都无法运行。

下面重点介绍“例外”选项卡(只有证书规则可以设置例外)。有时候可能会遇到这样的情况:对于某条已经创建好的允许规则,可能需要在某种特定的条件下实现禁止操作的目的,此时可创建例外。例如,通过按照上文介绍的方法创建规则,已经可以让liuhui-PC这台计算机上的Test用户运行本机安装的版本号大于14.0.0.0的Office软件。与此同时,我们可能希望对其中的 Outlook 组件忽略版本号的限制,只要是带有数字签名的Outlook.exe,无论其版本号如何,都允许运行。此时就可以创建例外。

在应用程序控制策略控制台中进入“可执行规则”子节点,找到并双击打开目标规则的属性对话框,切换到“例外”选项卡。

例外规则也有三种形式:发布者、路径和文件哈希。我们可以根据实际需要进行选择,这里选择发布者,因此,从对话框上方的下拉菜单中选择“发布者”,并单击“添加”按钮,打开如下图所示的对话框。

单击“浏览”按钮,选择例外应用于程序文件(本例中是 Outlook.exe)。由于要添加的是发布者例外,因此,系统会对添加的文件进行扫描,并将元数据按照级别显示出来。本例我们的目的是忽略版本号,只要带有微软数字签名的Outlook.exe都允许运行,因此,可以将左侧的滑块向上拖动到“文件名”一行。

随后,“文件版本”一栏将显示星号,这意味着任何版本的文件,只要能够同时满足“发布者”、“产品名”,以及“文件名”这三个条件的要求(具体要求就是每一行右侧显示的内容),则无论版本号是多少,都将允许运行。单击“确定”按钮。

如果对同一条规则还需要添加多个例外,则可按照上面的方法重复上述操作。

从上面的案例可以看出,应用程序控制策略要比软件限制策略简单。不过与软件限制策略类似,要想创建出完备、可靠,以及不存在疏漏的策略,一样需要反复练习和检查。

3、规则的审核

因为应用程序控制策略可以在域环境中同时应用于上千用户,因此,一旦设置存在疏漏或产生问题,可能会同时影响上千位用户。所以,在真正使用该功能的时候,首先一定要在审核模式下对该功能进行审查,只有确认一切无误之后,再真正应用。

在通过上文介绍的方法创建好所需的规则和例外后,直接用鼠标右键单击“AppLocker”节点,选择“属性”,打开图所示的属性对话框。

在“强制”选项卡下,可针对三个不同的类别分别进行设置,而可供设置的选项包括以下三个:

  • 未配置(默认设置)等同于“强制规则”。
  • 仅审核使用审核模式,这种情况下应用程序控制策略会生效,但并不会实际禁止某个文件的执行,只不过会将执行情况记录到事件日志中供管理员查阅。
  • 强制规则直接应用创建的所有规则和例外,如果不符合规则和例外的要求,那么程序将无法使用。

因此,只要将这三个类别都设置为“仅审核”,然后单击“确定”按钮,随后即可像正常情况一样使用计算机,并让用户照常运行自己的程序。等待一段时间后,重新使用管理员账户登录,运行“eventvwr.msc”,打开事件查看器,从左侧控制台树定位到“应用程序和服务日志-Microsoft-Windows-AppLocker”节点。

在该节点下,针对不同类型的规则还可看到不同的子节点,其中包含了记录的所有事件,这些事件的相关信息见下表。

通过查阅这里的规则,即可知道自己配置的策略是否满足预期目的。如果规则存在问题,还可以随时修改,并再次进行审核。在确定没问题后,可以在图3-31所示的对话框中将规则设置为“强制规则”,随后,该规则将针对所选的对象立刻生效。

注意为了使强制策略或审核模式的策略正常生效,还需要启动Application Identity服务。在Windows 7中,该服务默认是被禁用的,因此,在配置完策略,需要审核或强制应用之前,还需要运行“Services.msc”,打开服务控制台,双击“Application Identity”服务,从启动类型下拉菜单中选择“自动”,单击“应用”按钮,然后单击“启动”按钮。

如果经过上述操作后依然无法生效,很可能是因为策略没有刷新。此时请使用管理员身份打开命令行窗口,并运行“gpupdate /force”命令刷新组策略设置。

4、自定义错误信息和规则的导入\导出

默认情况下,当用户试图执行被应用程序控制策略禁止使用的程序时,会看到类似下图所示的错误对话框。

图中只显示这样一则信息,对于普通用户可能会造成一些困惑。因此,应用程序控制策略功能还提供了自定义错误信息的功能,该功能可以在上述错误信息对话框中添加一条链接,单击链接后,可以直接访问预定义的网页,在网页中,可以对这种限制进行简单的介绍,帮助用户理解并实施限制的意义。

要给错误信息中添加自定义的链接,可按照下列步骤操作: 

  • 运行“gpedit.msc”,打开组策略编辑器控制台,从左侧树形图列表中依次进入“计算机配置”→“管理模板”→“Windows组件”→“Windows资源管理器”节点。
  • 双击“设置网页支持链接”策略。
  • 选择“已启用”,并在下方的文本框中输入网页链接。这里可以输入互联网页面链接,或局域网内Web服务器的页面链接。

上文曾经说过,应用程序控制策略只有在域环境下才能发挥出最大的作用,例如,管理员可以针对不同的用户群体创建不同的GPO,并设置不同的控制策略。不过在工作组环境下,类似的目标也是可以实现的。只要在一台模板计算机上配置好策略,然后导出,并导入到需要进行控制的计算机上即可。

如果需要导出策略,只需要在配置好所有的策略,并验证一切工作正常之后,在“AppLocker”节点上单击鼠标右键,选择“导入策略”,随后即可将策略导出为 XML文件。在需要导入策略的计算机上重复上述操作,选择“导入策略”,并指定策略 XML 文件即可。

八、高级审核策略

“本地策略-审核策略”节点下可供配置的审核策略内容。通过使用这些审核策略,我们就可以知道谁在什么时间做过什么事情。上文介绍的审核策略可供审核的对象比较简单,而且审核的粒度过大,无法对审核的事件进行更进一步的细化。

不过,通过使用高级审核策略,将能对更多的内容进行审核。展开“高级审核策略配置”节点后即可看到,如图所示。

在多个子节点下分门别类地列出了各种可供审核的内容。如果希望对某个内容进行审核,只需要双击打开对应的审核策略,选择“配置以下审核事件”,并根据需要选择“成功”或“失败”即可。随后可以在事件日志中看到审核功能记录的事件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows高级安全策略 的相关文章

  • 数组添加进formdata_FormData使用方法详解

    FormData的主要用途有两个 1 将form表单元素的name与value进行组合 实现表单数据的序列化 从而减少表单元素的拼接 提高工作效率 2 异步上传文件 一 创建formData对象 1 创建一个空对象 通过FormData构造
  • Linux命令_sort & 排序、去重

    目录 1 语法 1 1 常用参数 2 常见用法 2 1 按数值排序 2 2 按文件大小排序 2 3 指定某一列排序 2 4 去重后排序 2 5 生成随机数 2 6 同时查看多个文件 2 7 排序后的值写入文件 可直接修改文件 1 语法 so
  • 如何使用区块链技术保护个人隐私和数据安全

    区块链技术是一种分布式账本技术 它具有不可篡改 去中心化 透明度高等特点 区块链技术能够实现数据的可信存证 隐私保护和交易安全 并且能够通过智能合约的自动执行 因此被广泛应用于金融 电商 物流 社交网络等领域 区块链技术的核心是 分布式账本
  • Go语言List的使用与数据结构的选择

    container包下的函数 heap heap包提供了对任意类型 实现了heap Interface接口 的堆操作 list list包实现了双向链表 ring ring实现了环形链表的操作 一 List的使用 List列表是一种非连续存
  • JAVA多线程执行,等待返回结果,再执行

    JAVA多线程执行 等待返回结果 再执行 1 实现callable接口 1 配置线程池 package com neusoft demo server config import org springframework context an

随机推荐