【问题标题】:Sandboxing a process in Openshift在 Openshift 中沙箱化进程
【发布时间】:2014-10-25 06:41:45
【问题描述】:

我目前正在编写一个 Web 应用程序,我必须在其中运行来自用户的不受信任的代码。我想确保这段代码不能执行任何网络或磁盘 io,除了使用标准输入和标准输出。

我希望使用 Openshift 作为我的平台来部署我的应用程序。根据我的阅读,它没有给我 root 访问权限,因为它不是一个完整的操作系统虚拟化。

有没有办法使用我在 Openshift 设备上拥有的权限对进程进行沙箱处理,限制其磁盘和网络访问?

【问题讨论】:

  • 你考虑过内核命名空间吗?
  • 我不熟悉这个。有链接吗?
  • 当然。这篇由 7 部分组成的文章非常棒:lwn.net/Articles/531114。根据您的问题,您可能对挂载和网络命名空间最感兴趣。
  • 我们实际上已经使用命名空间、cgroup 和 selinux 来限制您的应用程序的访问。应用程序开发人员无法控制其设置。

标签: linux security openshift sandbox paas


【解决方案1】:

我认为在 OpenShift online 上执行此操作的唯一方法是使用 REST api 为用户启动一个容器,将他们的代码放入其中,运行它,然后在用户完成后删除该容器。

您没有该实例的管理员权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多