将最小特权原则应用到Windows XP 用户帐户

引言

联网技术的最新发展(如与 Internet 间的永久连接)给各种规模的组织带来了极大的机遇。不幸的是,计算机与网络(尤其是 Internet)之间的连接增加了遭到恶意软件和外部攻击者攻击的风险,各种风险此伏彼起。

Sophos 是一家 Internet 安全公司,它发现,检测到的恶意程序的数量由 1999 年 11 月的 45,879 个上升到 2005 年 11 月的 114,082 个,在过去六年中以每年至少 10% 的速度增长。2005 年 11 月,Sophos 发现了 1,900 多个新的恶意软件,如病毒、特洛伊木马和间谍软件程序。其他防病毒供应商所报告的恶意软件的数量和类型方面的增长情况与此类似。

赋予用户对客户端计算机的管理权利的倾向,是造成恶意软件的风险不断增加的重要因素。如果用户或管理员使用管理权利登录,他们运行的所有程序,如浏览器、电子邮件客户端和即时消息程序等,也同样具有管理权利。如果这些程序激活了恶意软件,恶意软件就可以进行自安装,操纵诸如防病毒程序之类的服务,甚至隐藏在操作系统中。用户可能在无意识且不知情的情况下,访问一个其安全性已受到破坏的网站或单击电子邮件中的链接或执行其他操作,进而导致恶意软件运行。

恶意软件会给组织带来许多威胁,包括利用击键记录程序截获用户的登录凭据以及使用木马程序套件完全控制计算机或整个网络等等。恶意软件可以导致网站无法访问、损坏或破坏数据以及重新格式化硬盘。所造成的后果中可能还包括增加成本,如清除计算机病毒感染、还原文件、重新输入或重新创建丢失的数据等所需的成本。病毒攻击还可能导致项目组无法按时完成任务,从而导致违反合同或失去客户的信任。受某种规章制约的组织可能会面临被起诉和罚款的尴尬局面。

注意 有关木马程序套件的详细信息,请参阅 Wikipedia 上的木马程序套件定义,网址是 http://en.wikipedia.org/wiki/Rootkit。

最小特权用户帐户方法

采用一种包含相互复叠的多个安全层的纵深防御策略,是应对这些威胁的最佳方法,而最小特权用户帐户 (LUA) 方法是该防御策略的重要组成部分。LUA 方法可确保用户遵守最小特权原则并始终以受限用户帐户登录。此策略还有一个目的,就是将管理凭据限制为仅供管理员使用,而且只能用来执行管理任务。

LUA 方法可显著降低恶意软件和意外错误配置所带来的风险。但是,由于 LUA 方法需要组织规划、测试并支持受限访问配置,因此,实现此方法需要付出很高的成本,而且需要处理很多棘手的问题。这些成本可能包括重新开发自定义程序、更改运作流程以及部署其他工具等所需的成本。

重要说明 由于很难找到有关使用受限用户帐户的实用工具和指导,本白皮书参考了第三方工具和一些来自网络日志和其他非官方来源的指导信息。Microsoft 不就这些工具或指导对您的环境的适用性做任何担保。您应该首先对这些指令或程序进行测试,然后再进行部署。所有安全问题都没有完美的答案,本软件和指导也不例外。

目标读者

本白皮书的目标读者有两类:
需要了解 LUA 方法的概念和 LUA 方法所产生的组织问题的业务决策者。
需要了解在组织内实现 LUA 方法时应当选择的选项的 IT 专业人士。
主题

本文档讨论组织在将 LUA 方法应用到运行 Microsoft® Windows® XP 的计算机时可能遇到的问题和注意事项。内容涵盖以下主题:

与管理特权相关的风险
最小特权原则的定义
LUA 方法的定义
LUA 方法的好处
风险、安全性、可用性及成本的权衡
实现 LUA 方法
未来发展

本白皮书还介绍了影响 LUA 方法实现的高级别问题,并提供了一些指向详细说明这些概念的其他在线资源的有用链接。

注意 本白皮书中不解释有关使用最小特权帐户运行系统服务的问题。有关此主题的详细信息,请参阅服务和服务帐户安全规划指南,网址为 http://www.microsoft.com/china/technet/security/topics/serversecurity/serviceaccount/default.mspx

与管理特权相关的风险

许多组织通常都会赋予用户对其计算机的管理特权。这种情况对于便携式计算机尤其普遍,且通常是基于以下原因:

为使某些程序能够正常运行。某些程序只有在用户具有管理权限时才能运行。通常,如果程序将用户数据存储在注册表或文件系统中,而且非管理帐户无法访问这些位置,就会出现这种情况。
为使用户能够执行管理操作,如更改计算机的时区。
为使移动用户能够安装与工作相关的硬件或软件,如打印设备或 DVD 刻录机及相关程序。

尽管可能还有其他为用户提供管理权利的正当理由,但这种做法会显著增加计算机遭到破坏和采用不当配置的风险。这些风险可能会影响组织运营中的诸多方面。

试考虑以下情况:高级主管定期到客户的办公地点,用便携式计算机进行演示。因为是高级主管,所以他坚持要求获得他的计算机的本地管理权利。他刚要向重要客户演示一个关键的销售演示文稿,这时,一条攻击性消息出现在他的便携式计算机的屏幕上,随后他的计算机被锁定了。在慌忙重新启动计算机后,该主管发现他的硬盘已经被重新格式化了。结果是,未能向客户展示销售演示文稿,订单拱手让给了竞争对手。

在上述情况中,当该主管浏览遭到破坏的网站时,恶意软件感染了他的计算机,导致了该攻击性消息的出现以及随后的数据破坏。该主管在访问网络时,是以本地 Administrators 组成员的身份登录到他的便携式计算机的。此组成员身份所具有的权利和特权使恶意软件能够禁用防病毒软件、进行自安装、操纵注册表以及在 Windows 系统目录中放置文件。该主管的计算机现在已经遭到破坏,随时可以执行恶意软件的命令。

