

令人眼前一亮的绚丽界面和新颖图标只是姗姗来迟的Windows Vista闪亮登场的开始。安全性和性能的提高才是她真正的优势所在。Vista将是近二十年来最安全、速度最快和最可靠的Windows版本。伴随着长达四年的开发周期,在今年的11月她终于要正式发布了,作为Windows XP的继任者,Vista在安全性和性能上已有长足的进步。
我认为更高的安全性将会是很多Windows用户选择立刻升级他们操作系统最主要的原因之一。Vista正是迎接21世纪各种网络风险挑战的最佳工具,而在此战役中XP显然已经无法应付日新月异的挑战。利用Superfetch内存管理器和通过外部存储设备(例如:USB 2.0)的方法扩展虚拟内存,Vista实现了更快的启动和关机速度,更快的应用程序加载和运行。新颖的Aero界面利用透明、阴影、色彩将信息更加逼真和更富吸引力的传递给用户,每一个图标,每个框架,每个对话框都闪耀着Vista的光彩。(我不得不承认,在吸引用户眼球方面,微软公司这次终于可以说和Mac OS X打了个平手。)新版的家长控制功能解决了那些鼓励儿童使用计算机,而又担心遭受不良内容影响的困扰。
在最近两三年以来,作为企业的系统管理员,每天在我们的工作和生活中就充满了不确定性。幸福时光应该可以追溯到五年前,大约在2000年很多企业开始从Windows NT 4.0迁移到Windows Server 2000,进行了全新的域管理,管理员再也不用每天焦头烂额的管理分布在每个Windows 98上的用户密码和文件共享了。但紧接着的来自网络的威胁日甚一日,于是我们立刻又部署了网关反病毒软件和防火墙,保护企业不受外来病毒和木马的威胁。然而谁也没有想到,暂时防止了外部威胁,竟然又会祸起萧墙,内部用户肆意安装软件,包括QQ、传奇等网络游戏、各种暗藏的木马程序;还有大量无辜用户在浏览某些网站或者打开某些附件之后,IE浏览器和计算机就再也“不属于”他们了;更有甚者,一些内部“电脑爱好者”还搭设IIS、SQL服务器等谓是各种各样应用。在深入研究对策之后,虽然我们不得不给用户以本地管理员的权限,当时仍然可以利用组策略禁止安装那些最危险、最流行的程序。这些措施在短时间内,似乎起到一些作用。但是事实上,管理员在与恶意软件的斗争中总是处于下风,其实这是必然,因为世界上总是先有了疾病,之后会有解药,被动防御这种方式就决定了可怜的管理员们只能永远的被动下去。
究其原因,上述问题的根源很大一部分就在于普通用户能够任意在桌面机上安装应用程序;网络恶意软件利用当前登录用户的高权限自动安装、执行任务;以及用户可以随意修改操作系统配置。结合这些情况和去年12月发布的Windows Vista Beta 2,我们进行了一些深度研究和测试。本文将主要讨论Windows Vista的UAC特性。看看UAC怎样降低恶意软件对桌面机的威胁;限制对核心硬件和软件的访问;避免具有高权限帐户在网络中的滥用。
什么是用户帐户控制
用户帐户控制(User Account Control,UAC)是在Windows Vista中应用的一套新的,用以帮助企业和组织更好的管理桌面机和防止遭受恶意软件影响的一系列基础架构和技术的总称。UAC实现了在一台Vista计算机上所有用户在运行应用程序和任务时,都使用基本用户账户(Basic User Account),它是一个受限制的,不具备管理员功能的,只能运行被授权能够运行的程序和任务。UAC还在防止未经授权的应用程序恶意在桌面机上安装和运行,以及防止基本用户无意中或者误操作修改系统配置的而为企业带来不可预知风险的行为。
Windows Vista使用了两种级别的用户:基本用户和系统管理员。基本用户使用用户账户或者用户组成员的账户运行应用程序。而系统管理员使用一个管理员账户或者管理员组成员的账户运行应用程序。当用户启动一个应用程序,该用户的访问令牌(Access Token)和它相关的管理权限都将应用在这个被运行的程序上。也就意味着一个由本地系统管理员启动的应用程序将拥有本地计算机上所有系统和资源的权力和权限。与此类似,如果一个基本用户启动了相同的应用程序,那么该程序只具备基本用户的权力权限。
在Windows Vista中,绝大多数应用程序都要求提供管理员或者基本用户的访问令牌。如果一个应用程序无法被证明是一个系统管理级别的应用程序,那么Windows Vista将默认将它作为一个基本应用程序。在一个被认为是系统管理功能的应用程序程序被启动之前,Windows Vista将要求用户确认运行该程序需要权限提升。该功能也被称为Admin Approval Mode。这个要求提升权限的提示是默认的,即使用户是本地管理员组的成员也一样,该过程被称为权限提升。这是因为即使用户是本地管理员组的成员,直到在运行需要系统管理权限的应用程序之前,他都被认为是基本用户并且只具备基本用户的权限。
通过提示用户他们即将进行的操作可能会对系统造成不利影响,能够降低企业遭受恶意软件的威胁,例如安装不明应用程序。当用户提供了相应的凭据,Windows Vista将保护管理程序免受标准应用程序的攻击。这是因为一个系统管理员需要对每个程序的安装进行批准,那么未经授权的应用程序将无法在计算机上自动安装。除此之外,标准用户也无法进行很多与系统管理相关的操作和任务。
下面我将为大家进行三个关于UAC功能的测试,如果您是微软技术的爱好者、安全构架专家、或者负责企业IT技术规划,那么不妨仔细阅读。
搭建测试环境
要搭建一个测试UAC的实验室,你需要一台运行Longhorn服务器(或者Windows Server 2003),一台运行Longhorn(或者Windows Server 2003)作为成员服务器和一台运行着Windows Vista的客户端计算机。建议将这三台计算机放置在一个隔离的网络中,使用私有IP地址,避免对企业生产系统造成任何影响。
我们将进行三种情形的测试:
l 为应用程序进行一次权限提升
l 配置应用程序自动权限提升
l 配置UAC
为应用程序进行一次权限提升
在Windows Vista中,UAC和Admin Approval Mode都是默认启用的。当UAC启用之后,本地管理员账户将作为基本用户的权限使用。也就意味着,当你作为本地管理员登录计算机,管理员的权限都是被限制的。直到你需要运行系统管理程序,需要管理任务令牌时,系统提示进行权限提升。我们的第一个测试就是为大家展示如何为一个程序或者任务一次性的提升权限。
1. 使用本地管理员的成员登录计算机
2. 运行一个需要管理令牌的程序,例如微软管理控制台(MMC)
3. 此时,Windows安全提示窗口将显示
4. 在窗口中,选择“Permit”启动微软管理控制台。如图1所示。
配置应用程序自动权限提升
这个测试与上面的情景类似,你需要为使用管理令牌的程序进行权限提升。但不同的是,本测试中,你使用这样的方法进行操作:
1. 使用本地管理员的成员登录计算机
2. 右键点击一个需要管理令牌的程序,例如Windows XP SP2安装程序
3. 选择“属性”,点击“兼容性”选项卡
4. 在权限级别中,选择“总是使用管理员身份运行该程序”, 如图2所示。
注意:如果选项“总是使用管理员身份运行该程序”不可用,那么有两种原因,要么该程序不是管理级别的应用程序,无需管理令牌即可运行;要么你没有作为管理员登录计算机。
配置UAC
在这个测试中,将为大家展示本地管理员在配置一台Windows Vista中可能执行得最多的三种任务。它们包括禁用Admin Approval Mode;安装应用程序时禁止UAC要求权限提升和修改权限提升选项。
禁用Admin Approval Mode
1. 使用管理员账户登录计算机
2. 点击“开始”*“所有程序”*“附件”*“运行”
3. 在运行窗口中输入secpol.msc
4. 在本地安全设置窗口中,展开“本地策略”*“安全选项”
5. 双击“User Account Control: Run all users, including administrators, as standard users”
6. 在弹出的窗口中选择“禁用”,如图3所示。
安装应用程序时禁止UAC要求权限提升
1. 使用管理员账户登录计算机
2. 点击“开始”*“所有程序”*“附件”*“运行”
3. 在运行窗口中输入secpol.msc
4. 在本地安全设置窗口中,展开“本地策略”*“安全选项”
5. &am, p;nb, sp; 双击“User Account Control: Elevate on application installs”
6. 在弹出的窗口中选择“禁用”,如图4所示。

