В настоящее время я начинаю проект по оценке ненадежных программ (студенческих заданий) в безопасной среде песочницы. Основная идея заключается в создании веб-приложения для GlassFish и Java-оболочки вокруг lxc-utils для управления контейнерами LXC. У него будет очередь ожидающих программ, а оболочка Java будет поддерживать фиксированное число (пул) контейнеров LXC, назначая каждой программе один (неиспользуемый) контейнер.
Каждый контейнер должен быть защищен с помощью SELinux для защиты хост-системы.
Мой вопрос: хорошая идея - создать такой механизм для среды песочницы или есть более подходящее решение этой проблемы? Это должно быть легко и безопасно против студенческого творчества.
Для запуска ненадежных программ пространства имен Linux по-прежнему являются лучшим решением. Его проще настроить, чем KVM, и он требует меньше ресурсов. Вы можете попробовать LXC, однако LXC был построен как более универсальная песочница для запуска полных образов дистрибутива Linux. На ум приходят две другие песочницы пространства имен Linux:
источник