Разграничить сайты друг от друга [РЕШЕНО]

Защита сервера от взлома, антивирус, файрвол, SSL-сертификаты и прочие вопросы, связанные с безопасностью данных.
dima
Сообщения: 48
Зарегистрирован: Сб мар 30, 2019 11:11 am

Разграничить сайты друг от друга [РЕШЕНО]

Сообщение dima » Сб мар 30, 2019 11:27 am

Здравствуйте. Сегодня впервые узнал о BrainyCP и загорелся идеей опробовать. Все очень круто, объем проделанной работы поражает, особенно учитывая, что это делало всего 5 человек. Спасибо за труды)

Собственно мой вопрос не связан напрямую с BinaryCP, скорее просто про администрирование. Можно ли каким-нибудь образом разграничить сайты друг от друга? Чтобы сайты не могли ничего читать и писать в директориях выше и по соседству.

Это на тот случай, если какой-то из сайтов заразят - уже был печальный опыт, когда один зараженный сайт положил всех соседей. Дело тогда было на обычном виртуальном хостинге и там я не имел прямого доступа к серверу. Сейчас решил переезжать на VPS, а опыта не хватает - даже не знаю, что спрашивать в Яндекс / Google. Да и к тому же, вдруг BrainyCP такое разграничение делает из под коробки, а я просто не знаю?

Буду признателен за советы и рекомендации в плане обеспечения безопасности сайтов.
Последний раз редактировалось dima Пн апр 22, 2019 3:29 pm, всего редактировалось 1 раз.

Аватара пользователя
sbury
Сообщения: 1344
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: Разграничить сайты друг от друга

Сообщение sbury » Сб мар 30, 2019 11:44 am

Включите сайт в окружение phpJail

dima
Сообщения: 48
Зарегистрирован: Сб мар 30, 2019 11:11 am

Re: Разграничить сайты друг от друга

Сообщение dima » Сб мар 30, 2019 12:25 pm

sbury писал(а):
Сб мар 30, 2019 11:44 am
Включите сайт в окружение phpJail
Почитал форум немного. Если использовать Jail это надо будет под каждый сайт свой хост аккаунт делать?

Аватара пользователя
sbury
Сообщения: 1344
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: Разграничить сайты друг от друга

Сообщение sbury » Пн апр 01, 2019 7:07 am

если требуется каждый сайт по отдельности то да

dima
Сообщения: 48
Зарегистрирован: Сб мар 30, 2019 11:11 am

Re: Разграничить сайты друг от друга

Сообщение dima » Пн апр 01, 2019 5:10 pm

sbury писал(а):
Пн апр 01, 2019 7:07 am
если требуется каждый сайт по отдельности то да
Спасибо за ответ. Увы, крайне не оптимальный способ изоляции получится.
Не хочу сглазить, но возможно я нашел решение проблемы, это директива open_basedir
Пока еще вникаю, да и эксперименты бы неплохо провести. Если все заработает, напишу небольшую мини-инструкцию для остальных.

Аватара пользователя
Amney
Сообщения: 259
Зарегистрирован: Вс сен 02, 2018 5:11 pm
Контактная информация:

Re: Разграничить сайты друг от друга

Сообщение Amney » Пн апр 01, 2019 8:23 pm

dima писал(а):
Пн апр 01, 2019 5:10 pm
sbury писал(а):
Пн апр 01, 2019 7:07 am
если требуется каждый сайт по отдельности то да
Спасибо за ответ. Увы, крайне не оптимальный способ изоляции получится.
Не хочу сглазить, но возможно я нашел решение проблемы, это директива open_basedir
Пока еще вникаю, да и эксперименты бы неплохо провести. Если все заработает, напишу небольшую мини-инструкцию для остальных.
В общем то, эти вещи можно совместить

dima
Сообщения: 48
Зарегистрирован: Сб мар 30, 2019 11:11 am

Re: Разграничить сайты друг от друга

Сообщение dima » Пн апр 22, 2019 3:28 pm

Проблема решена, для изоляции сайта идем в каталог /etc/httpd/vhost.d и открываем конфиг нужного сайта.

Далее, внутри блока <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"
Здесь optima - это мой пользователь.
rvp74.rf - один из сайтов данного пользователя.

Пути, соответственно, нужно заменить на свои.

Огромное спасибо dmitry_stas - без его помощи у меня вряд ли бы получилось разобраться в вопросе.

P. S. Нужно перегрузить сервер, после внесения изменений.
Последний раз редактировалось dima Вт апр 23, 2019 2:07 pm, всего редактировалось 1 раз.

Аватара пользователя
Amney
Сообщения: 259
Зарегистрирован: Вс сен 02, 2018 5:11 pm
Контактная информация:

Re: Разграничить сайты друг от друга

Сообщение Amney » Вт апр 23, 2019 1:07 pm

dima писал(а):
Пн апр 22, 2019 3:28 pm
Проблема решена, для изоляции сайта идем в каталог /etc/httpd/vhost.d и открываем конфиг нужного сайта.

Далее, внутри блока <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"
Здесь optima - это мой пользователь.
rvp74.rf - один из сайтов данного пользователя.

Пути, соответственно, нужно заменить на свои.

Огромное спасибо dmitry_stas - без его помощи у меня вряд ли бы получилось разобраться в вопросе.
Т .е. это получается просто включение open_basedir на каждый домен?
Я думал это через панель можно сделать.

dima
Сообщения: 48
Зарегистрирован: Сб мар 30, 2019 11:11 am

Re: Разграничить сайты друг от друга

Сообщение dima » Вт апр 23, 2019 2:04 pm

Amney писал(а):
Вт апр 23, 2019 1:07 pm
dima писал(а):
Пн апр 22, 2019 3:28 pm
Проблема решена, для изоляции сайта идем в каталог /etc/httpd/vhost.d и открываем конфиг нужного сайта.

Далее, внутри блока <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"
Здесь optima - это мой пользователь.
rvp74.rf - один из сайтов данного пользователя.

Пути, соответственно, нужно заменить на свои.

Огромное спасибо dmitry_stas - без его помощи у меня вряд ли бы получилось разобраться в вопросе.
Т .е. это получается просто включение open_basedir на каждый домен?
Я думал это через панель можно сделать.
Ну да. Насчет того, чтобы сделать это через панель - только если разработчики добавят такую кнопку) По идее там где-то в недрах админки есть пункт - индивидуальная достройка виртхостов, но как она работает и куда потом этим настройки идут, я не знаю.

Поэтому пока что можно применять open_basedir и вручную, это не так уж и сложно. Можно через стандартный файл менеджер все настройки вписать, не заморачиваясь ssh подключением через консоль.

Аватара пользователя
Amney
Сообщения: 259
Зарегистрирован: Вс сен 02, 2018 5:11 pm
Контактная информация:

Re: Разграничить сайты друг от друга [РЕШЕНО]

Сообщение Amney » Вт апр 23, 2019 2:32 pm

dima писал(а):
Вт апр 23, 2019 2:04 pm
По идее там где-то в недрах админки есть пункт - индивидуальная достройка виртхостов, но как она работает и куда потом этим настройки идут, я не знаю.
Они создают отдельный конфиг для каждого домена, который инклюдится из основного конфига, как apache так и nginx, и хранятся в отдельных директориях по определенному пути (уже не помню путь, тут на форуме есть)

Ответить