通过自动创建和限制用户帐户在Windows 2008上构建简单的安全沙箱?

问题描述:

我想建立托管服务的应用相当简单的安全沙箱 - 主要目标是这样的:通过自动创建和限制用户帐户在Windows 2008上构建简单的安全沙箱?

  1. 应用程序“中的”沙箱不能可执行文件运行目录以外的任何安装在系统上运行in。
  2. 拒绝访问系统(注册表访问等)。
  3. 明确拒绝访问指定目录之外的文件系统(甚至是只读)。它将是一个在沙箱内运行的.NET应用程序,所以我不确定这是否会偶然否认运行时&或核心依赖关系?

我目前的计划是使用System.DirectoryServices命名空间通过建立在.NET沙箱:

  • 每个启动的实例
  • 获得它创建一个新的半永久性用户帐户从客户类别的用户拒绝广泛访问系统
  • 然后具体授予读取&写访问有限数量的应用程序应运行的目录。

任何人都可以看到这个计划中的任何特定缺陷?用户帐户安全性是否足以满足上述要求?我们现在正在使用一个商业软件来处理这个问题(它在沙箱中更全面);但它对于我们的业务来说自动化程度不够,因此希望将其构建到我们的核心自动化软件中。

这不是一个真正的沙盒 - 如果用户可以在服务器上使用访客权限运行恶意软件或更改服务器上的任何内容 - 他最终可能会接管服务器。我不是在谈论普通应用程序,而是旨在打破你的“沙盒”的应用程序。如果你想要一个好的沙盒,我想你应该使用vmware(或者类似的)(不能访问主机)或者使用像这样的第三方,Sandboxie这是一个构建和测试足够的时间,并且我希望有足够的安全专家验证它的安全性。

您创建的沙箱的主要用途是什么?

与vmware相似的解决方案 - 应用程序的过程在客户机的上下文中运行,并且没有主机,因此以这种方式访问​​主机要困难得多。使用

光滑OS的设置(如胜利2K8服务器核心),您可以承载它们的单一win2k8的机器上许多来宾操作系统...

+0

一个评论 - 一切都是易碎(VMware的为好)这个差仅为您需要花费的努力量。 – Dani 2009-12-08 15:52:55

+0

好吧,尽管恶意软件可以在它可以访问的区域内运行,但它不能在服务器重新启动后自行设置为自动重启。 (例如,无法写入注册表或启动目录) 我可能需要有专业知识的人告诉我这是否可以直接利用 - 或者安全漏洞是否需要在操作系统级别进行额外的利用。Sandboxie实际上就是我们现在正在使用的 - 但它至少不是自动化的;这意味着我们不能将其放入我们的部署脚本中(因此需要繁琐的手动工作)。 – 2009-12-10 10:19:09

+0

开发过程 - 获取访客访问 - >然后升级到特权用户 - >比破解系统。你不能假定客人将无法更改注册表 - 在这种攻击的Windows服务器历史记录中的很多例子 - 在你的情况下 - 你给予访客访问权限,现在攻击者需要的只是高程代码/ exe /脚本无论什么......我猜是存在的地方。 – Dani 2009-12-10 17:42:32