Назад | Перейти на главную страницу

Когда целесообразно / целесообразно использовать chroot?

Я постоянно слышу о необходимости chroot BIND. Справедливо. А как насчет других программ? Каковы «правила» (личные или общепринятые / установленные) для принятия решения о том, какие программы следует заключить в тюрьму?

-M

Когда ответ не «в целях безопасности». Видеть Злоупотребление chroot.

Когда было высказано предположение, что chroot часто используется в качестве инструмента безопасности, Адриан Банк парировал, что «некомпетентные люди, внедряющие решения безопасности, представляют собой настоящую проблему». Алан добавил: «chroot не является и никогда не был инструментом безопасности. Люди создавали вещи, основанные на свойствах chroot, но расширенных (BSD jails, Linux vserver), но они совсем другие».

Если у вас есть программа, для которой требуется набор / версии библиотек, которые отличаются от того, что установлено в вашей системе, это будет хорошим кандидатом для "chrooted" установки.

chroot также удобен для установки различных версий дистрибутива Linux в их собственной среде без использования виртуальной машины или эмулятора (Настройка chroot Debian под Red Hat).

В общем, вы можете захотеть использовать chroot по нескольким причинам:

  • необходимость в другом дистрибутиве / архитектуре / версии распространения без использования OpenVZ или виртуальной машины. Например, я использую chroots, чтобы иметь среду компиляции i386 и amd64 на машине amd64.
  • ограничение доступа к системе для пользователей. Например, вы можете использовать chroot вместе со scponly, чтобы ограничить доступ пользователей к командам. Это очень ограниченная система тюремного заключения, поскольку, например, они все еще имеют доступ к сети.
  • ограничение доступа к системе программам. В общем, вы можете захотеть сделать это в основном для демонов, таких как bind или apache. Таким образом, эти программы не будут иметь прямого доступа к системе, поэтому, если злоумышленник может использовать нарушение безопасности программы, он не будет напрямую обращаться к системе, а вместо этого окажется внутри chroot. Это помогает повысить безопасность, но не является гарантией безопасности вашей системы.

Все зависит от того, насколько вы параноик. В большинстве случаев каждая служба должна быть заблокирована в целях безопасности. Однако это может оказаться невозможным для всего, так как это может быть немного утомительным, пытаясь воспроизвести все. Еще одна возможность, которую следует рассмотреть в целях изоляции, - это использование легких виртуальных машин, таких как OpenVZ / VServer, которые по сути похожи на chroot, только в большей степени.