Страница 1 из 2
					
				Разграничить сайты друг от друга [РЕШЕНО]
				Добавлено: Сб мар 30, 2019 11:27 am
				 dima
				Здравствуйте. Сегодня впервые узнал о BrainyCP и загорелся идеей опробовать. Все очень круто, объем проделанной работы поражает, особенно учитывая, что это делало всего 5 человек. Спасибо за труды)
Собственно мой вопрос не связан напрямую с BinaryCP, скорее просто про администрирование. Можно ли каким-нибудь образом разграничить сайты друг от друга? Чтобы сайты не могли ничего читать и писать в директориях выше и по соседству.
Это на тот случай, если какой-то из сайтов заразят - уже был печальный опыт, когда один зараженный сайт положил всех соседей. Дело тогда было на обычном виртуальном хостинге и там я не имел прямого доступа к серверу. Сейчас решил переезжать на VPS, а опыта не хватает - даже не знаю, что спрашивать в Яндекс / Google. Да и к тому же, вдруг BrainyCP такое разграничение делает из под коробки, а я просто не знаю?
Буду признателен за советы и рекомендации в плане обеспечения безопасности сайтов.
			 
			
					
				Re: Разграничить сайты друг от друга
				Добавлено: Сб мар 30, 2019 11:44 am
				 sbury
				Включите сайт в окружение phpJail
			 
			
					
				Re: Разграничить сайты друг от друга
				Добавлено: Сб мар 30, 2019 12:25 pm
				 dima
				sbury писал(а): ↑Сб мар 30, 2019 11:44 am
Включите сайт в окружение phpJail
 
Почитал форум немного. Если использовать Jail это надо будет под каждый сайт свой хост аккаунт делать?
 
			
					
				Re: Разграничить сайты друг от друга
				Добавлено: Пн апр 01, 2019 7:07 am
				 sbury
				если требуется каждый сайт по отдельности то да
			 
			
					
				Re: Разграничить сайты друг от друга
				Добавлено: Пн апр 01, 2019 5:10 pm
				 dima
				sbury писал(а): ↑Пн апр 01, 2019 7:07 am
если требуется каждый сайт по отдельности то да
 
Спасибо за ответ. Увы, крайне не оптимальный способ изоляции получится.
Не хочу сглазить, но возможно я нашел решение проблемы, это директива 
open_basedir
Пока еще вникаю, да и эксперименты бы неплохо провести. Если все заработает, напишу небольшую мини-инструкцию для остальных.
 
			
					
				Re: Разграничить сайты друг от друга
				Добавлено: Пн апр 01, 2019 8:23 pm
				 Amney
				dima писал(а): ↑Пн апр 01, 2019 5:10 pm
sbury писал(а): ↑Пн апр 01, 2019 7:07 am
если требуется каждый сайт по отдельности то да
 
Спасибо за ответ. Увы, крайне не оптимальный способ изоляции получится.
Не хочу сглазить, но возможно я нашел решение проблемы, это директива 
open_basedir
Пока еще вникаю, да и эксперименты бы неплохо провести. Если все заработает, напишу небольшую мини-инструкцию для остальных.
 
В общем то, эти вещи можно совместить
 
			
					
				Re: Разграничить сайты друг от друга
				Добавлено: Пн апр 22, 2019 3:28 pm
				 dima
				Проблема решена, для изоляции сайта идем в каталог 
/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. Нужно перегрузить сервер, после внесения изменений.
 
			
					
				Re: Разграничить сайты друг от друга
				Добавлено: Вт апр 23, 2019 1:07 pm
				 Amney
				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 на каждый домен?
Я думал это через панель можно сделать.
 
			
					
				Re: Разграничить сайты друг от друга
				Добавлено: Вт апр 23, 2019 2:04 pm
				 dima
				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 подключением через консоль.
 
			
					
				Re: Разграничить сайты друг от друга [РЕШЕНО]
				Добавлено: Вт апр 23, 2019 2:32 pm
				 Amney
				dima писал(а): ↑Вт апр 23, 2019 2:04 pm
По идее там где-то в недрах админки есть пункт - индивидуальная достройка виртхостов, но как она работает и куда потом этим настройки идут, я не знаю.
 
Они создают отдельный конфиг для каждого домена, который инклюдится из основного конфига, как apache так и nginx, и хранятся в отдельных директориях по определенному пути (уже не помню путь, тут на форуме есть)