目的是防止用户在终端服务器上运行不需要的程序。
我已经阅读了许多来自Microsoft和其他公司的文章,它们说新的Applocker功能比旧的软件限制策略好100%,建议将其替换为旧的软件限制策略。
除了内核模式执行之外,我不确定要了解Applocker的真正优势。它的大多数功能都可以通过软件限制政策进行复制。
同时,它还有一个BIG缺点,使它变得毫无用处:它不可扩展,并且您不能添加要限制的自定义文件扩展名。
与SRP相比,Applocker有哪些优势?对于软件控制,您有何建议?
目的是防止用户在终端服务器上运行不需要的程序。
我已经阅读了许多来自Microsoft和其他公司的文章,它们说新的Applocker功能比旧的软件限制策略好100%,建议将其替换为旧的软件限制策略。
除了内核模式执行之外,我不确定要了解Applocker的真正优势。它的大多数功能都可以通过软件限制政策进行复制。
同时,它还有一个BIG缺点,使它变得毫无用处:它不可扩展,并且您不能添加要限制的自定义文件扩展名。
与SRP相比,Applocker有哪些优势?对于软件控制,您有何建议?
Answers:
由于Windows 7 Enterprise / Ultimate引入了AppLocker ,因此Microsoft不赞成使用“软件限制策略”(technet有效地声称不支持SRP)。
实际上,SRP对于误报和误报都有一定的陷阱。AppLocker的优点是仍在积极地维护和支持。如果选择了AppLocker,那么在考虑了您的时间和所承担的风险之后,它可能是更便宜的选择。也可能有合适的第三方替代方案(但此问题未包括该选项:)。
希望您在陷入SRP的陷阱之前能完全理解</sarcasm>
。VadimsPodāns在一篇不错的安全文章中对其中一些进行了描述。
默认情况下,\Windows
允许从文件夹执行。用户可以写一些子文件夹。Applocker相同,但是至少官方文档中提到了此限制。
编辑:“要枚举与用户写访问权限的所有文件夹,您可以使用例如,Sysinternals包中的AccessEnum实用程序。” (或AccessChk)。
从技术上讲,该文档还警告您不要覆盖默认规则。编辑:NSA文档提供了16个使用SRP列入黑名单的文件夹示例,尽管注册表路径规则错误地使用了反斜杠,因此必须更正(请参阅下面的注册表路径中的要点),并警告常见的超宽带黑名单条目。
显而易见的问题是,为什么我们不仔细将其下的单个路径列入白名单\Windows
。(包括\Windows\*.exe
旧版System32\*.exe
等)。我在任何地方都没有注意到任何答案:(。
使用诸如的环境变量%systemroot%
,用户可以通过清除环境变量来绕过SRP。编辑:建议的默认值中不使用这些。但是,它们可能很吸引人。此脚枪在AppLocker中已修复,因为它从不查看环境变量。
\Program Files
在现代64位安装中使用两种不同的设置。当使用更安全的“注册表路径”解决此问题时,有随机情况下的虚假拒绝报告,这些错误很容易在测试中遗漏。例如,请参见SpiceWorks SRP howto上的评论。编辑:这与从注册表的WOW6432Node读取相关路径的32位应用程序有关:解决方案是将这两个路径都添加到SRP,以允许所有程序在32位和64位计算机上正常运行,无论是否从x64或x86主机进程:%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir (x86)%
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramW6432Dir%
wscript /e
...或可能在嵌入式脚本参数中填充了足够的shellcode等。*.Extension
,而没有发出警告。因此,您不能相信官方文档,现在似乎不太可能修复。将软件列入白名单可能是非常强大的防御措施。如果我们愤世嫉俗:这正是Microsoft弃用价格较低的版本并发明更复杂的版本的原因。
也许没有其他选择可用(包括第三方解决方案)。然后,务实的方法是尝试尽可能简单地配置SRP。将其视为具有已知漏洞的额外防御层。匹配以上陷阱:
%systemroot%
。\Program Files\
现代64位计算机上都允许两个目录。您需要\Program Files\
在64位计算机上添加的额外“注册表路径” 为%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir (x86)%
和%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramW6432Dir%
。\
与forwardslashes /
(例如%HKEY_LOCAL_MACHINE\Software\CompanyName\CustomApps%App/Bin/start.exe
)\\%USERDNSDOMAIN%\Sysvol\
。(先看点2,然后再看点6)。对我来说,最大的好处是能够将发布者已签名的可执行文件列入白名单。看看这个http://technet.microsoft.com/en-us/library/ee460943(v=ws.10).aspx
我在公司内部使用Applocker。我们使用的策略是:拒绝所有内容作为基线(实际上:Applocker默认设置),然后执行建议的操作:制定仅允许签名应用程序(办公室,adobe,wintools,ax等)的规则。大多数情况下,也许所有恶意软件都是未经签名的软件,所以将无法执行。几乎不需要维护。我只需要允许3个额外的旧版应用程序即可。
此外,我无法确认不能使用UNC路径。在某些额外的安全拒绝规则中,我成功使用了UNC路径。陷阱在于使用环境变量:它们不适用于Applocker。使用*通配符。我在Windows 2008 R2和Windows 2012 R2上使用它。
我非常喜欢:性能几乎没有下降。如文档所述:Applocker依赖于Application Identity Service(确保它自动启动)。