我正在运行一项服务,允许用户提交在服务器上编译和执行的代码。
目前我正在使用萌虽然它对于 C 和 C++ 代码运行良好,但我在 64 位上遇到了其他语言(如 Perl 和 PHP)的一些奇怪的问题。
有没有安全的方法来运行可能不安全的代码,但可以在 64 位上正常工作?
过去,我曾使用 Moe 和我自己的基于 ptrace 的沙箱成功地在 32 位系统上运行 Perl、Lua 和 PHP 等各种语言,但两者都不能在 64 位上完美运行。
答案1
适当的安全子系统(例如 SELinux)将允许您运行具有受限或无功能的可执行文件,包括磁盘、网络和 UI 设施。 ulimit 将处理剩下的事情。
答案2
答案3
如上所述,SELinux、Tomoyo 或 AppArmour。搜索 MAC(强制访问控制)。