Chroot-окружение Nginx и php

Chroot-окружение Nginx и php

Я размещаю несколько веб-сайтов на одном VPS и хочу сделать chroot для каждого веб-сайта, например: /chroot/website1 /chroot/website2

Я использую makejail, который является высокоуровневым инструментом для создания джейлов и копирования библиотек и зависимостей. Легко и просто.

Каждому сайту понадобятся nginx, php и mysql. Для php я использую php5-fpm, который на самом деле поддерживает chroot по конфигурации, однако я не использую его (может быть, мне стоит?)

Мой вопрос заключается в том, какой подход из следующих трех лучше:

1) Каждый веб-сайт будет иметь свой собственный отдельный экземпляр nginx, php и mysql. Недостаток в том, что каждый веб-сервер + php должен прослушивать другой порт. Мне также нужен "главный" веб-сервер nginx перед ними, обратный проксирование к chrooted-серверам за ним. Вероятно, самый безопасный, но и самый продвинутый.

2) Я не создаю вручную никаких chroot-окружений. Я настраиваю один веб-сервер nginx, который проксирует php-запросы в php-fpm на разных портах. У меня может быть несколько конфигураций php-fpm, каждая со своей собственной chroot-папкой. Это вполне управляемо, однако chrooted будет только php. А не сам веб-сервер. Достаточно ли это безопасно? Кроме того, я пробовал этот вариант, и, похоже, мне нужно будет использовать TCP вместо сокетов для подключения к MySQL.

3) Расскажи мне ;)

Я совсем новичок в chroot jailing, поэтому, пожалуйста, поправьте меня, если я ошибаюсь в своих предположениях. Я прочитал все руководства, которые смог найти, однако, я нахожу рынок руководств chroot очень скудным. Любая помощь или вклад будут очень ценны!

решение1

В итоге я использовал вариант номер 2. Если я использую TCP (127.0.0.1) вместо сокетов (localhost), большинство вещей работают «из коробки».

Кое-что нужно сделать: sendmail и внешние службы. Для sendmail можно использовать mini_sendmail. Довольно легко настроить, если использовать makejail (пакет Debian/Ubuntu) и следовать этому руководству: http://www.cyberciti.biz/tips/howto-setup-sendmail-php-mail-chrooted-apache-lighttpd.html

Связанный контент