其他可以利用管理帐户的较高特权的情形包括用户单击电子邮件中的链接或播放包含数字权利管理软件的音乐 CD 的情况。与使用受限用户帐户的用户相比,具有管理权利的用户的计算机可能更容易受到破坏,这是一个常见的因素。

最小特权原则的定义

《国防部可信计算机系统评估标准 (DOD-5200.28-STD)》(Department of Defense Trusted Computer System Evaluation Criteria),又称《橙皮书》,是广为接受的计算机安全标准。此出版物中将最小特权定义为以下原则:要求赋予系统中每个使用者执行授权任务所需的限制性最强的一组特权(即最低许可)。本原则的应用将限制因意外、错误或未经授权使用而造成的损害。

LUA 方法的定义

本白皮书中将 LUA 方法定义为在运行 Windows XP 的计算机上实际实现最小特权原则。具体来说,Windows XP 上的用户、程序和服务应该只具有执行分配给他们/它们的任务所需的最小权利和权限。

注意 一定要了解权利和权限之间的区别。权利定义用户可以在计算机上执行的任务,而权限定义用户可以对计算机上的对象执行的操作。因此,用户需要“权利”来关闭计算机,需要“权限”来访问文件。

LUA 方法是建议、工具及最佳做法的组合,使组织能够使用非管理帐户操作运行 Windows XP 的计算机。LUA 方法需要组织重新评估计算机的角色和用户对其设备应具有的访问级别。它还给出了使用受限用户帐户进行操作的策略性以及日常注意事项,以及如何解决出现的问题。这些问题包括如远程用户需要对他们的计算机进行配置更改等多个方面。

LUA 方法还适用于应用程序开发和测试。开发人员(有时包括测试人员)通常使用具有管理权利的帐户登录到他们的计算机。此配置可导致开发人员公开那些需要类似的高级特权才能运行的已编译程序。开发人员会建议采用“安全变通方法”,如将用户帐户放入本地 Administrators 组或授予用户对 Windows 系统文件夹的完全控制权限,而非通过重新设计应用程序来使其正常工作。

LUA 方法就是要抵制这种将管理权利和权限赋予需要访问资源的每个用户或程序的倾向。遵守最小特权原则的程序不会尝试拒绝对资源的合法请求,而是根据合理的安全指南授予访问权限。

有关创建应用程序的最佳做法的详细信息,请参阅在特权下运行,网址为 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secbp/security/running_with_special_privileges.asp。

Windows XP 帐户

若要了解 LUA 方法的工作原理,应了解 Windows XP 中管理帐户和非管理帐户之间的区别,并了解 Windows 如何启动和运行程序。还有必要简单了解基于工作组和基于域的网络中的组。

运行 Windows XP 的计算机在本地安全帐户管理器 (SAM) 中维护有一个独立的安全数据库。SAM 负责存储本地用户和组信息,并包含数个默认组,如:

Administrators。具有计算机的完全且无限制的访问权限。
Power Users。具有较为受限的管理权利,如共享文件、安装本地打印机以及更改系统时间等。Power users 还具有访问 Windows 系统文件夹中文件的扩展权限。
Users。具有受限的用户权利,以防意外或故意更改系统范围的设置。“仅”属于此组的用户帐户被称为“受限用户帐户”
Guests。比受限用户具有的权限还要少。

用户帐户所具有的权利是根据他们在这些组(一个或多个)中的成员身份来授予的。例如,内置管理员帐户具有管理权利,是因为它是 Administrators 组的成员。此组成员身份赋予管理员帐户提升的权限,例如从远程计算机强制系统关闭的权限。

基于工作组的计算机完全自我管理,只验证其自己的 SAM 中的组和用户。在工作组计算机加入域时,本地组成员身份会发生变化。除现有组之外,Domain Users 组会成为本地 Users 组的成员,Domain Admins 组会成为 Administrators 组的成员。这种变化使 Domain Admins 组中的所有成员都可以使用管理权利登录到计算机,使 Domain Users 组中的所有成员都可以使用受限的用户权利登录到计算机。

管理帐户

管理帐户可以是属于一个或多个管理组的任何帐户。在加入域的计算机上,管理组包括:

本地 Administrators 组
本地 Power Users 组
Domain Admins 组
Network Configuration Operators 组
具有任何本地管理组成员身份的任何域组

以一个或多个这些组的成员身份登录的任何用户都可以进行系统范围的更改。

注意 Power Users 组是 Administrators 组的子集,而不是 Users 组的超集。将用户放在 Power Users 组中不符合 LUA 原则。

受限用户

受限用户是本地 Users 组的成员,且“不是”任何管理组的成员。在加入域的计算机上,属于 Domain Users 组的帐户也都属于本地 Users 组。

受限用户帐户可显著缩小恶意软件的攻击面,因为这些帐户执行可影响操作安全性的系统范围更改的能力最低。尤其是,受限用户帐户不能打开防火墙上的端口,不能停止或启动服务,也不能修改 Windows 系统文件夹中的文件。

许多组织可能会声称他们已经实现了 LUA 方法,因为他们的用户以 Domain Users 组成员的身份登录。但是,如果这些用户同时也是本地 Administrators 组的成员,那么这些用户所运行的所有程序都将具有管理权利,从而可能导致意外更改。

了解登录过程

需要了解的另一个重要方面是 Windows XP 的验证过程。用户登录到计算机时,操作系统将验证用户的凭据,并启动 Windows 桌面实例,最常见的是 Windows 资源管理器。此桌面以登录用户的访问权利和权限在该用户的安全上下文中运行。在用户启动某个程序(如 Microsoft Internet Explorer)后,该程序也会在该用户的安全上下文中运行。

验证为管理员

