应用程序控制:强大的微软AppLocker
2009-09-12 00:00:00 来源:WEB开发网虽然说,阻止特殊应用程序在网络运行的概念并不新鲜,但是阻止的方法却一直在不断演化。在此之前,网络管理员可能会认为最好使用第三方软件来处理这个问题,然而Windows 7和Windows Server 2008 R2中AppLocker的出现为管理应用程序执行带来了更加有效的方式。AppLocker是Windows Software Restriction Policies的进化版。
阻止个别应用程序
大家会注意到,公司员工们开始使用远程桌面客户端来访问他们的家庭计算机来绕过互联网内容过滤以及打发上班时间。本文中我们将讨论如何使用AppLocker通过阻止mstsc.exe的执行让这些家伙乖乖回到工作上。
你可以通过在Windows 7开始菜单中输入gpedit.msc 来进入AppLocker,或者也可以通过在Windows Server 2008 R2中创建新的组政策对象。进入AppLocker后,浏览Computer Configuration(计算机配置), Windows Settings(Windows 设置),Security Settings(安全设置), Application Control Policies(应用程序控制政策, AppLocker。
图片看不清楚?请点击这里查看原图(大图)。
你很快会发现,当你展开左窗格的AppLocker时,会出现三个选项。这三个选项是规则集以及用于分类由AppLocker控制的文件扩展名的类型。下表中显示的是与每一个规则相关联的文件扩展名:
规则 | 文件类型 |
Executable files(可执行文件) | .exe, .com |
Scripts(脚本) | .ps1, .bat, .cmd, .vbs, .js |
Windows Installer files(Windows安装文件) | .msi, .msp |
我们将要阻止的对象就是可执行文件,那么我们就需要在可执行文件规则集中创建一条新规则,这个操作是这样进行的:右键单击Executable Rules,然后选择创建新规则(Create New Rule)。
这个时候将会弹出创建可执行规则向导,点击Next来跳过介绍内容。我们想要阻止对mstsc可执行文件的访问,所以我们要选择Deny选项。在此屏幕中你可以选择该政策适用的用户或者组。当然,我们想要确保管理员和主要用户能够在登陆到其计算机时能够访问该应用程序,因此,我们选择的政策使用对象为用户组。
在下一步骤中,将会弹出选择规则应用的主要情况的选项,主要有以下三种选项,这也是所有规则集中使用的选项:
• 发行者(Publisher) – 当选择一个条件时,这个选项是最具灵活性的,只能在由应用程序创造者签字的软件应用程序上使用
• 路径 – 该规则是为指定文件或者文件夹路径创建规则的
• 文件Hash – 这个选项最适用于应用程序为签名的时候,该规则是基于应用程序的hash来创建的。
MSTSC是一种签名应用程序,所以我们选择Publisher作为主要条件。点击下一步跳转到下一步周。点击浏览(Browse)按钮并查找你想要阻止的文件。我们的文件地址位于C:\Windows\System32\mstsc.exe。选择好文件后,屏幕上的滑动条就可以上下滑动了。对于签名应用程序,我们有几种粒度级别来支持规则。我们可以阻止来自某个发行者的所有应用程序,使用某产品名、文件名本身或者应用程序的相关版本号签名的所有应用程序。
图片看不清楚?请点击这里查看原图(大图)。
正如你所知,这些选项中存在很强的灵活性和能力。我们可以阻止由某个计算机游戏开发者设计的所有应用软件,阻止与大型病毒感染相关的文件名,或者甚至可以强迫用户保持更新软件,但却不允许他们运行某个版本号以下的应用程序。在这里,我们的目的是阻止所有mstsc.exe的运行,而不涉及版本号,所以滑动条将在文件名选项的旁边进行设置。
下一个出现的画面将允许你添加必要的特例,而最后的画面是让你为新规则命名。随着对AppLocker的不断熟悉,你会发现创建这些规则是很快的,所以最好对这些规则采用标准的命名,这样便于日后的管理和修改。为规则命名后,点击Create以完成规则创建过程。如果这是你创建的第一个规则,屏幕上将会弹出提示,要求你创建“Default Rules”来允许用户和管理员访问系统文件。这是必须的(尤其是当你运行的是Windows 7之前版本的系统的情况下),因为如果没有设置这些的话,将会阻止系统开机。点击提示信息中的“是”后,将会自动为你创建规则。
There is one final step to ensuring your rules apply properly. The Application Identity service must be enabled and set to run automatically so that AppLocker can properly identify applications. You can do this by typing services.msc into the Start Menu search box, locating the Application Identity service, double clicking it, clicking Start, and choosing Automatic in the Startup Type field. After a final reboot of the system your users will be presented with this lovely message should they attempt to run mstsc.exe
要确保新规则能够正常运用,还需要进行最后一个步骤。应用程序身份服务必须被启用,并且设置为自动运行,这样AppLocker才会鉴定应用程序。你可以这样操作,在开始菜单的搜索栏中输入services.msc,找出Application身份服务,双击它,点击Start,然后在 Startup Type(启动类型)中选择自动。进行最后一次系统重启后,我们就完成了阻止mstsc.exe的操作,当用户启动mstsc.exe时就会弹出以下提示信息。
阻止所有不可信任的应用程序
在上个操作中,我们明确的知道需要阻止的应用程序类型,所以操作比较简单。那种情况比较适合用户允许访问部分系统文件的情况,但是在某些企业中,IT政策将会规定,用户不能运行任何IT部门明确规定不能使用的程序,而这种情况下,唯一有效的方法就是阻止所有不可信任的应用程序。
AppLocker可以很快速地帮我们实现这个设置。AppLocker的安全性很强,也正是因为此,当我们创建一个允许规则时,AppLocker会默认为,除了这种明确规定允许使用的应用程序外,其他所有应用程序都必须被阻止。例如,当我为C:\folder\file.exe的应用程序创建一个允许规则后,所有在C:\文件夹路径的其他应用程序都不能执行,只有file.exe能够执行。这就意味着,为了完成阻止所有不可信任应用程序的要求,我们需要做的就是为每种允许的应用程序创建允许规则。
这样,我们就需要为每种单个执行文件创建允许规则,包括那些我们已经安装的应用程序以及默认安全的Windows应用程序。所幸的是,微软公司也考虑到了这一点,AppLocker允许我们根据安装在特定工作组的应用程序自动生成规则,现在让我们开始进行设置。
如果你还没有创建默认规则以允许所有必须的系统程序运行,那么你第一步就需要创建这样的默认规则。右键单击Executable Rules,选择Create Default Rules,创建后,我们需要删除允许每个人执行C:\Program Files目录所有程序的允许规则,因为这个规则违反了我们的要求。
图片看不清楚?请点击这里查看原图(大图)。
我们的下一步骤就是自动生成允许规则。首先,需要右键单击Executable Rules然后选择Automatically Generate Executable Rules。主要有两个存储应用程序的位置:第一个就是Windows目录,由于默认规则可以允许所有用户执行该目录下的程序(并且推荐保留这个规则),我们不需要为这个文件夹创建任何允许规则。然后就是Program Files目录,在第一个对话框中选择这个文件夹。在这个的下面,你可以选择政策运用的用户组,在本文的例子中选择的是用户组。最后,你需要选择一个名字来识别这组规则,这个名字将会出现在规则描述前面的括号里。完成这些操作和,点击Next进入下一画面。
规则参数选择屏幕可以让你选择你想要创建的规则类型。首先,你将需要为所有有数字签名的文件创建发行者规则,为那些未签名的文件创建文件 hash规则。这些选项是默认设置,你当然也可以通过为类似文件分组来减少这些规则的数量。这样做当然会明显减少规则数量,但是如果你需要保持在访问控制中粒度的水平,那么我推荐你删除这个选项。点击Next来开始规则应用程序发现过程,一会儿后,画面就会显示一个对话框,在此对话框中,你可以查看创建的规则。点击Create来创建这些规则,完成操作。
DLL规则集
虽然我只列出了三个规则集,另外还有一个需要被提及。DLL规则集是用来阻止调用具体DLL文件的应用程序。这是一个先进的规则集,除非非常必要的情况下,否则不要使用。这种类型的规则也会严重影响系统性能,因为它要求AppLocker检查应用程序初始化时使用每个DLL。
默认情况下,DLL规则是没有被启用的,由于以上提及到的原因。如果你想要创建DLL规则,你可以这样操作:进入主要AppLocker配置画面,选择Configure Rule Enforcement,选择Advanced选项,勾选Enable the DLL规则选项。这样操作后,你会发现左窗格中的DLL规则与另外三个规则。
审计vs. 执行规则
到目前为止,我们创建的所有规则都是用来执行允许或者阻止应用程序使用的政策的。在某些环境中,在执行政策之前,对特定应用程序的使用进行审计,将会带来事半功倍的效果。AppLocker专门为此提供了一个审计设置,当用户允许受到AppLocker规则影响的应用程序时,关于该应用程序的信息将会添加到该AppLocker的事件日志中。该设置是根据每种规则分布设置的。
审计设置可以通过点击主要AppLocker配置屏幕中的Configure Rule Enforcement来进行配置。在这个窗口中,你可以为你想要审计的规则选择已配置的复选框,并选择Audit Only选项。该功能在判断那些应用程序应该使用政策方面很有效。
结语
能够很明显的感受到,AppLocker能够为网络带来很好的管理灵活性。使用其动态规则系统,你可以阻止不同类型的影响生产力和安全性应用程序(从游戏到恶意软件等)。与此同时,AppLocker还可以通过仅允许批准的应用程序在网络计算机中使用来执行IT可接受使用政策,Windows 7和Windows Server 2008 R2中确实有很多令人激动的新功能,不过AppLocker绝对是大家不容错过的强大功能。
更多精彩
赞助商链接