Назад | Перейти на главную страницу

Chroot jail для Nginx и php

Я размещаю несколько веб-сайтов на одном VPS и хочу заблокировать каждый веб-сайт, например. / 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'ed. Это вполне управляемо - однако chrooted будет только php. Не настоящий веб-сервер. Это достаточно безопасно. Кроме того, я опробовал этот вариант, и, похоже, мне нужно будет использовать TCP вместо сокетов для подключения к MySQL.

3) Вы мне скажите;)

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

В итоге я использовал вариант номер 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