如果用户验证为本地 Administrators 组的成员,则该用户启动的桌面实例和任何程序都将以管理员的完全访问权利和权限运行。具有管理权利的用户可以执行以下操作,这些操作是管理计算机的合法操作:

安装、启动和停止服务以及设备驱动程序。
创建、修改和删除注册表设置。
安装、运行和卸载程序。
替换操作系统文件。
终止进程。
控制防火墙设置。
管理事件日志项。
安装 Microsoft ActiveX® 控件。
访问 SAM。

对于大多数计算机用户,这些权限都不是必需的,而且会明显增加计算机的风险。因为具有管理权利的用户可以进行系统范围的更改,具有管理权利的用户运行的任何程序也可以有意或无意地进行系统范围的更改。因此,如果用户验证为具有管理权利,恶意软件就更易安装到该计算机上。

验证为用户

如果用户不是 Administrators 组的成员,则可访问的资源的数量将明显减少,且只能对特定区域进行更改。与具有管理权利的用户相比,具有用户权利的用户可执行以下任务:

查看服务和设备驱动程序的状态。
创建、修改和删除 HKEY_CURRENT_USER 中的注册表设置,以及读取 HKEY_LOCAL_MACHINE 中的注册表设置。
运行程序。
读取大多数操作系统文件。
查看运行的进程。
查看防火墙设置。
只能查看系统和应用程序日志项。

受限用户仍然可以执行完成工作所需的任务,如连接到无线网络、安装标有“即插即用”的驱动程序以及更改桌面设置。LUA 方法不会试图限制这些功能,而是通过限制具有管理权利的帐户来降低风险。

您现在应该了解了 Windows XP 中组的角色以及管理权利和受限用户权利之间的区别。本白皮书的下一节将讲述使用受限用户帐户的好处。

LUA 方法的好处

LUA 方法可以给各种规模的组织带来极大的好处。除降低恶意软件攻击的风险外,还包括:

安全性增强
可管理性增强
工作效率提高
成本降低
侵权和法律责任问题减少

本节分析这些好处以及它们对您的组织的影响。

安全性增强

LUA 方法是众多安全措施中的一种,可帮助保护您的组织及其计算机资产免遭攻击者利用。攻击者会出于各种原因企图危害您的网络,这些原因包括:

控制多台计算机以进行分布式拒绝服务攻击。
发送垃圾邮件。
破坏专有信息。
窃取用户身份。
将恶意软件分发到其他计算机。

在用户以具有管理权限的帐户登录时,这些攻击很有可能获得成功。例如,以管理权利运行的软件能够:

安装内核模式的木马程序套件。
安装系统级的关键日志记录程序。
截获登录密码。
安装间谍软件和广告软件。
访问属于其他用户的数据。
在有人登录时运行代码。
将系统文件替换为特洛伊木马。
重设密码。
掩盖它在事件日志中的行踪。
阻止计算机重新启动。

如果用户以受限用户帐户登录,则在这些用户的上下文中运行的程序只能对操作系统进行最小的更改。此限制可显著降低安装和运行恶意软件的能力,提供了安全性而不影响用户执行其任务。

可管理性增强

标准化是可管理网络,特别是具有多台客户端计算机的可管理网络的重要组成部分。如果组织中有 500 台客户端计算机,每台计算机具有不同的软件配置和计算机设置,事前管理就会变得极为复杂。当用户能够安装软件和进行系统范围的配置更改时,就会不可避免地产生这种复杂性。

Windows XP 为自定义操作系统配置提供了巨大的可能性。如果用户能够以管理权利登录,他们常常无法拒绝更改设置的诱惑。例如,用户可能会为一个无线网络连接关闭 Windows 防火墙,然后使用不安全的连接通过公共无线访问点与 Internet 服务提供商连接。这种做法可能导致计算机迅速被破坏,因为所有网络连接(甚至受信任的网络)都应受到基于主机的防火墙的保护。

用户进行此类更改可能导致拨打支持电话的次数增多,而且技术支持人员每次处理这些经过修改的计算机时,面对的都是不同的计算机配置。这种标准化的缺乏使帮助台支持、故障排除和修复更加困难,不但费时而且代价高昂。

LUA 方法还可在用户和管理员之间划定明确的管理界限。此界限可以让用户和网络管理员各司其职,用户集中精力执行他们的工作,而网络管理员负责管理基础结构。如果用户具有管理权利,则不可能实施此界限,而且无法保证标准化。

每个用户都是管理员的网络很难管理,因为用户可以绕过系统管理设置。如果用户不能安装未授权的硬件和软件或不能进行系统更改,他们的计算机就会与组织标准相当接近。LUA 方法通过限制对计算机环境的不需要的修改增加了可管理性。

工作效率提高

计算机使各种类型和规模的组织的工作效率得到大幅提高。但是,需要对计算机进行事前管理才能维持这种工作效率的优势。在员工需要依靠计算机完成工作的组织中,IT 员工应最大限度地降低破坏工作模式的可能性,特别是一些可以避免的因素,如不当的计算机配置和恶意软件感染。

LUA 方法可通过维护客户端计算机配置来保持工作效率。如果用户不能更改他们计算机的配置,这些计算机就会更稳定,从而可以减少停机时间并保证工作效率。

当恶意软件控制计算机时,也会发生工作效率降低的情况。由于感染,可能需要清除计算机上的病毒甚至重新格式化计算机,这样用户就可能丢失文档或数据。管理员可能需要还原文件的备份副本,然后对这些文件进行更新。这些附加活动可能打断员工当前正在执行的工作,或者需要他们执行重复的工作。

成本降低

尽管维护多台客户端计算机的成本不可能是零,但应努力避免出现以下情况,因为这些因素可显著增加成本:

硬件和软件的独特的、未经测试的组合
对操作系统进行的未知更改
个性化的系统范围的设置
具有未知文件类型的非标准软件
许可使用用户安装的软件
允许安装无许可证的软件
恶意软件
测试版软件和驱动程序
恶意软件占用的 Internet 带宽

