The OpenNET Project / Index page

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

Помещение программ в chroot

   Корень / Безопасность / Помещение программ в chroot

----* Как сменить корень документов в Apache/nginx в CentOS 7 и RHEL 7 с SELinux   [комментарии]
  По умолчанию для Apache, nginx и других http-серверов при использовании SELinux в CentOS 7 и RHEL 7 область видимости ограничена директорией /var/www. Для смены корня документов на /home/site следует включить новые директории в правила httpd_sys_content_t и httpd_sys_script_exec_t.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Запуск Skype в изолированном окружении Apparmor (доп. ссылка 1)   [комментарии]
  Для защиты от потенциального доступа закрытого приложения Skype к данным других программ можно организовать выполнение Skype в изолированном окружении.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Решение проблемы резолвинга имен в php-fpm в chroot-режиме   Автор: gara  [комментарии]
  В php-fpm chroot возникает проблема - не резолвятся DNS имена. В частности не работает функция gethostbyname.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Использование контейнеров LXC в Debian/Ubuntu   Автор: Heretic  [комментарии]
  Контейнеры LXC позволяют изолировать процессы и ресурсы, работающие в рамках одной операционной системы, не прибегая к использованию виртуализации. Положительным аспектом LXC является использование единого пространства системных буферов, например, единый для базовой системы и всех контейнеров дисковый кэш. Наиболее близкими аналогами LXC являются Solaris Zones и FreeBSD jail.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Подготовка chroot-окружения в Debian или Ubuntu (доп. ссылка 1)   [комментарии]
  Для создания chroot-окружения в Debian или Ubuntu можно использовать пакет debootstrap, а для управления - schroot.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Подготовка chroot-окружения в Red Hat-подобных Linux (доп. ссылка 1)   [комментарии]
 
Формирование Chroot-окружения в CentOS, Fedora и RHEL.

Создаем БД для пакетного менеджера RPM внутри создаваемого chroot:
   mkdir -p /home/chroot_web/var/lib/rpm
   rpm --root /home/chroot_web --initdb

Загружаем базовые пакеты с описанием текущего релиза Fedora Linux (для CenOS
пишем centos-release, для RHEL - redhat-release):
   yumdownloader --destdir=/var/tmp fedora-release
   cd /var/tmp
   rpm --root /home/chroot_web -ivh --nodeps fedora-release*rpm

Ставим в chroot apache и все необходимые для его работы зависимости, в итоге
получим минимальную систему для работы httpd:

  yum --installroot=/home/chroot_web -y install httpd

После настройки Apache запускаем его:

  chroot /home/chroot_web /usr/sbin/apachectl start
 
----* Помещение OpenSSH пользователей в изолированное sftp окружение (доп. ссылка 1)   [комментарии]
  Начиная с релиза 4.9 в OpenSSH появилась возможность помещать отдельных пользователей в изолированное окружение. Помещение в chroot управляется через директиву ChrootDirectory, задаваемую в конфигурационном файле sshd_config. При задействовании sftp-server интегрированного в sshd, при этом не требуется формирование специального chroot окружения.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Монтирование директории пользователя при его входе в Linux систему (доп. ссылка 1)   [комментарии]
  Имеем: неизменную базовую /home директорию. Хотим: отдельно держать изменения внесенные пользователями, чтобы они не влияли на базовую /home.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Быстрое создание jail-машины во FreeBSD (доп. ссылка 1)   Автор: mr-tacitus  [комментарии]
  Нам понадобится первый установочный диск FreeBSD 6.2 и немного свободного времени. Предполагается что наша jail-машина будет размещена в директории /var/jail.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Создание 32-битного chroot окружения в 64-битной Debian установке (доп. ссылка 1)   Автор: Amadeu A. Barbosa Jr  [комментарии]
  Ниже пример организации 32-битного chroot окружения в 64-битной системе.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Как решить проблему с ведением логов у программ в chroot окружении   [комментарии]
 
Например, в postfix запущенном в chroot, через настройки в master.cf, при перезапуске syslogd 
перестают писаться логи qmgr, тем временем все остальные логи пишутся нормально.

Решение - необходимо создать дополнительный log сокет в chroot окружении:
   FreeBSD: "syslogd -l /var/spool/postfix/dev/log"
   Linux: "syslogd -a /var/spool/postfix/dev/log"
 
----* Помещение пользователя в chroot при входе в систему (доп. ссылка 1)   Автор: HFSC  [комментарии]
 
В качестве шелла пользователю назначается скрипт /bin/chrsh
echo "/bin/chrsh" >> /etc/shells
cat >> /bin/chrsh << EOF
#!/bin/sh
/usr/bin/sudo /usr/bin/chroot /home/$USER /bin/bash
EOF 
chsh -s /bin/chrsh логин
 
----* Как автоматизировать перемещение нужных библиотек в chroot окружение  (доп. ссылка 1)   [комментарии]
 
ldd /usr/local/libexec/apache/* | grep '=>' | awk {' print $3 '} | \
     grep '/usr/lib' | xargs -J % install -C % chroot_dir/usr/lib/
ldd /usr/local/libexec/apache/* | grep '=>' | awk {' print $3 '} | \
     grep '/usr/local/lib' | xargs -J % install -C % chroot_dir/usr/local/lib/
ldd /usr/local/libexec/apache/* | grep '=>' | awk {' print $3 '} | \
     grep '/usr/X11R6/lib' | xargs -J % install -C % chroot_dir/usr/X11R6/lib/

Пару скриптов для синхронизации файлов в chroot - ftp://ftp.opennet.ru/pub/security/chroot/
 
----* Как посмотреть какие файлы пытается открыть или выполнить программа   [комментарии]
 
strace -f -o strace.txt -e execve программа
strace -f -o strace.txt -e open,ioctl программа
 
----* Почему suexec может не работать при запуске Apache в режиме chroot. (доп. ссылка 1)   [обсудить]
 
1. В chroot окружении обязательно должен быть /etc/passwd с пользователями для
которых используется suexec.
2. Помещена ли в bin директорию программа suexec ?
3. Установлен ли suid root флаг для программы suexec ? (при копировании suid флаг исчезает).
4. Все ли динамические библиотеки присутствуют:
   chroot /hst /usr/local/apache/bin/ldd /usr/local/apache/bin/httpd
   chroot /hst /usr/local/apache/bin/ldd /usr/local/apache/bin/suexec
    предварительно положив ldd в /hst/usr/local/apache/bin/
 
----* Как узнать какие динамические библиотеки прилинкованы к программе   [комментарии]
 
ldd файл
 

 Версия для печати




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