修改权限提升选项
1. 使用管理员账户登录计算机
2. 点击“开始”*“所有程序”*“附件”*“运行”
3. 在运行窗口中输入secpol.msc
4. 在本地安全设置窗口中,展开“本地策略”*“安全选项”
5. 双击“User Account Control: Behavior of the elevation prompt for administrators”或者“User Account Control: Behavior of the elevation prompt for standard users”
6. 在弹出的窗口中选择下列选项之一
l 不提示
l 提示用户凭据(该设置将要求一个应用程序在提升运行之前,需要提供用户名和密码。)
l 提示用户提升(对管理员用户,这是默认选项),如图5所示。
如果您想了解Vista的UAC将怎样影响将来的企业信息安全,详细信息请访问TechNet网站:Getting Started with User Account Protection in Windows Vista Beta 1(http://go.microsoft.com/fwlink/?LinkID=56402)。此外,由于Windows Vista对管理员和基本用户的定义和限制进行了非常明晰的划分,很多第三方软件供应商(ISV)的商业应用程序可能需要进行重新编写,或者需要标记为总是以提升模式运行。更详细信息请访问MSDN网站:Developer Best Practices and Guidelines for Applications in a Least-Privileged Environment(http://go.microsoft.com/fwlink/?LinkID=56403)。
关于作者
刘海蜀,本刊特邀顾问,专家组成员,从事信息技术咨询与顾问工作,精通微软Server产品线的多个产品。
全文共64652字节