LUA 方法可帮助阻止安装未经授权的、无许可证的或恶意的软件。还可阻止用户对其计算机进行未知更改。这些限制降低了帮助台支持的成本以及具有管理权利的用户造成的停机时间。

侵权和法律责任问题减少

许多组织逐渐意识到了他们在防止员工非法使用公司设备方面的管理职责。这些职责要求公司在员工有意或无意出现以下行为时采取措施:

允许偷窃客户数据(如个人身份信息 [PII])。
驻留包含盗版、违法或攻击性内容的网站。
驻留转发未经请求的商业电子邮件的中继服务器。
参与分布式拒绝服务攻击。

组织在实现 LUA 方法后,组织需要为上述这些类型的滥用而负责的情况明显减少,因为其客户端计算机抵御攻击的能力加强了。此外,用户安装未经授权的软件来驻留非法内容的可能性减少,从而使做出导致此类责任事件的不当行为的机会大大减少。之所以能够得到这种保护,是因为受限用户只具有对“Program Files”文件夹、Windows 系统文件夹以及注册表的 HKEY_LOCAL_MACHINE 部分的读访问权限。程序通常要求对这些位置具有写访问权限才能进行安装。

风险、安全性、可用性及成本的权衡

同许多网络管理方法一样,采用 LUA 方法也需要在风险、安全性、可用性及成本之间进行权衡。正确实现 LUA 方法后可以:

降低风险。
增加安全性。
影响可用性。
降低管理成本。

降低风险

与计算机网络的任何连接都会招致风险,而相对于与 Intranet 资源的连接,与 Internet 的连接带来的风险更高。彻底消除这种风险的唯一方法就是不将计算机连接到网络上。大多数组织都一致认为网络连接所带来的商业利益大于风险,而预先采取将这些风险降至最低的策略才是明智的举措。

LUA 方法可以使以管理权利运行程序给当前和未来带来的风险大大降低。如果组织不实现 LUA 方法,不仅与计算机使用相关的风险会增加,而且容易受到新发现的漏洞的攻击,特别是容易受到攻击者在制造商之前发现的软件漏洞的攻击(零天攻击)。如果组织实现 LUA 方法,则实现其他桌面管理策略(如自动安装安全更新)的可能性更大,这样可以进一步减轻组织的风险情况。

增加安全性

LUA 方法可极大地增加安全性。此方法的权衡结果是降低用户更改配置的自由度而不降低可用性,如下一节中所述。

请记住,LUA 方法不提供完整的安全策略,它必须与其他安全防御措施结合使用,作为纵深防御策略的一部分。这些多层防御措施包括用户意识、外围设备和主机防火墙、定期安全更新以及检测恶意软件的最新扫描程序。LUA 方法提供了降低恶意软件在组织内传播能力的附加安全性。

影响可用性

有关网络管理的公认的事实是可用性与安全性成反比,增加安全性就会降低可用性。

注意 值得注意的一点是,可用性是指易用性,而不是用户随意更改其计算机的能力。

LUA 方法阻碍用户管理他们的计算机,而不阻碍他们使用计算机。剥夺管理权利可使用户工作效率更高,因为这样可以较少分散他们在工作中的注意力,而且降低了不当配置计算机的几率。

但是,如果用户可以看到某个配置选项但却不能进行更改,则可能会感觉受挫,进而拨打帮助台电话寻求帮助。组策略可隐藏 Windows 界面的元素,使用户看不到这些元素。如果用户只能看到他们可以进行更改的选项,则配置限制所造成的受挫感就会大大减少。将 LUA 方法和组策略结合实现,可以使界面更为简单,仅显示用户能够更改的配置选项。

降低管理成本

独立组织的研究已经表明,网络系统管理可以产生长久的成本节约效应。LUA 方法与系统管理策略紧密结合,因为受限用户不能更改强制执行的管理设置。但是,为了实现系统管理所带来的成本节约,组织必须准备好按照 LUA 方法的要求进行投资,并了解实现 LUA 方法和不实现 LUA 方法产生的不同成本。

实现 LUA 方法将产生以下方面的成本:

规划和试运行项目。
在 LUA 环境中测试自定义程序。
研究实现受限用户帐户的解决方法。
如有必要,重写应用程序。
部署之前测试新程序。
处理初始阶段出现的帮助台电话增多情况。
解决此更改中出现的政治问题。

一定要在上述这些成本与不实现 LUA 方法所产生的相关成本之间进行权衡。不实现 LUA 方法可产生以下方面的成本:

由用户修改导致的不当计算机配置。
未经授权的、未经测试的、无许可证的或恶意的软件。
潜在的起诉。
因安全遭到破坏而丢掉业务。

对实现和不实现 LUA 方法所产生的成本进行分析表明,大部分实现成本都是可计算的,而不实现所产生的成本都是未知的。可以估计重写行业应用程序所需的成本,但无法估计将来遭到诉讼所需付出的代价。

针对联网计算机的威胁的迅速演变以及简化和标准化计算机配置的需求,不断促使组织和个人以受限用户帐户运行网络和计算机。倡导 LUA 方法的观点已经对组织的习惯和旧的不良做法造成了明显的冲击。现在是有必要审核组织如何实现 LUA 方法的时候了。

实现 LUA 方法

实现 LUA 方法包括将以下规则应用到运行 Windows XP 的计算机上:

非管理员应该始终以受限用户身份登录。
管理员只应使用管理帐户来执行管理操作。

虽然此方法可带来本白皮书中所述的好处,并加强了故障安全环境,但仍有许多需要解决的问题,特别是组织以前允许用户以管理员身份登录的情况。

实现注意事项

实现 LUA 方法还会在组织内产生技术、管理和政治问题。这些问题包括:

对计算机的控制权
安装硬件
安装程序
运行程序
更新操作系统
配置操作系统
成本

对计算机的控制权

最难解决的政治问题可能就是对客户端计算机的控制权。许多高级主管和业务决策者都希望完全控制自己的计算机,而意识不到或轻视这种配置的风险。处于管理职位的人通常不能容忍妨碍他们的情况或告知他们不能做某事的消息。他们对有关限制权利的警告消息的典型反应就是坚持要求网络管理员给予其完全管理控制权限。

为了应对这种情况,请一定要让一个职位相当高的且有深厚技术背景的执行发起人来负责这项计划。对于许多公司,此执行发起人应至少为首席信息官 (CIO) 或同等职位的人,并且愿意培训同事有关管理不断增长的恶意软件威胁以及这类软件如何从恶意或遭到破坏的网站进行安装的知识。如果教育不足以起作用,请强调在其计算机上无意中安装恶意软件可能导致的法律责任问题,并说明本白皮书中的工具是如何解决大家关心的问题的。

用户教育是要解决的另一个重要方面。对于被剥夺视为“自己”的计算机的控制权限,大多数用户都会感觉受到威胁,且可能采取行动破坏 LUA 方法的实现。收到不断增多的抱怨以及用户由于不再有管理权利而面临的问题的夸大之词是很正常的现象。只要组织执行了全面的测试计划,这些抱怨就可以轻易消除。

安装硬件

在办公室环境中使用台式计算机的用户应该永远都不需要管理权利。但是,对于使用移动计算机的用户,他们可能需要在未连接到组织的网络时安装执行任务所需的某些硬件,如打印机和 DVD 刻录机。

对于移动用户的硬件安装问题,组织需要考虑许多情况,其中可能包括不符合 LUA 方法的情况。本白皮书中下一节所介绍的工具也有助于这种此情形下的硬件管理。

安装程序

许多程序需要管理特权才能安装。这种行为有助于禁止安装未经授权的程序,但也有可能阻止安装已授权的程序和升级程序。如果用户使用的不是加入域的计算机或仅偶尔连接到组织的网络,那么程序的安装就可能成为问题。解决如何安装已授权的程序和安全更新的问题时,可能需要更改操作过程并使用某些工具,如 Active Directory® 中的应用程序发布、Microsoft Systems Management Server (SMS) 2003 Service Pack 1 中的提升权限部署工具、远程桌面。

某些 Internet 站点只有使用下载到客户端计算机中的附加软件和 ActiveX 控件才能正常工作。Internet Explorer 管理工具包和组策略等管理工具允许某些站点具有这种行为,前提是其业务需求的重要性超过允许从该位置下载软件所可能带来的风险。

运行程序

许多程序需要管理特权才能运行。通常,这种限制是由于编码错误或编程和安全准则的实现欠佳造成的。例如,程序可能在注册表的某个位置安装强制性的产品密钥,而受限用户帐户无法读取该密钥的值。

注意 遵守 Microsoft 编程建议的程序不应出现安全限制问题。

在许多情况下,通过授予 Users 组对导致应用程序失败的受限位置的访问权限,可以解决此问题。本文档下一节中所介绍的 Microsoft Windows 应用程序兼容性工具包 (ACT) 也可以解决许多兼容性问题。网络管理员不应接受因为某个程序只能以管理权限运行所以每个用户都应是管理员的论调。

更新操作系统

从 Microsoft Update 网站手动安装操作系统更新需要操作系统桌面以管理权利运行,因此,若要使用 Microsoft Update,用户必须以管理凭据登录。但是,自动更新服务在系统帐户凭据下运行,因此不会遇到此限制。如果将自动更新配置为自动检查和安装操作系统更新和程序更新,则几乎不会有手动更新的需求。有关详细信息,请参阅如何在 Windows Server 2003、Windows XP 和 Windows 2000 中安排自动更新,网址为 http://support.microsoft.com/default.aspx?scid=kb;zh-cn;327838。

SMS 2003 Service Pack 1 中包含无需用户具有管理权利就可确定和安装操作系统和应用程序更新的功能。Windows 软件更新服务 (WSUS) 为未安装 SMS 的组织提供简化的安全更新管理。

配置操作系统

组织的 IT 策略应定义受限用户可在其计算机上执行哪些配置操作。不论是在本地还是通过组策略对安全策略和注册表设置进行更改,都会使受限用户能够对其计算机进行许可的更改,如当移动用户需要更改计算机的时间或时区时。本白皮书的下面一节列出了几种工具,可用来解决使用受限用户帐户的操作系统配置问题。

成本

最后,规划、实现和管理 LUA 方法都可能需要很高的成本。如果有第三方或自定义的行业程序或关键任务程序,则这些成本可能会相当高。

例如,某个关键任务程序可能与 LUA 方法不兼容,需要管理权利才能运行。根据该程序的寿命和可用的开发人员资源,组织可能需要:

在 LUA 环境中测试该程序。
在程序不运行时,确定缓解这一问题的过程,如:
自定义注册表权限,或修改多台计算机上的权限。
更改访问权限。
部署解决配置问题的工具
从头开始重新编写该程序。

但是,如果组织已计划将自定义程序更新为较新技术,则遵守 LUA 方法的成本可能就很低。

工具

Microsoft 和其他软件供应商提供有无数多的工具来协助管理使用 LUA 方法的环境。本节介绍的一些工具可帮助对用户以受限用户权利登录的环境进行管理。这些工具包括:

Secondary Logon 服务
MakeMeAdmin
PrivBar
PolicyMaker
应用程序兼容性工具包
RegMon 和 FileMon
系统管理服务器

注意 Microsoft 不支持 MakeMeAdmin、Privbar、PolicyMaker、RegMon 和 FileMon,而且 Microsoft 不对这些程序的适用性做任何保证。使用这些程序的风险完全由您自己承担。

Secondary Logon 服务

