Каков лучший метод установки программ в chroot / тюрьма?

На Debian основывал систему...

Я создал минимальный chroot/jail использование сценария, подобного тому в https://github.com/pmenhart/make_chroot_jail/blob/master/make_chroot_jail.sh с целью создания тюрьмы, которая ничего не может в основном сделать кроме запущенных желаемых программ (для безопасности). Мой вопрос, после того как тюрьма была создана, что считают лучшим методом для установки программ в тюрьму? Так как тюрьма минимальна, нет никакого диспетчера пакетов такого как склонного и нет никаких инструментов сборки.

Я должен был бы установить программу в нормальную учетную запись и скопировать все необходимые файлы в chroot каталог? Если так, как я отслеживал бы все изменения, которые были внесены для знания то, что я должен сделать? Небольшая программа, такая как rkhunter, который я могу легко отслеживать, но больший, такой как MySQL я не смог бы как, будет слишком многими файлами для копирования и файлы конфигурации для изменения.

С другой стороны, существует ли способ установить минимальный диспетчер пакетов, такой, поскольку склонный, в тюрьму, установите необходимую программу и наконец удалите диспетчер пакетов?

Существует ли лучший способ сделать это, что я не знаю о?

Спасибо!

Прежде чем кто-либо предложит иначе:

  • Я знаю о дополнительной нагрузке поддержания нескольких установок chroot
  • Я знаю, что это не добавляет столько безопасности, сколько Вы надеялись бы, поскольку из неправильно настроенного chroot можно убежать. Контейнеры являются, вероятно, лучшей альтернативой.
  • Я знаю, что некоторые программы уже имеют подобную chroot встроенную функциональность, но я хочу знать общий метод установки программы.
1
задан 15 July 2015 в 09:35
1 ответ
  1. Есть несколько способов настроить chroot jail. Лично я видел более 50 различных сценариев для этого. Все тюрьмы похожи, но имеют меньшие или большие различия, поэтому нет универсального способа что-либо делать внутри них.

  2. Наиболее распространенное использование chroot-джейлов для установки программного обеспечения - это установка всего из исходников. Иногда chroot jail используются специально для установки программного обеспечения из исходного кода, избегая зависимости, установленной на локальном компьютере от пакетов (например, zlib, libpng или других распространенных библиотек).

  3. К сожалению, много разных сценариев chroot jail объединяет то, что они не используют у вас нет «режима обновления», поэтому каждый раз, когда вы хотите обновить базовые системные пакеты программного обеспечения или программное обеспечение внутри тюрьмы, вам придется заново устанавливать эту тюрьму. Это, конечно, может быть написано сценарием, но это отличается от обычного обновления пакета.

  4. Найдите технологии паравиртуализации OpenVZ или LXC. Оба они используются для создания «контейнеров» (отдельных систем с общим ядром). Оба основаны на концепции chroot, но с добавленным разделением на многие другие уровни внутри ядра.

LXC новее и современнее, однако OpenVZ обеспечивает гораздо лучшую изоляцию безопасности. И в обоих из них вы можете установить почти полную систему с менеджером пакетов, библиотеками из пакетов и т. Д., Так что вы можете обычно устанавливать и обновлять программное обеспечение, как и в вашей базовой системе.

2
ответ дан 3 December 2019 в 20:50

Теги

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