Помощь - Поиск - Пользователи - Календарь
Полная версия: Недостаточная защищённость данных на shared'е
Онлайн-форум hostobzor.ru > Архив (темы до 1.06.2015). Только для чтения. > Коммерческий хостинг. Общие форумы > Общие вопросы
X-Ception
Хочется поднять эту же тему, уже обсуждавшуюся ранее. Уже много было сказано ранее, но по сути дела очень мало, поэтому я хочу сейчас опустить такие не столь важные, на мой взгляд, моменты, как недостатки пользовательских скриптов, технологию создания субдоменов, да и вообще саму панель управления тоже.
Объясню суть проблемы:
Имеем сервер с shared-хостингом, на нем работает апач под пользователем nobody, с подключенным модулем пхп (mod_php) - вообщем-то стандартная ситуация. Я, как клиент данного хостинга, загружаю туда свой сайт. Сайт у меня написан на PHP, а значит права на *.php файлы я должен установить такие, чтобы пхп мог иметь доступ к этим файлам, как минимум для чтения.
На этом же сервере покупает услуги хостинга второй пользователь. Он точно знает, что мой сайт находится на этом же сервере. Несложно пишется скрипт, которой отображает содержимое указанного файла, а в качестве этого файла указывает полный путь к моему файлу, который определить достаточно легко: /home или /usr/home /мой_домен/public_html/index.php Таким образом пхп откроет мой файл (ведь я ему сам разрешил это делать!) и отдаст всё содержимое файла другому пользователю...

Варианты решения проблемы, которые приходят на ум:
1. Шифрование всех важных файлов - вариант конечно интересный, но потом возникнут сложности с редактированием таких файлов, а также нужно позаботиться о надежном методе шифрования.
2. Для каждого пользователя свой апач с пхп, запущенный под его именем, и тогда права доступа вида x00 на все папки и файлы решают проблему, но я лично не видел нигде, чтобы таким занимались, и, как заметил eSupport.org.ua в предыдущей теме, нет программных средств для реализации данного варианта.
3..... может быть продолжите список?

Вопрос тут один: что же делать? smile.gif Для примера, есть молодой и перспективный проект, как и у любого проекта есть свои поклонники, так и недоброжелатели. А если в этом проекте используется какая-нибудь автоматизированная система, то хранение паролей и прочей конфиденциальной информации неизбежно. Так что же shared-хостинг не подходит для такого проекта? И годится только для домашних страничек? rolleyes.gif
HostGrad.RU
Совершенно неверно! У нас к примеру стоит PHP4(CGI)+PHP5(CGI), именно как CGI и все скрипты от имени пользователя запускаются, а не от апача. Поэтому проблема неактуальна.
adamant
Цитата(X-Ception @ 07.09.2006, 01:10) *

2. Для каждого пользователя свой апач с пхп, запущенный под его именем, и тогда права доступа вида x00 на все папки и файлы решают проблему, но я лично не видел нигде, чтобы таким занимались, и, как заметил eSupport.org.ua в предыдущей теме, нет программных средств для реализации данного варианта.


Мы (Зенон) именно так и делаем.
eSupport.org.ua
Цитата(X-Ception @ 07.09.2006, 00:10) *

Имеем сервер с shared-хостингом, на нем работает апач под пользователем nobody, с подключенным модулем пхп (mod_php) - вообщем-то стандартная ситуация. Я, как клиент данного хостинга, загружаю туда свой сайт. Сайт у меня написан на PHP, а значит права на *.php файлы я должен установить такие, чтобы пхп мог иметь доступ к этим файлам, как минимум для чтения.

Используйте php как cgi. Пример как это сделать есть на .masterhost'е

Цитата

На этом же сервере покупает услуги хостинга второй пользователь. Он точно знает, что мой сайт находится на этом же сервере. Несложно пишется скрипт, которой отображает содержимое указанного файла, а в качестве этого файла указывает полный путь к моему файлу, который определить достаточно легко: /home или /usr/home /мой_домен/public_html/index.php Таким образом пхп откроет мой файл (ведь я ему сам разрешил это делать!) и отдаст всё содержимое файла другому пользователю...

Не откроет, ибо есть openbasedir.

Цитата

2. Для каждого пользователя свой апач с пхп, запущенный под его именем, и тогда права доступа вида x00 на все папки и файлы решают проблему, но я лично не видел нигде, чтобы таким занимались, и, как заметил eSupport.org.ua в предыдущей теме, нет программных средств для реализации данного варианта.

Программные средства есть. Нет денег. У потенциальных клиентов которые хотят защитить свой сайт но не способны осилить VDS за пять баксов.


Цитата

Вопрос тут один: что же делать? smile.gif Для примера, есть молодой и перспективный проект, как и у любого проекта есть свои поклонники, так и недоброжелатели. А если в этом проекте используется какая-нибудь автоматизированная система, то хранение паролей и прочей конфиденциальной информации неизбежно. Так что же shared-хостинг не подходит для такого проекта? И годится только для домашних страничек? rolleyes.gif

Использовать VDS.

Цитата(HostGrad.RU @ 07.09.2006, 00:25) *

Совершенно неверно! У нас к примеру стоит PHP4(CGI)+PHP5(CGI), именно как CGI и все скрипты от имени пользователя запускаются, а не от апача. Поэтому проблема неактуальна.

И что будет с сервером если запустится 200-300 процессов php? smile.gif