Secondary Logon 服务(或 runas 命令)允许用户使用其他凭据运行程序。Secondary Logon 服务可使用新凭据和组成员身份创建另一个安全令牌,程序使用该令牌来访问资源。

尽管 Secondary Logon 服务是非常有用的工具,但辅助帐户使用不同于主帐户的凭据,这会产生以下限制:

用户必须知道辅助帐户的密码,并且必须提供这些凭据。
某些程序不能运行凭据不同于当前实例的第二个实例。
辅助帐户可能具有与主帐户不同的打印机和驱动器映射。
辅助帐户可能是本地帐户,因此可能不具有对网络或域资源的访问权限,无法运行域登录脚本,或无法应用组策略。
某些更改(如安装程序)只能应用到辅助帐户的配置文件,不能应用到主帐户的配置文件中。如果程序安装为“仅此用户使用”而非“所有用户均可使用”,则可能会出现这种结果。

runas 命令在被定向到使用通用命名约定 (UNC) 路径,如打印机和网络连接时,无法正常运行。有很多方法可解决此问题,如使用 runas 命令启动 Internet Explorer,然后在 Internet Explorer 中打开基于文件夹的对象。但是,这种方法不如“右键单击,然后单击‘运行方式’”的方法简便。

runas 命令的其他用途包括在用户的“发送到”菜单中创建脚本的快捷方式,通过该快捷方式可以管理权利运行选定的程序。此外,可为快捷方式设置“以其他用户身份运行”高级选项。有关详细信息,请参阅 HOW TO:在运行程序时启用和使用“运行方式”命令 ,网址为 http://support.microsoft.com/default.aspx?scid=kb;zh-cn;294676&sd=tech。

MakeMeAdmin

MakeMeAdmin 使用两个连续的登录进程,绕过 Secondary Logon 服务的驱动器映射、访问权限和程序安装限制。为了绕过这些限制,脚本将执行以下操作:

1.获取当前登录帐户详细信息。
2.调用 Secondary Logon 服务,以便您可以使用本地管理员帐户凭据登录。
3.使用该新的本地管理员登录会话将您的当前帐户添加到本地 Administrators 组中。
4.再次调用 Secondary Logon 服务,并提示您以当前用户帐户但作为本地 Administrators 组的成员登录。
5.创建一个新的命令提示,其中您的当前帐户是本地 Administrators 组的成员。此命令提示具有不同的背景颜色和标题,以便与标准命令提示区分开。
6.从本地 Administrators 组中删除当前帐户。

该脚本创建的命令提示在当前登录帐户凭据下运行,但具有管理权利,因此您从此命令提示运行的任何程序也都具有管理权利。驱动器映射和网络访问权限与当前帐户相同,如果您使用此命令提示安装程序,则该程序将安装到当前配置文件,而非本地管理员配置文件中。

有关 MakeMeAdmin 的详细信息,请参阅 Aaron Margosis 的 WebLog 上的 MakeMeAdmin — 受限用户帐户暂时充当管理员,网址为 http://blogs.msdn.com/aaron_margosis/archive/2004/07/24/193721.aspx。

PrivBar

PrivBar 在 Internet Explorer 和 Windows 资源管理器中显示不同颜色的工具栏,表示用户当前的特权级别。例如,如果用户使用管理权利登录,PrivBar 工具栏将变为黄色,并带有红色指示器。此指示器提醒用户他们正使用管理特权浏览网站,这样会增加其计算机的风险。有关 PrivBar 的详细信息,请参阅 Aaron Margosis 的 WebLog 上的 PrivBar — 可以显示当前权限级别的 IE/Explorer 工具栏,网址为 http://blogs.msdn.com/aaron_margosis/archive/2004/07/24/195350.aspx。

PolicyMaker

Desktop Standard 中的 PolicyMaker 由一套实用工具组成,这些实用工具扩展了组策略的功能,以在分布式网络中使用 LUA 方法。PolicyMaker 套件还包括检查和修复程序兼容性问题的工具。实现 LUA 方法的最重要的工具包括 PolicyMaker Standard Edition、PolicyMaker Application Security 和 PolicyMaker Software Update。

对 LUA 方法具有特殊意义的是 PolicyMaker Application Security,它使网络管理员可以为各个程序附加权限级别。网络管理员选择程序,然后在该程序启动时从进程令牌中删除安全组。此限制随后通过组策略进行传播。有关 PolicyMaker 的详细信息,请参阅 Desktop Standard 网站上的 PolicyMaker 概述,网址为 www.desktopstandard.com/PolicyMaker.aspx。

应用程序兼容性工具包

Microsoft Windows 应用程序兼容性工具包 (ACT) 是工具和文档的集合,可协助 IT 专业人士和开发人员实现与 Windows 操作系统之间的最高级别的应用程序兼容性。这些工具包括:

应用程序分析器。此工具可简化应用程序清单和兼容性测试。
兼容性管理器。此数据库列出支持 Windows 中过期程序所需的兼容性修复程序。
Internet Explorer 兼容性评估器。此工具提供有关 Internet Explorer 的详细日志,记录与此浏览器相关的应用程序兼容性问题。

兼容性管理器中包括开发人员可在自定义应用程序的开发阶段用来检查用户权限问题的工具。ACT 能够生成管理员可部署到用户的计算机的兼容性修复程序。该兼容性修复程序通过将应用程序调用重定向到受限用户具有读写权限的位置,使程序可以在 LUA 模式下运行。有关 ACT 的详细信息,请参阅 Windows 应用程序兼容性,网址为 www.microsoft.com/technet/prodtechnol/windows/appcompatibility/default.mspx。

RegMon 和 FileMon

RegMon 和 FileMon 是来自著名的 Sysinternals 网站的两个实用工具。RegMon 实时显示注册表访问活动,列出应用程序对注册表进行的所有调用,并记录结果。通过此工具可以得知应用程序何时无法访问注册表项。同样,FileMon 实时显示文件系统活动,列出应用程序进行的所有系统调用,并注册结果。

