【TechTarget中国原创】在上文中我们介绍了微软Windows Server 2008 R2里的新安全解决方案AppLocker,本文将接续学习如何利用AppLocker保持环境安全。
想想你环境里目前的每个代码是如何实际操作的。为了代码能运行,一些类型的执行文件必须具体化到系统上。可执行文件的有效负载完成一些常规工作。那样的工具可以运行Office应用。可以是业务应用。过一会,可以变成Solitaire的sol.exe文件。无论哪种情况,完成任务的唯一方法是运行可执行文件。
在正常环境里,任何可执行文件自动运行。这是与Windows操作系统一起设计的,启用它以维持用户可能需要运行的应用的兼容性。不过,这样的做法使得恶意软件很容易运行。
AppLocker通过在可执行文件被允许运行在系统之上之前,需要预先批准改变了这种情况。有了AppLocker,只要可执行文件试图运行,就会在预先批准列表检查。如果可执行文件位于列表上,就可以在系统上运行。如果没有,代码就不能执行。这可以是常规ESX文件,也可以是用于高安全环境的DLL文件。
很明显,维持那样的列表需要管理团队作出努力。创建和维持这样的列表需要警觉,关键确保用户不能引入不必要或者未经许可的软件进入你的域环境。AppLocker利用三种类型的规则帮助正确识别应用:
路径规则通过宿主的位置进行定义可执行文件。这个位置由具体的文件名或路径组成,或者包含通用符。例如,如果你知道你经常想要微软Word的WINWORD.EXE文件执行默认位置,你能创建一个规则允许%PROGRAMFILES%\Microsoft Office\Office12\WINWORD.EXE。
或者,你想允许这个路径里所有可执行文件运行,使用%PROGRAMFILES%\Microsoft Office\Office12\*.路径规则通用符缓解白清单的创建,但是通用符的使用会造成安全架构里明显的漏洞。
文件散列规则对路径规则进行了改进,但是失去了灵活性。有了文件散列规则,每个被允许的文件用密码写的散列必须专门进入这个规则。通过创建散列规则,你能确保恶意软件补丁文件不能运行,或者在这个位置的文件不能运行。
虽然这种方法本质上在安全方面很可靠,但是当文件由于定期更新合理变更时会有负面影响。例如,使用新路径或服务包更新WINWORD.EXE,文件需要新散列以便保留在获批准的白清单上。
发行人规则迟早派得上用场,当你应用的文件已经由于软件厂商而数字化设计后。由于过去数位标记文件的证书是证明文件真实性的方式,你可以确保这些文件来自合法的软件厂商。至于更高颗粒度,发行人规则伴随着递加佣金和用户值选项,让每个文件通过发行人、产品名字、文件名字和文件版本的组合进行批准。
AppLocker通过与组策略的整合获取集中控制功能。创建规则和交付AppLocker策略是一项任务,通过组策略管理编辑器完成,确保任何目标桌面只要接收到就强制实施策略。
虽然AppLocker已经作为一个技术,在以前以SRP的形式出现,阻碍它发展的一个问题就是如何定义哪些可执行文件应该位于白清单上。没有管理员想配置应用执行阻碍解决方案,然后很快发现他们缺失了一些关键应用。
为了解决这些问题,AppLocker的组策略向导装备有自动化生产规则的机制。另一个有用的应用是审计模式的结合,用来监控应用使用而不是实际的防止任何应用执行。编辑模式进一步确保你对哪些可执行文件进行限制做出了正确决策。
微软如今把AppLocker包含在所有Windows Server 2008 R2版本里,除了Web和Foundation Edition,还有Windows 7 Ultimate和Enterprise Editions。另一方面,如果你寻找启动迁移的原因,AppLocker能是一个有效的业务理由。