Цитата(adamant @ 07.09.2006, 17:59) *

Мы (Зенон) именно так и делаем.

Это заметно, по расценкам cool.gif
AndreyS
Цитата
Не откроет, ибо есть openbasedir.

Этого явно недостаточно. Он легко обходится например через разнообразные "system" вызовы.

Есть еще режим safe-mode.
Есть вариант работы через fast-cgi
X-Ception
eSupport.org.ua, вы сами себе противоречите, такое ощущение что под вашим ником пишут разные люди, причем иногда даже одно сообщение smile.gif
Цитата
Используйте php как cgi. Пример как это сделать есть на .masterhost'е

Цитата
И что будет с сервером если запустится 200-300 процессов php?

То советуете, затем критикуете... По поводу php как cgi, я бы сказал, что такой вариант мягко говоря неприемлем - это очень плохо сказывается на производительности и скорости работы скриптов.
Идем дальше:
Цитата
Не откроет, ибо есть openbasedir.

Цитата
Для того чтоб прочесть пароль из config.php необходимо иметь права чтения этого файла. А прочесть можно через php, openbasedir не спасет.

Вторая цитата взята отсюда: http://forum.hostobzor.ru/index.php?showto...amp;#entry48210

Цитата
Использовать VDS.

Тут не поспоришь, всё верно, но тогда ведь встает вопрос: а кому тогда нужен такой shared-хостинг??

Вот еще нашлась интересная статья как раз по данному вопросу: http://ural.tn.ru/proforg/docs/net/apache/hack/index.html
Датирована она 2001 годом, но актуальности, я думаю, до сих пор не оптеряла, т.к. по прежнему в на большинстве серверов стоит 1-я версия апача. В самом конце статьи сказано, что данная проблема полностью решена во второй версии, но почему тогда она не пользуется такой широкой популярностью? Хотя наверное этот вопрос нужно задавать разработчикам панелей управления, которые жестко привязваются к определенным версиям другого ПО...
AndreyS
Цитата(X-Ception @ 07.09.2006, 23:19) *

по прежнему в на большинстве серверов стоит 1-я версия апача. В самом конце статьи сказано, что данная проблема полностью решена во второй версии, но почему тогда она не пользуется такой широкой популярностью? Хотя наверное этот вопрос нужно задавать разработчикам панелей управления, которые жестко привязваются к определенным версиям другого ПО...


Я думаю, что одна из причин неиспользования второй версии Арача объясняется вот этой фразой с сайта php.net:
Цитата
We do not recommend using a threaded MPM in production with Apache2. Use the prefork MPM instead, or use Apache1


В общем-то и интересует эта самая "threaded MPM" иначе зачем переходить на 2-ю версию?
adamant
Цитата(eSupport.org.ua @ 07.09.2006, 20:41) *

Используйте php как cgi. Пример как это сделать есть на .masterhost'е


Минус в производительности. А также можно забыть про HTTP-авторизацию и persistent connections.
Dmitry Danilenko
Цитата(adamant @ 08.09.2006, 11:10) *

Минус в производительности. А также можно забыть про HTTP-авторизацию и persistent connections.


Саша, про HTTP-авторизацию ты погорячился. Лично у нас все работает wink.gif
Andrey
а libcap (posix 1003.1e) кто мешает использовать (на линуксе)? huh.gif
и php как mod_php и apache child'ы от своего юзера, и mod_suexec не нужен.
AndreyS
persistent connections тоже не однозначно нужная, а главное полезная вещь. smile.gif
adamant
Цитата(AndreyS @ 08.09.2006, 12:39) *

persistent connections тоже не однозначно нужная, а главное полезная вещь. smile.gif


При большой посещаемости сайта... Мне кажется - очень полезная вещь.

Цитата(Dmitry Danilenko @ 08.09.2006, 12:11) *

Саша, про HTTP-авторизацию ты погорячился. Лично у нас все работает wink.gif


То есть, можно организовать HTTP-авторизацию средствами PHP, который работает как CGI?

А расскажи - как? Можно лично. wink.gif Может, я торможу, но просто интересно. wink.gif
eSupport.org.ua
Цитата(AndreyS @ 07.09.2006, 21:01) *

Этого явно недостаточно. Он легко обходится например через разнообразные "system" вызовы.

Их можно отключить (сюрприз, сюрприз!) smile.gif
eSupport.org.ua
Цитата(X-Ception @ 07.09.2006, 22:19) *

eSupport.org.ua, вы сами себе противоречите, такое ощущение что под вашим ником пишут разные люди, причем иногда даже одно сообщение smile.gif

Потому что идеальных решений нет smile.gif

Цитата

Вот еще нашлась интересная статья как раз по данному вопросу: http://ural.tn.ru/proforg/docs/net/apache/hack/index.html
Датирована она 2001 годом, но актуальности, я думаю, до сих пор не оптеряла, т.к. по прежнему в на большинстве серверов стоит 1-я версия апача.


Ужасное решение. Куда более лучше phpsuexec.


Цитата(adamant @ 08.09.2006, 10:10) *

Минус в производительности. А также можно забыть про HTTP-авторизацию и persistent connections.

Естественно. Где одного прибудет там другого убавится. Закон физики. smile.gif
proff
2-й вариант в IIS довольно просто решается, причем и с одним сервером на всех smile.gif
eSupport.org.ua
iis - он под windows. А там своих ньюансов хватает.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.