RegMon 和 FileMon 使管理员可以在 LUA 环境下测试应用程序,并确定应用程序对注册表或文件系统所进行的失败的调用。管理员然后可以通过更改文件系统或注册表项权限等方法来解决该失败。组策略可将这些权限更改传播到多台计算机。有关这些实用工具的详细信息,请参阅 Sysinternals 网站,网址为 www.sysinternals.com。

系统管理服务器

Microsoft Systems Management Server (SMS) 2003 是功能完善的桌面管理系统,为大中型组织提供管理集中式网络或分布式网络的服务。这些管理服务包括安装软件和安全更新。

SMS 可以安装软件和安全更新而不要求用户以管理权利登录,它用这种功能来提供对 LUA 方法的支持。有关 SMS 的详细信息,请参阅 Systems Management Server 2003 SP1 产品概述,网址为 www.microsoft.com/china/smserver/evaluation/overview/default.mspx。

限制管理凭据

如果组织无法完全实现 LUA 方法,则可以确保访问网络资源的所有程序始终以受限用户权利运行,以此来减轻以管理权利运行程序所带来的风险。虽然这种方法不符合最小特权原则,但它确实提供一些好处,而且比允许每个人都以管理权利运行所有程序要好得多。

若要在用户以管理权利登录时提供有效的安全性,您将需要:

部署能够将以管理员身份运行程序的风险降到最低的工具
确保面向 Internet 的程序,如电子邮件、浏览器和即时消息客户端等,始终以受限用户权利运行。允许此类程序以管理权利运行,是使组织遭受恶意软件侵袭的最常见方式。
监视计算机未经批准就用于执行管理功能的情况。有关安全监视的详细信息,请参阅安全监视和攻击检测规划指南,网址为 www.microsoft.com/china/technet/security/topics/
auditingandmonitoring/securitymonitoring/default.mspx。

以下工具可帮助将用户以管理权利登录时计算机遭到破坏的风险降到最低。此外,“以受限用户身份登录”一节中的某些工具也可应用于此情况。

Secondary Logon 服务
软件限制策略
DropMyRights

注意 Microsoft 不支持 DropMyRights,且不对此程序的适用性做任何保证。使用此程序的风险完全由您自己承担。

Secondary Logon 服务

Secondary Logon 服务提供以特权较低的帐户运行程序的选项。例如,在 Windows XP SP2 中,用户的 Internet Explorer 桌面图标可替换为调用“运行身份”对话框的版本,该对话框随后显示“保护我的计算机和数据不受未授权程序的活动影响”选项。此选项可禁用用户的访问令牌中的安全标识符 (SID),这同本节稍后讲述的 DropMyRights 工具类似。

软件限制策略

软件限制策略是组策略的组成部分,提供管理未知或不受信任软件的功能。软件限制策略可将以下三种可能设置中的一种应用到程序。这三种设置分别是:

不受限的
不允许的
基本用户

注意 默认情况下,只有“不受限的”和“不允许的”设置可见。若要查看“基本用户”设置,必须编辑注册表项。有关详细信息,请参阅以管理员身份安全地浏览网页并阅读电子邮件,第 2 部分,网址为 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncode/html/secure01182005.asp。

简单地说,不受限的程序可以无障碍运行,不允许的程序不能运行,而应用了“基本用户”设置的程序只能以受限用户权利运行。例如,使用此方法可配置始终以受限用户身份运行 Internet Explorer 的软件限制策略。

软件限制策略还可阻止从特定位置(如 Internet Explorer 临时文件文件夹)执行恶意软件。软件限制路径规则可禁止任何试图从临时 Internet 文件文件夹运行的程序。组策略可将此规则应用到域中的所有计算机。

有关软件限制策略的详细信息,请参阅使用软件限制策略阻止未经授权的软件,网址为 www.microsoft.com/technet/prodtechnol/winxppro/maintain/rstrplcy.mspx。

DropMyRights

DropMyRights 禁用 SID 并从用户的访问令牌中删除特权,然后使用此受限令牌启动指定的程序。DropMyRights 可使用户以管理权利登录,然后以下列三种特权级别之一运行程序:

普通
受限制
不受信任

注意 “普通”特权级别对应于受限用户帐户。“受限制”级别的限制性更强,因为增加了对访问令牌的 SID 的限制。“不受信任”级别只有最小访问权限,大多数应用程序在此级别下都不能正常运行。

例如,具有管理特权的用户可能需要浏览网站。用户可从调用 DropMyRights 的快捷方式运行 Internet Explorer,该快捷方式将指定程序以受限用户身份运行。此 Internet Explorer 实例在客户端计算机上具有最小权限,这样可极大地降低恶意程序安装或运行的可能性。

有关 DropMyRights 的详细信息,请参阅 以管理员身份安全地浏览网页并阅读电子邮件,网址为 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncode/html/secure11152004.asp。

有关以受限用户身份运行 Internet Explorer 的影响的详细信息,请参阅 以受限用户身份运行 –“保护我的计算机”选项是什么意思?,网址为 http://blogs.msdn.com/aaron_margosis/archive/2004/09/10/227727.aspx

未来发展

Windows Vista 包含许多将增强用户帐户保护的功能。Windows Vista 使用户能够使用受限用户帐户高效工作,通过 Windows Vista 认证的程序可在受限用户帐户下顺利运行。当较旧程序试图写入注册表的受保护区域(如 HKEY_LOCAL_MACHINE 部分)时,Windows Vista 会将这些写入操作重定向到 HKEY_CURRENT_USER 部分。但是,随着供应商更新他们的程序并使这些程序通过 Windows Vista 的认证,在 LUA 方法下进行操作将成为常见做法。

