Chrooted php-fpm, как давать доступ нжинксу?

Если уж очень упороться, можно вообще php статически собрать со всеми либами. :) Хотя я все равно не понимаю, какие особые сложности пройтись рекурсивно ldd.
 
да хрен там, CA для openssl все-равно в чруте собирать :)
 
у нас была авторизация по самоподписанному сертификату со своим CA. впрочем, это исключение
 
в чруте нужны .so от openssl, индивидуальный openssl.conf, пробороска /dev/urandom, я уже все не помню
 
Они и не в чруте лишними не будут :) Ну короче все стандартно, я думал особенное что
 
Пока вы тут пережёвываете чрут, я уже запилил пару скриптов на запуск двух php-fpm и пару профилей apparmor для них.
 
Вот тут докер уже несколько раз упоминался. Он же вроде и сделан для таких задач, чтобы ни о каких chroot, куче юзеров и тп не думать. Создал контейнер - че хочешь туда ставь, порты прокидывай и используй.
 
@fixxxer, а почему нет? Если нужно всего по контейнеру на приложение. Базу можно прокинуть из хоста, тут уже каждому по пользователю, на пример. Или контейнеры не на столько легковесны?
 
Ну это знаешь, как на symfony писать hello world. Можно, но зачем?
 
Разные PHP-FPM (на каждого пользователя).
При этом права сделаны так

root@serv001:~# groups www-data
www-data : www-data
root@serv001:~# groups user
user : user mgrsecure
root@serv001:~# ls -lash /var/www
итого 692K
4,0K drwx--x--x 90 www-data mgrsecure 4,0K Авг 11 11:56 .
4,0K drwxr-xr-x 16 root root 4,0K Июн 29 2014 ..
4,0K dr-x-----x 3 user mgrsecure 4,0K Сен 26 2013 user
root@serv001:~# cd ~user
root@serv001:/var/www/user/data# sudo -u www-data ls
ls: невозможно открыть каталог .: Отказано в доступе
/var/www/user/data# sudo -u www-data ls www/xxx.ru/
...

Nginx все равно cgi не выполняет (только через менеджеры процессов), так что, нечего бояться. На апач ставится suexec
 
Последнее редактирование:
@fixxxer, а почему нет? Если нужно всего по контейнеру на приложение. Базу можно прокинуть из хоста, тут уже каждому по пользователю, на пример. Или контейнеры не на столько легковесны?
Зависит от настроек. Можно overlayfs замутить, будет по сути "glorified chroot". Но это действительно сильно более заморочно, чем взять шаблонный профиль apparmor и подрихтовать под себя. При том что безопасность в контейнерах тем же самым apparmor обеспечивается (в том числе).
 
Разрешить глубже по вложенности на чтение
Прошу простить мне мою тупость, но всё это не очень укладывается у меня в голове.
Вступая в противоречие с имеющимися на данный момент знаниями.

Чтобы разрешить на чтение, надо разрешить все каталоги в цепочке на выполнение. поскольку исполнение на каталоге означает разрешение на переход в него.
Если разрешать на выполнение, то кто угодно сможет зайти в каталог.
И плюс добавить чтение, то кто угодно (в той же самой группе) сможет прочитать.
В чём же тогда защита будет?

Собственно, меня ведь интересует не решение академической проблемы "как дать кому-то доступ, а кому-то не дать", а практической "сетап веб-аервера, который реализует преимущество запуска пыхи под своим пользователем"
 
Последнее редактирование:
Сверху