Linux 可执行沙箱?

Linux 可执行沙箱?

我正在运行一项服务,允许用户提交在服务器上编译和执行的代码。

目前我正在使用虽然它对于 C 和 C++ 代码运行良好,但我在 64 位上遇到了其他语言(如 Perl 和 PHP)的一些奇怪的问题。

有没有安全的方法来运行可能不安全的代码,但可以在 64 位上正常工作?

过去,我曾使用 Moe 和我自己的基于 ptrace 的沙箱成功地在 32 位系统上运行 Perl、Lua 和 PHP 等各种语言,但两者都不能在 64 位上完美运行。

答案1

适当的安全子系统(例如 SELinux)将允许您运行具有受限或无功能的可执行文件,包括磁盘、网络和 UI 设施。 ulimit 将处理剩下的事情。

答案2

也许您应该考虑以下选项:

它们的功能和性能各不相同,因此您应该做一些研究,找出最适合您的情况的方法。

答案3

如上所述,SELinux、Tomoyo 或 AppArmour。搜索 MAC(强制访问控制)。

相关内容