Debian Hosting (apache2 vhost)
Модератор: weec
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- Hazzard
- сержант
- Сообщения: 265
- Зарегистрирован: 2009-02-01 21:22:36
- Откуда: Москва
- Контактная информация:
Debian Hosting (apache2 vhost)
Добрый день, уважаемый ALL.
У меня стоить на машине Debian с поднятым Apache2+vhost/php/perl и proftpd.
Подскажите как ограничить доступ из папки во внешнюю ФС? Например:
Папка пользователя хостинга (для хранения собственно сайта) /var/www/hosting/username/htdocs
Пользователь может создавать и изменять файлы на своё усмотрение. Но если пользователь захочет он может создавать папки и выше этой папки. Тoесть например в /var/www/hosting.
Как ограничить виртуальный хост на папку /var/www/hosting/username ?
Надеюсь понятно написал?
Зарание спасибо всем ответившим.
У меня стоить на машине Debian с поднятым Apache2+vhost/php/perl и proftpd.
Подскажите как ограничить доступ из папки во внешнюю ФС? Например:
Папка пользователя хостинга (для хранения собственно сайта) /var/www/hosting/username/htdocs
Пользователь может создавать и изменять файлы на своё усмотрение. Но если пользователь захочет он может создавать папки и выше этой папки. Тoесть например в /var/www/hosting.
Как ограничить виртуальный хост на папку /var/www/hosting/username ?
Надеюсь понятно написал?
Зарание спасибо всем ответившим.
Debian, php/mysql и другой бред...
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- ~>cerber<~
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2007-06-23 0:58:32
- Откуда: [UKRAINE]
- Контактная информация:
Re: Debian Hosting (apache2 vhost)
php: open_basedir
а лучше средствами фс, ибо open_basedir есть только в php, perl,python под угрозой, может есть какие модули, я не видел..
а лучше средствами фс, ибо open_basedir есть только в php, perl,python под угрозой, может есть какие модули, я не видел..
;aka coolchevy
live free or die;
live free or die;
-
- лейтенант
- Сообщения: 863
- Зарегистрирован: 2007-09-24 12:41:05
- Откуда: dn.ua
- Контактная информация:
Re: Debian Hosting (apache2 vhost)
каким образом ограничить php кроме open_basedir ?~>cerber<~ писал(а):php: open_basedir
а лучше средствами фс, ибо open_basedir есть только в php, perl,python под угрозой, может есть какие модули, я не видел..
With best wishes, Sergej Kandyla
- ~>cerber<~
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2007-06-23 0:58:32
- Откуда: [UKRAINE]
- Контактная информация:
-
- лейтенант
- Сообщения: 863
- Зарегистрирован: 2007-09-24 12:41:05
- Откуда: dn.ua
- Контактная информация:
Re: Debian Hosting (apache2 vhost)
вообщето, chroot первоначально создавался не для обеспечения безопасности. Там есть очень очень много ньюансов, а кроме того это все значительно усложняет настройку и сапорт, настолько, что я бы даже не рекомендовал такое делать.
для линукса может помочь selinux, также если говорить о хостинге, то можно поместить сам хостинг в контейнер openvz (требует установки модифицированного ядра) - вот это уже будет полноценное решение (особенно, если на сервере используются и нехостинговые службы.)
также, cgi (perl,python), crontab, shell для хостинга лучше не использовать
для php - обязательно openbasedir и набор disabled_functions типа exec, system и прочие.
ну и обязательно, last updates on system.
для линукса может помочь selinux, также если говорить о хостинге, то можно поместить сам хостинг в контейнер openvz (требует установки модифицированного ядра) - вот это уже будет полноценное решение (особенно, если на сервере используются и нехостинговые службы.)
также, cgi (perl,python), crontab, shell для хостинга лучше не использовать
для php - обязательно openbasedir и набор disabled_functions типа exec, system и прочие.
ну и обязательно, last updates on system.
With best wishes, Sergej Kandyla
-
- лейтенант
- Сообщения: 863
- Зарегистрирован: 2007-09-24 12:41:05
- Откуда: dn.ua
- Контактная информация:
Re: Debian Hosting (apache2 vhost)
to Hazzard, если вы имеете ввиду, что пользователь может по фтп видеть все папки, то вам нужно выставить пару настроек в proftpd, кажется
Код: Выделить всё
DefaultRoot ~
With best wishes, Sergej Kandyla
- Hazzard
- сержант
- Сообщения: 265
- Зарегистрирован: 2009-02-01 21:22:36
- Откуда: Москва
- Контактная информация:
Re: Debian Hosting (apache2 vhost)
нет, не то ... первый ваш ответ сильней помог..paix писал(а):to Hazzard, если вы имеете ввиду, что пользователь может по фтп видеть все папки, то вам нужно выставить пару настроек в proftpd, кажется
Код: Выделить всё
DefaultRoot ~
решение:
Добавляем в файл вхоста в раздел папки примерно следующее:
Код: Выделить всё
php_flag engine on
php_admin_value open_basedir /var/www/hosting/$host/htdocs
php_admin_value upload_tmp_dir /var/www/hosting/$host/tmp
php_admin_value max_execution_time 10
php_admin_value disable_functions exec,system,passthru,popen
Осталось найти такое же решение для перла.
Debian, php/mysql и другой бред...
-
- лейтенант
- Сообщения: 863
- Зарегистрирован: 2007-09-24 12:41:05
- Откуда: dn.ua
- Контактная информация:
Re: Debian Hosting (apache2 vhost)
для cgi (perl) таких решений нет ( suexec само собой) . Тут можно уповать только на силу unix permissions. В первую очередь, хочу обратить внимание, что конфиги системы являются малоценными по сравнению с данными пользователей, т.е. на хомы пользователей должны стоять такие права, чтобы чужой перл не мог их прочитать.
Во вторую очередь, поскольку, всеже, из под перл просматривается вся система (согласно unix permissions) то я рекомендовал полностью отключить его (cgi, shell). Это не такой обременительный ход как может казаться, особенно если это не шаредхостинг.
http://reki.ru/massvirthosting_php.html
для php - побольше функций можно добавить в disabled, и главное, наблюдайте за debian-security-announce, php надо обновлять как только так сразу, ибо иногда через дыры в пхп, обходят openbasedir. Противостоять этому помогают disabled functions.
Также, неплохо бы выставить переменные php.ini:
register globals off
url_fopen off
magic_quotes
etc...
+ прикрутить mod_security который блокирует львиную долю дряни.
PS. единственный момент который я не знаю пока как "прямо" решить - это то что в mod_php файлы создаются от владельца веб сервера (www\apache) и потом юзер их не может поменять. Существуют кастыли типа suiddir (для линукса идет сторонним патчем), которые довольно не стабильны и предоставляют потенциальную угрозу. Другой вариант это по крону менять рекурсивно права на владельца (тоже кастыльно..)
Если кто-то знает решение этой проблемы (без внедрения suexec\cgi) - поделитесь пож.
Во вторую очередь, поскольку, всеже, из под перл просматривается вся система (согласно unix permissions) то я рекомендовал полностью отключить его (cgi, shell). Это не такой обременительный ход как может казаться, особенно если это не шаредхостинг.
http://reki.ru/massvirthosting_php.html
для php - побольше функций можно добавить в disabled, и главное, наблюдайте за debian-security-announce, php надо обновлять как только так сразу, ибо иногда через дыры в пхп, обходят openbasedir. Противостоять этому помогают disabled functions.
Также, неплохо бы выставить переменные php.ini:
register globals off
url_fopen off
magic_quotes
etc...
+ прикрутить mod_security который блокирует львиную долю дряни.
PS. единственный момент который я не знаю пока как "прямо" решить - это то что в mod_php файлы создаются от владельца веб сервера (www\apache) и потом юзер их не может поменять. Существуют кастыли типа suiddir (для линукса идет сторонним патчем), которые довольно не стабильны и предоставляют потенциальную угрозу. Другой вариант это по крону менять рекурсивно права на владельца (тоже кастыльно..)
Если кто-то знает решение этой проблемы (без внедрения suexec\cgi) - поделитесь пож.
With best wishes, Sergej Kandyla