Страница 1 из 1

Виртуальный хостинг и безопасность

СообщениеДобавлено: Чт янв 03, 2008 1:49 am
prohost
Всем привет!
Подниму в очередной раз наверное самый животрепещущий вопрос по поводу виртуального хостинга клиентов (Apache+PHP+Perl) и безопасности системы и в первую очередь других клиентов.
Надо сделать так, что бы у пользователя не было возможности читать какие либо файлы в системе, кроме тех, которые расположены в его домашней директории (Ex: /hosting/user_login1), к которой он должен иметь полный доступ по FTP и HTTP

Варианты решения:
1. Jail
ПЛЮСЫ: для каждого сервера (клиента) создается своя виртуальная машина, в пределах которой он может делать что хочет, выйти за ее пределы не даст само ядро.
МИНУСЫ: неоправданно большой расход ресурсов: процессор, память, частично дисковое пространство.

2. chroot
Плюсы/Минусы - см п.1

3. Ограничение средствами безопасности самой системы (chmod,chown,setfacl)
ПЛЮСЫ: Хорошо подходит для обеспечения безопасности FTP доступа
МИНУСЫ: Не подходит для обеспечения безопасности от Perl/PHP скриптов (т.к. пользователь от которого работает web сервер должен иметь права как минимум на чтение в папки пользователей. (ex. user_login1:www 740)

4. ?

Кто продолжит список? Желательно поподробней.

Re: Виртуальный хостинг и безопасность

СообщениеДобавлено: Чт янв 03, 2008 1:52 am
proff
Да, тема интересная
Думаю, пока php работает с правами веб-сервера, о безопасности говорить трудно, даже если safe mode включить. Пускать его как cgi - вариант очевидно фиговый.
Что можно сделать в этом плане - напр. посмотреть на др. mpm в апаче, на замену prefork, но думаю при большом кол-ве мелких сайтов, решение не очень.
Есть разные подпорки, вроде suphp (так вроде называется), но не юзал, не знаю.
Ну если си в руках держишь, то можно и самому апач обучить работать как надо.
С оставшимися сервисами (ftp/ssh/cgi через suexec) вроде проблем особых нет, они и так под правами юзера работают.
Ну и общую безопасность юниксов тоже докрутить не помешает - все лишнее за борт, неисполняемые /tmp и /var, не давать смотреть списки процессов и юзеров и тд и тп.

Удачи!

Re: Виртуальный хостинг и безопасность

СообщениеДобавлено: Чт янв 03, 2008 1:55 am
WebDesk
ограничения можно сделать установив панель управления.
Для Unix систем Cpanel , для Windows Plesk.

Re: Виртуальный хостинг и безопасность

СообщениеДобавлено: Чт янв 03, 2008 1:56 am
proff
WebDesk писал(а):ограничения можно сделать установив панель управления.
Для Unix систем Cpanel , для Windows Plesk.

Про винду не знаю, но под юниксами, в данном аспекте это просто включенный safe mode, не более того, php все равно работает с правами веб-сервера.
cpanel правда предлагает еще вариант гонять php через phpsuexec.

Re: Виртуальный хостинг и безопасность

СообщениеДобавлено: Чт янв 03, 2008 1:57 am
WebDesk
proff писал(а):
cpanel правда предлагает еще вариант гонять php через phpsuexec.

При этом ресурсы сильно уходят

Re: Виртуальный хостинг и безопасность

СообщениеДобавлено: Чт янв 03, 2008 2:00 am
ZloyKvoter

Варианты решения:
1. Jail
2. chroot
3. Ограничение средствами безопасности самой системы (chmod,chown,setfacl)
4. ?

На FreeBSD есть патчик для cgi, который джайлит процесс. Это что касаемо CGI
Так же есть возможность на втором апаче делать peruser - запускать процессы от разных пользователей.

Re: Виртуальный хостинг и безопасность

СообщениеДобавлено: Чт янв 03, 2008 2:02 am
LuSeR
WebDesk писал(а):ограничения можно сделать установив панель управления.
Для Unix систем Cpanel , для Windows Plesk.

А при чем тут панель? И без панели можно руками все выставить :D

Re: Виртуальный хостинг и безопасность

СообщениеДобавлено: Чт янв 03, 2008 2:04 am
LuSeR
Да и ещё
ZloyKvoter писал(а):На FreeBSD есть патчик для cgi, который джайлит процесс. Это что касаемо CGI
Так же есть возможность на втором апаче делать peruser - запускать процессы от разных пользователей.

Насколько известно, модуль, который обеспечивает peruser на втором Apache еще не окончательно доработан, и запускать его в промышленную эксплуатацию вряд ли имеет смысл. Разве что самому дорабатывать.

Одним из возможных решений проблемы может быть использование front-end + back-end.

Re: Виртуальный хостинг и безопасность

СообщениеДобавлено: Чт янв 03, 2008 2:07 am
ZloyKvoter
LuSeR писал(а):Насколько известно, модуль, который обеспечивает peruser на втором Apache еще не окончательно доработан, и запускать его в промышленную эксплуатацию вряд ли имеет смысл. Разве что самому дорабатывать.

Ну естественно - доработать и в продакшн
Я вот доработал - нареканий нет :D