LINUX.ORG.RU

nginx в chroot: а надо ли?

 


0

4

Завел nginx в chroot, http://habrahabr.ru/post/170115/

В комментариях к статье я отбиваюсь как могу, но, пытаются убедить, что, chroot не нужная прослойка и достаточно только настроенных прав. Дык.. хочу еще у вас спросить, оно надо? :)

Запущу я nginx + php-fpm как есть (хотя нет, пожалуй, запущу Master процесс тоже без root). И получив доступ к системе, без root'а, хацкеры ж ничего не смогут сделать, угу?

★★★★★

нжинкс в чруте бессмысленен, и пускать мастер процесс от другого пользователя тоже без надобности, все равно все запросы обрабатывают чилды, которые работают от обычного пользователя

а вот если php-fpm не умеет чрутиться в документ рут, то смысл есть

особенно на хз как написаных сайтах, шоб не получилось http://site.domain/index.php?p=exec(«cat /etc/passwd»)

Skolotovich ★★★
()

Собирать nginx + openssl + pcre + zlib будем из исходников

дальше не читал.

Bers666 ★★★★★
()
Ответ на: комментарий от Skolotovich

а вот если php-fpm не умеет чрутиться в документ рут

а смысл? А как прочитать например php-pear-DB файлы из /usr/share/php? в чрут (т.е. в документ_рут) чтоле тянуть например также либы imagemagick чтобы php-imagick заработал?

Bers666 ★★★★★
()
Ответ на: комментарий от Bers666

для дебиана/бубунты береш debootstrap и строишь чрут с нужным тебе софтом

для других береш похожий инструмент и строишь чрут с нужным тебе софтом

нет аналога debootstrap под любимый дистр? делаешь все ручками

пойдет алгоритм?

Skolotovich ★★★
()
Ответ на: комментарий от Bers666

арчешко^H^H^Hводам :)
зы. сам пока на арчике.

# mkdir myroot
# pacman -S arch-install-scripts
# mount --bind myroot myroot
# pacstrap -i myroot base base-devel
# mount -t proc proc myroot/proc/
# mount -t sysfs sys myroot/sys/
# mount -o bind /dev myroot/dev/
# mount -t devpts pts myroot/dev/pts/
# cp -i /etc/resolv.conf myroot/etc/
# chroot myroot
Spoofing ★★★★★
() автор топика
Ответ на: комментарий от Skolotovich

алгоритм-то понятен, вот только /usr/share/php/* в каждый такой чрут вставлять? или монтировать --bind? я к тому, что идея каждый сайт зачрутить в собственный чрут нереальна. для этого и придумывали php safe_mode & open_basedir

Bers666 ★★★★★
()

«Master процесс тоже без root» Ага, т.е конфигурация вашего сервера будет читаться от имени того же пользователя, что и работают рабочие процессы. Хороший способ понизить безопасность.

Не городите ерунды.

anonymous
()
Ответ на: комментарий от Spoofing

mount -t proc proc myroot/proc/
mount -t sysfs sys myroot/sys/
mount -o bind /dev myroot/dev/
mount -t devpts pts myroot/dev/pts/

Может просто взять arch-chroot?

risenshnobel ★★★
()
Ответ на: комментарий от Bers666

алгоритм-то понятен ...

так если понятен алгоритм, в чем проблема с /usr/share/php/* ? в зависимости от задач и потребностей строишь, есть пара больших сайтов со своими требованиями, сделай для них отдельные чруты, кучка мелких повесь их все в один

это все при условии что php-fpm не умеет open_basedir или его аналог

зы: safe_mode уже выпилили из пхп

Skolotovich ★★★
()

Лучше не чрут, а lxc, поскольку из чрута можно сбежать.

zloelamo ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.