Разграничить сайты друг от друга [РЕШЕНО]
Разграничить сайты друг от друга [РЕШЕНО]
Здравствуйте. Сегодня впервые узнал о BrainyCP и загорелся идеей опробовать. Все очень круто, объем проделанной работы поражает, особенно учитывая, что это делало всего 5 человек. Спасибо за труды)
Собственно мой вопрос не связан напрямую с BinaryCP, скорее просто про администрирование. Можно ли каким-нибудь образом разграничить сайты друг от друга? Чтобы сайты не могли ничего читать и писать в директориях выше и по соседству.
Это на тот случай, если какой-то из сайтов заразят - уже был печальный опыт, когда один зараженный сайт положил всех соседей. Дело тогда было на обычном виртуальном хостинге и там я не имел прямого доступа к серверу. Сейчас решил переезжать на VPS, а опыта не хватает - даже не знаю, что спрашивать в Яндекс / Google. Да и к тому же, вдруг BrainyCP такое разграничение делает из под коробки, а я просто не знаю?
Буду признателен за советы и рекомендации в плане обеспечения безопасности сайтов.
Собственно мой вопрос не связан напрямую с BinaryCP, скорее просто про администрирование. Можно ли каким-нибудь образом разграничить сайты друг от друга? Чтобы сайты не могли ничего читать и писать в директориях выше и по соседству.
Это на тот случай, если какой-то из сайтов заразят - уже был печальный опыт, когда один зараженный сайт положил всех соседей. Дело тогда было на обычном виртуальном хостинге и там я не имел прямого доступа к серверу. Сейчас решил переезжать на VPS, а опыта не хватает - даже не знаю, что спрашивать в Яндекс / Google. Да и к тому же, вдруг BrainyCP такое разграничение делает из под коробки, а я просто не знаю?
Буду признателен за советы и рекомендации в плане обеспечения безопасности сайтов.
Последний раз редактировалось dima Пн апр 22, 2019 3:29 pm, всего редактировалось 1 раз.
Re: Разграничить сайты друг от друга
Включите сайт в окружение phpJail
Re: Разграничить сайты друг от друга
если требуется каждый сайт по отдельности то да
Re: Разграничить сайты друг от друга
Спасибо за ответ. Увы, крайне не оптимальный способ изоляции получится.
Не хочу сглазить, но возможно я нашел решение проблемы, это директива open_basedir
Пока еще вникаю, да и эксперименты бы неплохо провести. Если все заработает, напишу небольшую мини-инструкцию для остальных.
Re: Разграничить сайты друг от друга
В общем то, эти вещи можно совместитьdima писал(а): ↑Пн апр 01, 2019 5:10 pmСпасибо за ответ. Увы, крайне не оптимальный способ изоляции получится.
Не хочу сглазить, но возможно я нашел решение проблемы, это директива open_basedir
Пока еще вникаю, да и эксперименты бы неплохо провести. Если все заработает, напишу небольшую мини-инструкцию для остальных.
Re: Разграничить сайты друг от друга
Проблема решена, для изоляции сайта идем в каталог /etc/httpd/vhost.d и открываем конфиг нужного сайта.
Далее, внутри блока <IFModule proxy_fcgi_module> вписываем директиву:
Здесь optima - это мой пользователь.
rvp74.rf - один из сайтов данного пользователя.
Пути, соответственно, нужно заменить на свои.
Огромное спасибо dmitry_stas - без его помощи у меня вряд ли бы получилось разобраться в вопросе.
P. S. Нужно перегрузить сервер, после внесения изменений.
Далее, внутри блока <IFModule proxy_fcgi_module> вписываем директиву:
Код: Выделить всё
ProxyFCGISetEnvIf "true" PHP_ADMIN_VALUE "open_basedir=/home/optima/sites/rvp74.rf:. \n upload_tmp_dir=/home/optima/sites/rvp74.rf/tmp \n session.save_path=/home/optima/sites/rvp74.rf/tmp"
rvp74.rf - один из сайтов данного пользователя.
Пути, соответственно, нужно заменить на свои.
Огромное спасибо dmitry_stas - без его помощи у меня вряд ли бы получилось разобраться в вопросе.
P. S. Нужно перегрузить сервер, после внесения изменений.
Последний раз редактировалось dima Вт апр 23, 2019 2:07 pm, всего редактировалось 1 раз.
Re: Разграничить сайты друг от друга
Т .е. это получается просто включение open_basedir на каждый домен?dima писал(а): ↑Пн апр 22, 2019 3:28 pmПроблема решена, для изоляции сайта идем в каталог /etc/httpd/vhost.d и открываем конфиг нужного сайта.
Далее, внутри блока <IFModule proxy_fcgi_module> вписываем директиву:Здесь optima - это мой пользователь.Код: Выделить всё
ProxyFCGISetEnvIf "true" PHP_ADMIN_VALUE "open_basedir=/home/optima/sites/rvp74.rf:. \n upload_tmp_dir=/home/optima/sites/rvp74.rf/tmp \n session.save_path=/home/optima/sites/rvp74.rf/tmp"
rvp74.rf - один из сайтов данного пользователя.
Пути, соответственно, нужно заменить на свои.
Огромное спасибо dmitry_stas - без его помощи у меня вряд ли бы получилось разобраться в вопросе.
Я думал это через панель можно сделать.
Re: Разграничить сайты друг от друга
Ну да. Насчет того, чтобы сделать это через панель - только если разработчики добавят такую кнопку) По идее там где-то в недрах админки есть пункт - индивидуальная достройка виртхостов, но как она работает и куда потом этим настройки идут, я не знаю.Amney писал(а): ↑Вт апр 23, 2019 1:07 pmТ .е. это получается просто включение open_basedir на каждый домен?dima писал(а): ↑Пн апр 22, 2019 3:28 pmПроблема решена, для изоляции сайта идем в каталог /etc/httpd/vhost.d и открываем конфиг нужного сайта.
Далее, внутри блока <IFModule proxy_fcgi_module> вписываем директиву:Здесь optima - это мой пользователь.Код: Выделить всё
ProxyFCGISetEnvIf "true" PHP_ADMIN_VALUE "open_basedir=/home/optima/sites/rvp74.rf:. \n upload_tmp_dir=/home/optima/sites/rvp74.rf/tmp \n session.save_path=/home/optima/sites/rvp74.rf/tmp"
rvp74.rf - один из сайтов данного пользователя.
Пути, соответственно, нужно заменить на свои.
Огромное спасибо dmitry_stas - без его помощи у меня вряд ли бы получилось разобраться в вопросе.
Я думал это через панель можно сделать.
Поэтому пока что можно применять open_basedir и вручную, это не так уж и сложно. Можно через стандартный файл менеджер все настройки вписать, не заморачиваясь ssh подключением через консоль.
Re: Разграничить сайты друг от друга [РЕШЕНО]
Они создают отдельный конфиг для каждого домена, который инклюдится из основного конфига, как apache так и nginx, и хранятся в отдельных директориях по определенному пути (уже не помню путь, тут на форуме есть)