Linux-исполняемая песочница?

Я запускаю службу, которая позволяет пользователям отправлять код, который компилируется и выполняется на сервере.

На данный момент я использую Moe, и пока он отлично работает для кода C и C ++, у меня были некоторые странные проблемы с другими языками, такими как Perl и PHP, на 64-битной основе.

Есть ли безопасный способ запуска, возможно, небезопасного кода, который работает на 64-битной основе?

В прошлом у меня был успех с использованием всех видов языков, таких как Perl, Lua и PHP, в 32-битных системах с Moe и моей собственной песочницей на основе ptrace, но ни одна из них не работает отлично на 64-битной основе.

  • Уязвимость Ghost - CVE-2015-0235
  • Как перечислить все открытые порты после блокировки портов с помощью iptables?
  • Не могу понять результат чкротткита
  • Может ли seccomp использоваться для обеспечения детерминированного исполнения?
  • Как ограничить некоторые команды для администратора в Linux (CentOS)
  • Частная VLAN под Linux?
  • Смутно о строфе конфигурации PAM и ролях параметров флага управления
  • Является ли мой Linux-ящик уязвимым для атак Shell-Shock? Как я могу это исправить?
  • 3 Solutions collect form web for “Linux-исполняемая песочница?”

    Надлежащая подсистема безопасности, такая как SELinux, позволит вам запускать исполняемый файл с ограниченными возможностями или без него, включая дисковые, сетевые и пользовательские интерфейсы. ulimit позаботится обо всем остальном.

    Возможно, вам стоит рассмотреть такие варианты, как:

    • Контрольные группы
    • Seccomp
    • и это модификация seccomp-nurse
    • использование LD_PRELOAD (не очень безопасно, хотя ..)
    • systrace (кажется, заброшено :()
    • плескать
    • SUBTERFUGUE

    Они отличаются возможностями и производительностью, поэтому вы должны сделать небольшое исследование, чтобы узнать, что лучше для вашего дела.

    Как и выше, SELinux, Tomoyo или AppArmour. Сделайте поиск MAC (Обязательный контроль доступа).

    Linux и Unix - лучшая ОС в мире.