桌面文件使用 Windows SteadyState 进行共享计算

Wes Miller

我相信如果您在过去的 10 年或更长时间里曾经去过计算机实验室,那您肯定很熟悉下面这种问题。我在上大学期间第一次发现这种问题。那时,实验室全天开放(只要有学生证即可进入),而且当您进入实验室后基本上不会有任何人监督您上机。那个时代的学生游戏玩家们

很可能会打开并修改 Windows® 和 MS-DOS® 的关键文件以便能够运行他们的游戏。最终结果是某台机器可能非常适合运行他们的游戏,但却很难很好地运行 Windows,甚至根本无法运行 Windows。我们都在某种程度上经历过类似的情况—共享使用的计算机被折磨得体无完肤,以致于再也无法有效工作。

最近,我到德克萨斯的 South Padre 海岛度假。在我所住酒店的“来宾计算机房”里有三台运行着 Windows XP 的计算机。每位在这些 Windows 系统上操作的宾客都是管理员,而且没有任何策略限制 — 这意味着任何游客都可以在这些计算机上安装流氓软件、删除或更改核心应用程序,导致它们不堪重负 — 酒店方很可能不希望看到的结果。无论是在实验室还是酒店,事实是那些公用环境中共享使用的计算机往往比家用计算机境遇更悲惨。

问题的解决方案

获得并使用 SteadyState

可从 go.microsoft.com/fwlink/?LinkId=104721 免费下载 Windows SteadyState。有关 SteadyState 的更多信息,请访问 microsoft.com/windows/products/winfamily/sharedaccess

Windows SteadyState 可以在任何能够运行 Windows XP 的系统上运行。与 SCT 相比,SteadyState 最重大的改进在于不需要像 SCT 一样将第二分区用于 Windows 磁盘保护。

下表提供了 SteadyState 系统要求概述。请注意,尽管 SteadyState 支持任何版本的 Windows XP,但它要求文件系统必须是 NTFS 格式。SteadyState 目前还不能在 Windows Vista® 系统上运行。

组件 要求
处理器 300 MHz 或更高(最低 233 MHz)。
内存 128MB RAM 或更高(最低 64MB;可能会限制性能和某些功能)。
硬盘 如不包含 Windows 磁盘保护,至少需要 1.5GB 可用硬盘空间;如包含 Windows 磁盘保护,则最少需要 4.0GB 可用硬盘空间。
操作系统 Windows XP Home Edition、Windows XP Professional 或 Windows XP Tablet PC Edition。必须安装 Windows XP SP2。
支持的本地化语言 英语、荷兰语、法语、意大利语、日语、巴西葡萄牙语、中文(简体)和西班牙语。
文件系统 NTFS 格式的文件系统。
访问权限 管理员级别访问权限。

如果您去年一直阅读我的专栏,或者您熟悉常规的 Windows 部署,您可能会想“有什么大不了的 — 我只需要重新进行系统映像就可以对付”。但有过这种经历的人都知道,事实并不那么简单。每天或每周都需要点击那个大大的红色“重新映像”按钮实际上并不轻松。

许多年以前,我和一位朋友曾想开一家网络咖啡吧。如果回到 1995 年,这可是个标新立异的想法。当时我最大的顾虑在于如何确保系统的可靠性和可用性。不幸的是,那时可用的选项绝大部分都是重新映像或稍微更好一点的解决方案;没有什么方便的方法能够解决这个问题。

分解一下这个问题,当确保共享使用的计算机安全时,您希望能够做到三件事:

  • 确保用户只能以非管理员方式运行系统。对于共享计算机来说,任何时候都应如此。
  • 制定并实施相应的策略以使系统尽可能安全。通过这种方式可以降低用户操纵不应访问的系统区域的潜在风险。
  • 可以回滚任何用户随机做出的更改。尽管用户以非管理员权限运行系统,但他们还是能够对菜单、收藏夹等进行非授权更改。

幸运的是,Microsoft 多年来一直在努力开发专门帮助解决此类问题的工具集。

SteadyState 的历史

大约一年多以前,Microsoft 发布了 Windows 共享计算工具集 (SCT)。该工具集可供经过 Windows 正版增值验证的系统免费下载,它专门针对图书馆、网络咖啡吧、实验室和其他共享计算环境而设计。您可以从《TechNet 杂志》2006 年 7 月刊 (technetmagazine.com/issues/2006/07/UtilitySpotlight) 中了解有关 SCT 的信息。

该工具集的新版本,现在更名为 Windows SteadyStateTM (microsoft.com/windows/products/winfamily/sharedaccess),已于 2007 年 6 月正式发行。新版本更名的部分原因是因为该工具集的两个版本发生了重大改变。新版本仍然执行相同的任务(这一点我将稍后深入讨论),但开发团队更加注重最新版本的总体易用性。因此,SteadyState 得以与新控制台紧密集成,并且更加易于安装和管理。它同时也更为强大和灵活,其核心组件之一能够支持 Active Directory® 集成 — 这意味着改善了在多个全新企业级方案中的灵活性。SteadyState 现在还支持 Windows Update 集成,以便智能感知何时应该关闭 Windows 磁盘保护以应用其自身更新。这样,SteadyState 管理的系统在管理负担上得以减轻。

SteadyState 的功能

Windows SteadyState 包含四大关键组件:“计算机限制”用于锁定每台计算机的安全和配置选项;“Windows 磁盘保护”可以缓存(并还原)对 Windows 系统分区的更改;“用户帐户管理器”可以创建、编辑、导入或导出用户;最后,“用户限制和设置”能够锁定每位用户的安全和配置选项。

对于“共享计算工具集”,您能够立即察觉到的一个改进就是用户帮助。它的启动向导能够帮助您启动并运行 SteadyState。此外,SteadyState 还提供四项主要任务(对应上面列出的主要功能),用于更细致地完成下列任务:

  • 设置计算机限制(计算机限制)。
  • 定时计划软件更新。(让您指定是否允许 SteadyState 自动应用 Windows Updates。推荐启用该任务,因为它能为您处理与 Windows 磁盘保护相关的问题,并能更新几个流行的防病毒程序的特征库。)
  • 保护硬盘(Windows 磁盘保护)。
  • 添加用户(用户帐户管理器)

“添加用户”下方是“用户限制和设置”,它能为您提供每位用户的配置选项。

计算机和用户限制与设置

如果您非常了解 Windows 组策略,那您会发现 SteadyState 的“设置计算机限制”和“用户限制与设置”并不陌生。SteadyState 并不强制其管理员使用“组策略对象编辑器”(即 GPEdit.msc,尽管 SteadyState 支持该功能,但 Windows XP Home Edition 并不具备该功能),而是特别强调了几项在共享计算环境中常见的主要安全和配置选项。

图 1 显示了“设置计算机限制”的配置屏幕。请注意:所有这些都是通用设置,它们将应用到整个计算机。选择这些设置主要是为了将系统的安全风险降到最低 — 并支持在 USB 驱动器正在存取的情况下从系统取出设备。(当您查看每位用户的设置时,还会发现阻止读取某些或全部驱动器的方法。)

图 1 SteadyState 中的计算机限制

图 1** SteadyState 中的计算机限制 **(单击该图像获得较大视图)

请特别注意,只有在配置了 SteadyState 的 Windows 系统上运行时,USB 设置才可激活。为防止离线攻击,您应该正确配置 BIOS 以阻止从 USB 或 CD 设备启动,并为 BIOS 设置其自身的密码保护。

当然,这并不能做到万无一失。不知您是否还记得“安全性的十个永恒定律”(microsoft.com/technet/archive/community/columns/security/essays/10imlaws.mspx) 的第三条定律:“如果攻击者具有您计算机的无限制物理访问权限,那这台电脑就不再属于您了。”拥有足够时间和适当工具的专业人员通常都可以越过 BIOS 密码。

Windows 磁盘保护

如果您曾经用过 CD 上的 Windows XP Embedded 或者 Windows PE 2.0,那您可能已经非常熟悉我将要说明的内容了—因为它们与 Windows 磁盘保护有共同的历史。Windows 磁盘保护通过将对系统分区所做的所有更改保存到同一分区的缓冲区内,提供对 Windows 系统分区的完全“撤消”操作功能。SteadyState 在这方面的要求更为严格,因为该组件需要使您能够撤消很长时间内用户对系统所做的更改。

Windows 磁盘保护主要用于当您希望确保经过很长时间后,您能够快速将系统回滚(既可以在非计划重新启动之后,也可以按计划的时间间隔)到最初部署状态。在图 2 所示的对话框中可以设置四种模式:

图 2 配置 Windows 磁盘保护

图 2** 配置 Windows 磁盘保护 **(单击该图像获得较大视图)

关闭 完全禁用 Windows 磁盘保护,所有更改都将按正常方式写入磁盘。

开启—重新启动时丢弃更改 启用 Windows 磁盘保护,并且每次重新启动计算机时,所有更改都将丢弃。实际上,这表示系统将在每次启动时精确恢复到您选中并保存该选项时的状态。

开启—在设定的时间丢弃更改 基本上与前一个选项相同,只是该选项在设定的时间丢弃更改,而不是在下一次启动时。如果您希望每日或每周丢弃更改,那选择该选项恰好合适。

开启—永久保留更改 这个选项容易与“关闭”选项混淆,但不同之处在于该选项是临时模式。例如,如果您想要实现应用程序更新、安装新的应用程序或配置系统,那就可以使用此模式。此模式通常不应该在特别重要的时间段内使用。

请注意:在这些模式间切换时,Windows 磁盘保护会要求重新启动计算机。

定时计划软件更新

现在 SteadyState 已经提供了“定时计划软件更新”设置,它能够自动为您关闭或开启 Windows 磁盘保护。如果您允许 SteadyState 处理您的更新,它将设置 Windows 磁盘保护在更新期间保存更改,然后将 Windows 磁盘保护返回到之前的设置。我强烈推荐使用该设置,因为它为您避免了管理任务列表中的一项麻烦事。

以下安全软件可以通过“软件更新”中的更新功能获得支持:Computer Associates eTrust 7.0、McAfee VirusScan、Windows Defender 和 TrendMicro 7.0。

用户帐户管理器

“添加用户”选项使您能够为系统配置新用户。图 3 显示了用于新用户的一些选项:用户名、密码、代表用户的图像和用户配置文件的位置。创建用户之后,您就可以为这些本地帐户分别设置“用户限制和设置”。令人高兴的是当在系统上添加并配置一个帐户之后,您可以将其导出,然后根据需要导入另一个系统(或将其存档)。

图 3 添加用户帐户

图 3** 添加用户帐户 **(单击该图像获得较大视图)

“用户帐户管理器”的一个实用功能是可以通过图 3 中所示的“用户位置”菜单在第二分区上创建用户配置。除非您在安装过程中通过 unattend.txt 文件手动指定不同的“文档和设置”位置,否则配置文件通常必须在 Windows 分区上创建。该方法在 SteadyState 中特别有用,因为当启用 Windows 磁盘保护时,它可以丢弃对 Windows 系统分区的更改。如果希望在 Windows 磁盘保护清除缓冲之后仍保持用户配置的一致性,只需在使用“用户帐户管理器”创建用户时指定将用户配置文件存储在其他本地分区上即可。

该过程先重新启动以清除 Windows 磁盘保护缓存,应用更新,然后再次重新启动计算机以重启 Windows 磁盘保护。除 Windows Update 外,SteadyState 还将为所支持的几款流行防病毒应用程序更新特征文件(请参见“获得并使用 SteadyState”补充报道)。如果您所使用的防病毒应用程序不是受支持的产品,或者您需要运行其他更新程序,那您可以手动进行更新—只需要确保在进行更新时禁用 Windows 磁盘保护,否则特征更新将丢失。

用户限制与设置

当您选定用户之后,SteadyState 将把“用户限制”分成四类。这些类别从“组策略”设置派生而来,所以对您来说可能并不陌生。

“常规”设置控制用户配置文件和强制注销配置。其中包括锁定配置文件,以及设置注销超时间隔(在已配置的使用时间段或空闲时间段后)。

“Windows 限制”设置(如图 4 所示)控制 Windows 专用配置项。示例包括删除对 Windows 用户界面项(如“开始菜单”上的组件和 Windows 资源管理器功能)的访问权限。此外还提供根据驱动器盘符阻止访问指定驱动器的功能,如禁用 CD 刻录功能。

图 4 Windows 特定的用户限制

图 4** Windows 特定的用户限制 **(单击该图像获得较大视图)

“功能限制”选项卡(如图 5 所示)控制对大部分 Internet Explorer® 功能的详细访问控制,它使您能够设置 Internet Explorer 主页、在一定程度上控制 Microsoft® Office 功能 — 主要是控制要执行的 Visual Basic® for Applications (VBA) 脚本的能力。

图 5 功能限制

图 5** 功能限制 **(单击该图像获得较大视图)

“阻止程序”设置(请参见图 6)控制运行具体应用程序的能力—基本上就是您创建一张黑名单。该设置中已添加了一些常见的应用程序,您还可以添加其他应用程序。请注意:将根据这些项目的路径定义进行阻止。如果允许某位用户在系统中将应用程序移动到其他位置,则路径规则将不再应用。但正确应用文件和目录 ACL 并以其他方式限制访问系统将防止用户随意将应用程序移动到其他位置。

图 6 阻止程序执行

图 6** 阻止程序执行 **(单击该图像获得较大视图)

SteadyState 的另一项重要的新功能基于预配置的模板,该模板指定与“Windows 限制”和“功能限制”相关的限制级别。该模板简化了根据所需的功能锁定级别使用基本配置。当然您也可以构建自定义模板。

SteadyState 的局限性

SteadyState 能够出色地帮助组织稳固其共享计算系统。作为商用工具,它非常优秀。作为免费工具,它令人敬佩。但是,请记住,它不是万能的。

共享计算系统易于成为攻击甚或无意滥用的目标。您应该确保这些系统与其不需要访问的信息隔离。虽然 SteadyState 也有阻止访问应用程序的能力,但这些强制措施通过“软件限制策略”进行处理。此外,根据 Mark Russinovich 前几年的观察,某些具备专业技能的用户可以使用一些技术手工编制看似良性的应用程序,但这些程序会使以“受限用户”登录的用户也能越过这些“软件限制策略”(blogs.technet.com/markrussinovich/archive/2005/12/12/circumventing-group-policy-as-a-limited-user.aspx)。由于不能阻止所有设备访问和 Internet 访问,您需要时刻警惕漏洞。应始终铭记第 3 条定律...

很明显,SteadyState 只是配置良好的共享计算系统中的一个组件。通过 Windows Update 定期更新应用程序以及正确配置 Windows 防火墙(或其他防火墙)同样非常重要。另外,请务必安装和配置分析系统潜在风险所需的防病毒、反间谍软件和其他安全相关措施。同样,控制对计算机的访问 — 如果无法做到,那务必控制计算机可查看的内容。请勿在本地存储机密数据。

最后,在检查您的平台是否符合要求时,请确保测试中包括使用 SteadyState(除非计划不使用 Windows 磁盘保护,否则请启用它)和所有计划在系统上运行的其他软件。您将需要确保这些软件能够与 SteadyState 完美地相互配合工作。

SteadyState 支持

就我所见,用户对 SteadyState 的反馈是非常肯定的。目前为止,我只收到很少几个问题,其中包括一些添加用户顺序方面的问题。这其中许多问题(以及其他提示和技巧)在 Windows SteadyState 社区(从 SteadyState 应用程序和文档中的几个地方可以方便地链接到该社区)中都有非常活跃的讨论,社区网址为 forums.microsoft.com/windowstoolsandutilities

我还推荐在开始使用该软件之前首先阅读 SteadyState 手册,该手册可以从 go.microsoft.com/fwlink/?LinkId=104722 获得。它提供了大量成功使用 SteadyState 的提示和技巧。

总结

SteadyState 为需要控制访问的任何 Windows XP 系统提供了一组极为出色的功能包 — 而且完全免费!显著改进的 Windows 磁盘保护功能和用户界面增强意味着部署更简便,而且更加易于管理您的共享访问系统。

无论您需要管理的是计算机实验室系统、访客或雇员共享访问的网亭、培训室,还是任何其他共享计算环境,SteadyState 都能帮助您获得 — 并保持 — 这些系统更简便地启动和运行。而且它不再需要您每周都重新映像系统,使其回复最初状态。在我看来,这正是一个巨大的改进。

Wes Miller是位于德克萨斯州奥斯汀市的 Initiate Systems 公司 (InitiateSystems.com) 的技术产品经理。在此之前,他在 Winternals Software 公司任职,并曾在 Microsoft 担任程序经理。Wes 的联系方式如下:technet@getwired.com

© 2008 Microsoft Corporation 与 CMP Media, LLC.保留所有权利;不得对全文或部分内容进行复制.