Запуск сервера изнутри Chroot в Ubuntu

Из-за специфического характера приложения я думаю о запуске серверов, таких как Apache, Tomcat, из среды chroot. Используя schroot и debootstrap, я могу создать клон моей Ubuntu 10.04 (минимальная Ubuntu) внутри каталога chroot. Я установил Tomcat и Apache внутри chroot. Но как мне получить доступ к этим двум серверам?

  1. Могу ли я получить к ним доступ, как к обычному apache/tomcat, установленному на родительском сервере?
  2. Может ли родительская ОС получить доступ к apache/tomcat chroot os?

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

я хочу что-то вроде

 Internet ---> [Main host Ubuntu 10.04 Apache ----> (chroot ubuntu Tomcat)  ]

person Neo    schedule 29.01.2011    source источник


Ответы (1)


chrooting — одна из самых простых форм виртуальных машин. Если ваше приложение чувствительно к безопасности, вы можете рассмотреть возможность запуска более полнофункционального решения, такого как OpenVZ, Xen, KVM, VirtualBox или коммерческие решения, такие как VMware и некоторые другие.

При этом вам действительно следует рассматривать вашу chroot-систему как еще один хост в вашей сети. Когда вы будете использовать только chroot, вы можете получить к нему доступ как localhost (127.0.0.1) с некоторым номером порта, который вы ему назначите (система с chroot будет эффективно использовать назначения портов с родительской системой), в то время как использование других решений виртуализации позволяет вам назначить нормальный отдельный IP-адрес каждой виртуальной машине и запускать ее так же, как если бы вы запускали отдельный физический ящик.

chrooting является довольно «слабым» решением для обеспечения безопасности, поскольку родительский и дочерний элементы совместно используют множество ресурсов почти без ограничений (например, память, ЦП, пул процессов, дисковое пространство, привилегии, сокеты и т. д.). Единственным ограничением на самом деле является ограниченный доступ к файловой системе (т.е. chroot-приложения могут получить доступ только к части всей файловой системы), хотя это обеспечивает некоторую степень изоляции.

person GreyCat    schedule 29.01.2011
comment
Виртуализация, вероятно, была бы излишним для меня. Какое из OpenVZ и т. д. действительно легкое приложение? - person Neo; 29.01.2011
comment
OpenVZ — очень легкое решение: по сути, это chroot с дополнительным разделением сетевого стека, ограничением ресурсов, дисковыми квотами и т. д. Можете ли вы объяснить подробнее, насколько ваше приложение чувствительно к безопасности? т.е. что вы пытаетесь защитить с помощью chroot? - person GreyCat; 29.01.2011
comment
Что ж, мы будем использовать множество сторонних библиотек, jar-файлы в tomcat, которые могут быть низкого качества и даже откровенно вредоносными. Поэтому становится необходимым, чтобы tomcat работал внутри среды типа chroot. Я просто хочу, чтобы доступ к реальным файлам/данным системы был ограничен. - person Neo; 29.01.2011