Windows Vista 还将改进可用性。如果用户试图执行需要管理权利才能进行的更改,Vista 将自动提示用户输入管理凭据。

加强了对用户帐户的保护只是 Windows Vista 中安全性方面的主要改进之一。当组织升级到 Windows Vista 后,恶意软件利用管理员级帐户的机会将会减少。有关 Windows Vista 中用户帐户保护的详细信息,请参阅 Windows Vista 网站,网址为 www.microsoft.com/china/technet/prodtechnol/windowsvista/default.mspx。

总结

联网计算机所面临的各种威胁不断增多,这要求各种规模的组织实现纵深防御策略。在运行 Windows XP 的计算机上实现 LUA 方法是此策略的重要组成部分。

LUA 方法抵制许多组织通过本地 Administrators 组成员身份将管理权利赋予客户端计算机用户的倾向。本白皮书强调将管理权利赋予所有用户的内在风险,因为这样做会将管理特权赋予用户运行的所有程序。面向 Internet 的程序,如浏览器、电子邮件读取程序和即时消息客户端通常不应以管理权利运行,这一点尤为重要,因为此配置使客户端计算机更容易受到攻击。

现在重新回到本白皮书开头所述的例子,如果组织已经实现了 LUA 方法,则那个主管会以受限用户身份而非管理员身份浏览那个已遭破坏的网站。因而,恶意软件就不可能感染他的便携式计算机,这样,他就能够为客户演示他的重量级销售演示文稿,从而赢得金额可观的订单。

最后,LUA 方法本身不能构成解决方案,它必须与其他安全防御措施集成。这些防御措施包括用户意识、外围设备和主机防火墙、定期安全更新和检测恶意软件的最新扫描程序。

资源

有关在 Windows XP 中使用 LUA 方法的详细信息,请访问以下资源:

Aaron Margosis 的网络日志,网址为 http://blogs.msdn.com/aaron_margosis
Michael Howard 的网络日志,网址为 http://blogs.msdn.com/michael_howard
nonadmin 网站,网址为 http://nonadmin.editme.com
管理员帐户安全规划指南,网址为 www.microsoft.com/china/technet/security/topics/serversecurity/administratoraccounts/default.mspx
TechNet 上的 Windows XP 安全与管理新闻组,网址为 www.microsoft.com/technet/community/newsgroups/dgbrowser/en-us/default.mspx?dg=microsoft.public.windowsxp.security_admin。
TechNet Webcast:受限的用户访问:利弊和危害(级别 300),网址为 http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032278618&EventCategory=5&culture=en-US&CountryCode=US
TechNet Webcast:以最小特权运行 Windows 的提示和技巧(级别 300),网址为 http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032274954&EventCategory=5&culture=en-US&CountryCode=US
Microsoft 安全开发人员中心,网址为 http://msdn.microsoft.com/security/default.aspx
开发人员开发最小权限环境中应用程序的最佳实践和准则白皮书,网址为 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/AccProtVista.asp
以非管理权限在 Visual Studio .NET 中开发软件的文章,网址为 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/tchDevelopingSoftwareInVisualStudioNETWithNon-AdministrativePrivileges.asp
Michael Howard 撰写的《编写安全代码,第二版》(Writing Secure Code, Second Edition),网址为 www.microsoft.com/MSPress/books/5957.asp
如何在 Windows XP 中解决程序兼容性的问题的文章,网址为 www.microsoft.com/technet/prodtechnol/winxppro/support/troubleshoot.mspx
美国国防部可信计算机系统评估标准(橙皮书),网址为 www.radium.ncsc.mil/tpep/library/rainbow/5200.28-STD.html。

鸣谢

Microsoft 安全和遵守法规解决方案 (MSSC) 组衷心感谢撰写《将最小特权原则应用到 Windows XP 上的用户帐户》的小组。以下人员或直接负责编写、开发和测试此解决方案,或对此解决方案的编写、开发和测试提供了极大帮助。

作者

Anthony Steven,Content Master Ltd

编者

Mike Danseglio

测试人员

Gaurav Singh Bora,Infosys Technologies

Mehul Mediwala,Infosys Technologies

编辑

Jennifer Kerns,Wadeware

John Cobb,Volt Information Sciences

项目经理

Tom Cloward

发布经理

Flicka Crandell

撰稿人

Tony Bailey

Darren Canavor

Karl Grunwald

Kelly Hengesteg

Karina Larson,Volt Information Sciences

Chrissy Lewis,Siemens Business Services, Inc.

David Mowers

Jeff Newfeld

Bomani Siwatu

Stacy Tsurusaki,Volt Information Sciences

David Visintainer,Volt Information Sciences

审校

Bob Blank,Target Corporation

Jeremy Brayton,独立评论家

Derick Campbell

Chase Carpenter

Romulo A. Ceccon,Dataprom

Matt Clapham

Chris Corio

Greg Cottingham

John Czernuszka

Michael Dragone,Titleserv, Inc

Dana Epp,独立评论家

Stephen Friedl,Microsoft 安全方面的 MVP

Guido Grillenmeier,Hewlett-Packard

Michael Harradon,Netivity Solutions

Robert Hurlbut,Hurlbut Consulting, Inc

Mark Kradel

Jamie Laflen

Alex Lee,Sprint Nextel Corporation

Kevin Lundy,CAE, Inc

Tim C. MalcomVetter,Truman Medical Centers

Aaron Margosis

Brian Marranzini

David McClure,Siemens Medical Solutions

Don McGowan

Michael Miller,Media General, Inc

Charles J. Palmer,独立评论家

Keith Pawson,独立评论家

Brian A. Reiter,WolfeReiter, LLC

Michael Rickard,Bristol University(布里斯托大学)

John Robbins,Wintellect

Alex Rublowsky

Mike Smith-Lonergan

Mike Sorsen,Edward Jones

Didier Stevens,Contraste Europe

Eric Wood

Martin Zugec,独立评论家

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *