The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Подготовка chroot-окружения в Debian или Ubuntu
Для создания chroot-окружения в Debian или Ubuntu можно использовать пакет
debootstrap, а для управления - schroot.

  apt-get install debootstrap

Создадим минимальный chroot в Ubuntu:

  debootstrap --variant=buildd --arch i386 hardy /home/chroot_web http://archive.ubuntu.com/ubuntu/

в Debian:

  debootstrap --arch i386 lenny /home/chroot_web http://ftp.us.debian.org/debian

при этом в Ubuntu можно создавать chroot на базе Debian и наоборот.

Для последующей установки пакетов из chroot копируем файлы конфигурации APT и резолвера:

  cp /etc/resolv.conf /home/chroot_web/etc/resolv.conf
  cp /etc/apt/sources.list /home/chroot_web/etc/apt/

Заходим в chroot-окружение:

  sudo chroot /home/chroot_web

Устанавливаем в нем apache:

 apt-get update
 apt-get install apache2

Устанавливаем необходимые для работы и сборки пакетов составляющие:

  apt-get --no-install-recommends install wget debconf devscripts gnupg
  apt-get update

Конфигурируем локаль:

  apt-get install locales dialog
  locale-gen ru_RU.UTF-8
  tzselect; TZ='Europe/Moscow';

Пробрасываем в chroot системные псевдо ФС, в /etc/fstab основной системы добавляем:

   /proc /home/chroot_web/proc none rbind 0 0
   /dev /home/chroot_web/dev none rbind 0 0
   /sys /home/chroot_web/sys none rbind 0 0

Запускаем сервис:
   chroot /home/chroot_web /etc/init.d/apache2 start

Когда chroot-окружений много или внутри chroot запускается несколько сервисов
для управления удобно использовать schroot

   apt-get install schroot

Создаем /etc/schroot/schroot.conf:

   [hardy]
   description=Apache Chroot
   location=/home/chroot_web
   priority=3
   users=webuser
   groups=sbuild
   root-groups=root

Запускаем все chroot-окружения и определенные в них сервисы:

   schroot --all -- su -c /etc/init.d/rc\ 2 -
 
19.10.2009 , Источник: https://wiki.ubuntu.com/Debootstrap...
Ключи: chroot, jail, linux, debian, ubuntu, limit / Лицензия: CC-BY
Раздел:    Корень / Безопасность / Помещение программ в chroot

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Nicknnn, 11:14, 19/10/2009 [ответить] [смотреть все]
  • +/
    Ещё неплохо создать /etc/hosts
    sys и proc нужно просто монтирвать без rbind
    а также примонтировать devpts

    proc /home/chroot_web/proc proc defaults 0 0
    sys /home/chroot_web/sys sysfs defaults 0 0
    /dev /home/chroot_web/dev none bind 0 0
    devpts /home/chroot_web/dev/pts defaults,gid=5,mode=620 0 0

    man debootstrap короче


     
     
  • 2.2, pavel_simple, 13:21, 19/10/2009 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    итак, допустим apache таки ломанули у нас dev есть конечно, а даже если и нет, ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.4, pavlinux, 18:23, 19/10/2009 [^] [ответить] [смотреть все]  
  • +/
    users webuser groups sbuild Апач, уж 100 лет как, без рута умеет работать Д... весь текст скрыт [показать]
     
     
  • 4.5, Pilat, 19:00, 19/10/2009 [^] [ответить] [смотреть все]  
  • +/
    А чем плоха, к примеру, виртуалка под OpenVZ chroot хорош для мелких задач, а т... весь текст скрыт [показать]
     
     
  • 5.6, pavlinux, 19:54, 19/10/2009 [^] [ответить] [смотреть все]  
  • +/
    В применение изолированных сред, само название говорит за себя В изоляции ... весь текст скрыт [показать]
     
     
  • 6.7, Pilat, 20:15, 19/10/2009 [^] [ответить] [смотреть все]  
  • +/
    Не думаю что всё тка плохо OpenVZ держать не очень накладно, там расходы копееч... весь текст скрыт [показать]
     
     
  • 7.8, pavlinux, 20:55, 19/10/2009 [^] [ответить] [смотреть все]  
  • +/
    Правильный chroot это runtime chroot, т е по мере необходимости Пришёл кон... весь текст скрыт [показать]
     
     
  • 8.9, Pilat, 22:34, 19/10/2009 [^] [ответить] [смотреть все]  
  • +/
    В идеальном мире да А в реальном ... весь текст скрыт [показать]
     
     
  • 9.10, pavlinux, 00:49, 20/10/2009 [^] [ответить] [смотреть все]  
  • +/
    Никому не нужно Написать гибрид xinetd fork chroot не долго ... весь текст скрыт [показать]
     
     
  • 10.11, Pilat, 02:22, 20/10/2009 [^] [ответить] [смотреть все]  
  • +/
    >Написать гибрид xinetd+fork+chroot не долго.

    Ну и нафига такой пример?

     
  • 8.14, shutdown now, 22:30, 21/10/2009 [^] [ответить] [смотреть все]  
  • +/
    есть такой апач: Apache 2 ITK MPM и Peruser MPM, но всё не так просто, как кажется, в результате он медленнее и  ресурсов ему больше нужно
     
  • 6.15, User294, 05:36, 23/10/2009 [^] [ответить] [смотреть все]  
  • +/
    И в чем эта накладность состоит Оно не виртуаль в общем то, а просто резатель р... весь текст скрыт [показать]
     
  • 1.12, mma, 07:56, 20/10/2009 [ответить] [смотреть все]  
  • +/
    А зачем создавать полное окружение - нужно все-голишь чтобы сервис умел запускаться в чруте (стартует рутом, после того как все модели загрузит) переходит в чрут. Апач это умеет, в openbsd так работает без проблем даже с mod_php.
     
     
  • 2.13, mma, 07:58, 20/10/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    но при этом чрут сам посебе не назовешь полноценной изоляцией, нужно как минимум запретить чрутитьтся всем кроме root (ну и еще какие то мелочи не помню), поэтому без grsecurity или selinux  чрут сам по себе только усложняет жизнь взломщику но не предотращает взлом
     
     
  • 3.16, sjinks, 15:44, 23/10/2009 [^] [ответить] [смотреть все]  
  • +/
    > нужно как минимум запретить чрутитьтся всем кроме root

    А с каких пор CAP_SYS_CHROOT есть у кого-то, кроме рута?

     
     
  • 4.17, mma, 19:12, 23/10/2009 [^] [ответить] [смотреть все]  
  • +/
    я не правильно выразился, но суть думаю понятна как можно выйти за пределы chroot и почему он не особо полезен без подсистем безопасности?
     
     
  • 5.18, sjinks, 17:11, 24/10/2009 [^] [ответить] [смотреть все]  
  • +/
    >я не правильно выразился, но суть думаю понятна как можно выйти за
    >пределы chroot

    Без рутовых привилегий и при условии, что у демона нет открытых файлов/каталогов вне chroot это всё же проблематично.

    >и почему он не особо полезен без подсистем безопасности?

    chroot изначально не проектировался как средство безопасности. Тем не менее, chroot() + chdir() + setuid() = неплохой дополнительный барьер для хакера.

     
     
  • 6.19, mma, 19:36, 24/10/2009 [^] [ответить] [смотреть все]  
  • +/
    chroot в chroot  и fchdir

    От этого ведб стандартными способами не защитишся

     
     
  • 7.20, sjinks, 20:02, 24/10/2009 [^] [ответить] [смотреть все]  
  • +/
    >chroot в chroot и fchdir
    >
    >От этого ведб стандартными способами не защитишся

    Да, только второй chroot() можно сделать, если у демона есть CAP_SYS_CHROOT (т.е. если демон под рутом сидит).

    Обычный пользователь делать chroot() не умеет.

    http://linux.die.net/man/2/chroot

     
  • 1.21, jura12, 04:14, 13/11/2009 [ответить] [смотреть все]  
  • +/
    вы не написали зачем все это надо, какие преимущества и недостатки. вкрадце вводную надо было дать.
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor