Безопасный способ выполнить других людей кодирует (играют в песочнице) на моем сервере?

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

После создания проекта Cordova с нуля, внутри config.xml вы найдете следующую строку:

<content src="index.html" />

Просто замените index.html сайтом, на который вы хотите перенаправить приложение. Например:

<content src="http://www.google.com/" />

Я не уверен, делает ли это окончательное приложение небезопасным, но это работает. Наконец, я могу легко встроить любой сайт в приложение Cordova и создать из него APK.

20
задан amitkaz 27 April 2009 в 09:09
поделиться

8 ответов

  1. Запуск под непривилегированным пользователем все еще позволяет локальному злоумышленнику использовать уязвимости для повышения привилегий .
  2. Разрешение на выполнение кода в ВМ также может быть небезопасным; злоумышленник может получить доступ к хост-системе, как показал недавний отчет об уязвимости VMWare .

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

3
ответ дан 30 November 2019 в 00:09
поделиться

Чтение страницы codepad.org/about может дать вам несколько интересных идей.

http://codepad.org/about

8
ответ дан 30 November 2019 в 00:09
поделиться

chroot , тюрьма , контейнер , VServer / OpenVZ / и т. Д., как правило, более безопасны, чем для непривилегированного пользователя, но легче, чем полная виртуализация ОС.

Кроме того, для Java вы можете доверять встроенной изолированной среде JVM, а также для компиляции C ++, NaCl утверждает, что он может быть в песочнице для кода x86.

Но, как говорится в ответе Шекера, доказано, что возможно нанести злонамеренный ущерб почти из любой «песочницы» в прошлом, и я ожидаю, что будут постоянно обнаруживаться новые дыры (и, надеюсь, исправлено) в будущем. Вы действительно хотите использовать ненадежный код?

7
ответ дан 30 November 2019 в 00:09
поделиться

Посетите ulimit и его друзей, чтобы узнать, как ограничить возможности обездоленного пользователя DOS-машины.

1
ответ дан 30 November 2019 в 00:09
поделиться

Чтобы ограничить ЦП и память, вы хотите установить ограничения для групп процессов (ограничения ресурсов POSIX применяются только к отдельным процессам). Вы можете сделать это с помощью cgroups.

Например, чтобы ограничить запуск памяти путем монтирования файловой системы cgroups памяти:

# mount cgroup -t cgroup -o memory / cgroups / memory

Затем создайте новую под- каталог для каждой группы, например

# mkdir /cgroups/memory/my-users

Поместите процессы, которые вы хотите ограничить (процесс с PID "1234" здесь) в эту группу:

# cd /cgroups/memory/my-users
# echo 1234 >> tasks

Установите общий предел памяти для группы:

# echo 1000000> memory.limit_in_bytes

Если процессы в группе разветвляются дочерними процессами, они также будут в группе.

Вышеупомянутая группа устанавливает предел резидентной памяти (т. Е. Ограниченные процессы начнут менять местами, а не использовать больше памяти). Другие cgroups позволяют ограничивать другие вещи,

14
ответ дан 30 November 2019 в 00:09
поделиться

Не уверен, сколько усилий вы хотите вложить в эту штуку, но можете ли вы запустить Xen как веб-хосты VPS?

http://www.xen.org/

Это позволит получить полный root-доступ к их небольшому участку сервера без ущерба для других пользователей или базовой системы.

0
ответ дан 30 November 2019 в 00:09
поделиться

Try learning a little about setting up policies for SELinux. If you're running a Red Hat box, you're good to go since they package it into the default distro.

This will be useful if you know the things to which the code should not have access. Or you can do the opposite, and only grant access to certain things.

However, those policies are complicated, and may require more investment in time than you may wish to put forth.

1
ответ дан 30 November 2019 в 00:09
поделиться

Использовать Ideone API - самый простой способ.

1
ответ дан 30 November 2019 в 00:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: