目标是防止用户在terminal服务器上运行有害程序。
我已经阅读了许多微软和其他人的文章,说新的Applockerfunction比旧的软件限制策略要好100%,build议作为后者的替代。
除了内核模式执行之外,我不确定要理解Applocker的真正优点。 它的大部分function可以通过软件限制策略进行复制。
在同样的情况下,它有一个大的缺点,使它非常无用:它是不可扩展的,你不能添加自定义的文件扩展名,你想限制。
Applocker相对于SRP有什么优势?你会推荐什么软件控制?
由于Windows 7企业版/旗舰版引入了AppLocker,软件限制策略由微软( technet有效地声称SRP不受支持 )所弃用。
在实践中,SRP有一定的缺陷,既有假阴性又有假阳性。 AppLocker的优势在于它仍然得到积极的维护和支持。 如果AppLocker是一个选项,那么它可能是更便宜的 – 考虑到你的时间和风险。 也有可能有一个合适的第三方select(但这个问题不包括该选项:)。
希望在你陷入其中之前,你可以对SRP的陷阱有完美的了解</sarcasm> 。 其中一些在VadimsPodāns的一篇很好的安全文章中有描述。
默认情况下,允许从\Windows文件夹执行。 一些子文件夹可以由用户写入。 Applocker是一样的,但至less官方文档提到了这个限制 。
编辑: “ 枚举与用户写入访问的所有文件夹,您可以使用,例如Sysinternals包中的AccessEnum实用程序。 (或AccessChk )。
从技术上说,文档还提醒您不要覆盖默认规则 。 编辑:虽然registrypath规则不正确地使用反斜杠,所以必须纠正(请参阅下面的registrypath上的点),并警告关于常见的广泛的黑名单条目,NSA文档提供了16个文件夹与SRP黑名单的示例 。
显而易见的问题是,为什么我们不在\Windows下仔细列出单个path呢? (包括\Windows\*.exe , System32\*.exe等)。 我没有注意到这个地方有任何答案:(。
使用像%systemroot%这样的环境variables,可以通过清除环境variables来绕过SRP。 编辑:这些不使用build议的默认值。 但是,他们可能会使用诱人。 这个footgun在AppLocker中是固定的,因为它从不查看环境variables。
\Program Files 。 当使用更安全的“registrypath”来解决这个问题时,在随机情况下会有错误的拒绝报告,这在testing中很容易被忽略。 例如见SpiceWorks SRP howto的评论。 编辑:这是32位应用程序从WOW6432Node的registry中读取相关的path:解决scheme是将这两个path添加到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 ,没有任何警告。 所以你不能相信官方的文件 ,现在似乎不太可能得到修复。 软件白名单可能是一个非常强大的防御。 如果我们得到愤世嫉俗的话:这就是为什么微软弃用价格较低的版本和发明更复杂的版本。
也许没有其他select可用(包括第三方解决scheme)。 那么一个实用的方法就是尽可能简单地尝试configurationSRP。 把它看作是一个额外的防御层,有已知的漏洞。 匹配上面的陷阱:
%systemroot% 。 \Program Files\目录。 在%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir (x86)%和%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramW6432Dir% 。 %HKEY_LOCAL_MACHINE\Software\CompanyName\CustomApps%App/Bin/start.exe )replace任何进一步的反斜杠\ \\%USERDNSDOMAIN%\Sysvol\ 。 (见点#2,叹气,然后看点#6)。 我同意SRP具有AppLocker可以从中受益的一些附加function。
这就是说,我看到了AppLocker的巨大好处( 如此比较所logging):
对我来说,最大的好处是能够将出版商签名的可执行文件列入白名单。 看看这个http://technet.microsoft.com/en-us/library/ee460943(v=ws.10).aspx
微软公布的AppLocker没有什么好处,公然谎言:1.具有SAFER规则的GPO可以附加到用户和用户组; 2. Windows Vista引入了多个本地GPO,这些GPO在没有域控制器的情况下达到相同的结果; 3.通过扩展日志loggingfunction可以使审计模式无效。
我在公司内部使用Applocker。 我们使用的策略是:拒绝一切作为基准(实际上:Applocker默认),然后做所build议的:做一个规则,只允许签名的应用程序(办公室,土坯,wintools,斧头等)。 大多数,也许所有的恶意软件都是没有签名的软件,所以不会执行。 这几乎没有任何维修。 我只需要允许3个额外的传统应用程序。
此外,我不能确认一个不能使用UNCpath。 在一些额外的安全拒绝规则中,我使用UNCpath成功。 陷阱是使用环境variables:它们不适用于Applocker。 使用*通配符。 我在Windows 2008 R2和Windows 2012 R2上使用它。
我非常喜欢它,几乎没有任何性能下降。 正如文档所述:Applocker依赖于应用程序标识服务(确保它自动启动)。