The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Ограничение процессорного времени на вирт. хостинге"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Ограничение процессорного времени на вирт. хостинге"  
Сообщение от Harunaga on 15-Сен-08, 09:45 
Организуется сервер для виртуального хостинга.

Схема простая. Виртуальный сервер - это просто процессы, работающие с правами пользователя-владельца вирт. хостинга в chroot. Каждый виртуальный сервер имеет apache, запущенный с правами пользователя в chroot.

Как можно сделать ограничение процессорного времени для каждого пользователя? Через классы и cputime не удается, так как в этом случае лимиты будут влиять и на постоянные процессы (будет, например, умирать apache или php в режиме fastcgi).

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Ограничение процессорного времени на вирт. хостинге"  
Сообщение от angra (ok) on 15-Сен-08, 15:30 
Есть очень много способов обойти чрут, так что не занимайтесь ерундой и перейдите сразу к нормальной виртуализации, например openVZ.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Ограничение процессорного времени на вирт. хостинге"  
Сообщение от Harunaga on 15-Сен-08, 20:43 
>Есть очень много способов обойти чрут, так что не занимайтесь ерундой и
>перейдите сразу к нормальной виртуализации, например openVZ.

Виртуализация - это из пушки по воробьям. В моем случае нужен простейший хостинг с минимальной безопасностью (чтобы пользовательские скрипты не могли читать файлы другого пользователя).

Не знаю ни одного способа обойти chroot (ну если только есть какая-нибудь уязвимость и эксплоит, позволяющая поднять права или изменить каталог). Приведите пример.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Ограничение процессорного времени на вирт. хостинге"  
Сообщение от angra (ok) on 15-Сен-08, 22:39 
>Виртуализация - это из пушки по воробьям. В моем случае нужен простейший хостинг с минимальной безопасностью (чтобы пользовательские скрипты не могли читать файлы другого пользователя).

В простейшем варианте используют один сервис(апач, мускул итд) на всех клиентов, а не запускают в чруте, он вообще для другого сделан. Изоляция делается средствами сервиса. Между прочим оверхед при виртуализациях типа jail/zones/openvz/vserver минимален, а преимущества огромны, почитайте подробней ибо вы явно на неверном пути.

>Не знаю ни одного способа обойти chroot (ну если только есть какая-нибудь уязвимость и эксплоит, позволяющая поднять права или изменить каталог). Приведите пример.

Зависит от того, кто делал чрут. В простейшем случае mount. Вы твердо уверены что сможете предусмотреть все остальные варианты?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Ограничение процессорного времени на вирт. хостинге"  
Сообщение от Harunaga on 16-Сен-08, 07:21 
>В простейшем варианте используют один сервис(апач, мускул итд) на всех клиентов, а
>не запускают в чруте, он вообще для другого сделан. Изоляция делается
>средствами сервиса. Между прочим оверхед при виртуализациях типа jail/zones/openvz/vserver минимален, а
>преимущества огромны, почитайте подробней ибо вы явно на неверном пути.
>
>>Не знаю ни одного способа обойти chroot (ну если только есть какая-нибудь уязвимость и эксплоит, позволяющая поднять права или изменить каталог). Приведите пример.
>
>Зависит от того, кто делал чрут. В простейшем случае mount. Вы твердо
>уверены что сможете предусмотреть все остальные варианты?

Пользователю не нужен root, он не собирается устанавливать приложения. Максимум - сбросить в свой каталог несколько страничек  и php/perl скриптов. В простейшем варианте (один апач на всех) нет возможности обеспечить самую минимальную безопасность - изоляцию каталогов и выполнение скриптов от имени пользователся.

А с jail получим больше проблем, чем решим. Элементарно, нельзя динамически изменить дисковую квоту, в простейшем случае стандартных квот в файловой системе более чем достаточно. Как учитывать процессорное время в jail, тоже непонятно.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Ограничение процессорного времени на вирт. хостинге"  
Сообщение от angra (ok) on 16-Сен-08, 15:51 

>Пользователю не нужен root, он не собирается устанавливать приложения. Максимум - сбросить
>в свой каталог несколько страничек  и php/perl скриптов.

Я не сказал что привилегии рута это необходимое условие для обхода чрут :)
>В простейшем варианте (один апач на всех) нет возможности обеспечить самую минимальную безопасность - изоляцию каталогов и выполнение скриптов от имени пользователся.

Запуск скриптов от имени пользователя делается штатно через suexec. Полное разграничение возможно за счет дополнительных патчей

>А с jail получим больше проблем, чем решим. Элементарно, нельзя динамически изменить
>дисковую квоту, в простейшем случае стандартных квот в файловой системе более
>чем достаточно. Как учитывать процессорное время в jail, тоже непонятно.

Ну по jail я вам не отвечу, слишком много времени назад юзал фрю. А вот в openVZ и та и другая задача легко решаются. Кроме того за настоящий vps можно брать чуть большую денежку :)

Если уж так хочется обойтись без vps, то посмотрите на selinux, он скорее всего обеспечит все что вам нужно, хотя как по мне возни с openVZ значительно меньше, а результат удобней как для админа так и для конечного пользователя.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Ограничение процессорного времени на вирт. хостинге"  
Сообщение от Harunaga on 16-Сен-08, 20:22 

>>Пользователю не нужен root, он не собирается устанавливать приложения. Максимум - сбросить
>>в свой каталог несколько страничек  и php/perl скриптов.
>
>Я не сказал что привилегии рута это необходимое условие для обхода чрут
>:)

В смысле без привилегий рута chroot не обойти?
>>В простейшем варианте (один апач на всех) нет возможности обеспечить самую минимальную безопасность - изоляцию каталогов и выполнение скриптов от имени пользователся.
>
>Запуск скриптов от имени пользователя делается штатно через suexec.

Думал над этим, но тогда php скрипты придется запускать как cgi, что очень медленно, либо держать для каждого пользователя несколько процессов php в режиме fastcgi, что по накладным расходам тоже самое, что и запущеный apache с mod_php.
>
>>А с jail получим больше проблем, чем решим. Элементарно, нельзя динамически изменить
>>дисковую квоту, в простейшем случае стандартных квот в файловой системе более
>>чем достаточно. Как учитывать процессорное время в jail, тоже непонятно.
>
>Ну по jail я вам не отвечу, слишком много времени назад юзал
>фрю. А вот в openVZ и та и другая задача легко
>решаются. Кроме того за настоящий vps можно брать чуть большую денежку
>:)

В том то и дело, что клиенту не надо, ему нужен простой хостинг без излишеств.
>
>Если уж так хочется обойтись без vps, то посмотрите на selinux, он
>скорее всего обеспечит все что вам нужно, хотя как по мне
>возни с openVZ значительно меньше, а результат удобней как для админа
>так и для конечного пользователя.

К сожалению, заказчик хочет только FreeBSD, а под нее комерческие vps мне не известны.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Ограничение процессорного времени на вирт. хостинге"  
Сообщение от angra (ok) on 16-Сен-08, 23:19 
>В смысле без привилегий рута chroot не обойти?

И чему вас на уроках математики учат? Наличие привилегий рута не является необходимым для обхода чрут, оно его упрощает, но и без этого можно справится. Также рутовые привилегии не являются достаточным условием, даже с ними возможен непробиваемый чрут.
>В том то и дело, что клиенту не надо, ему нужен простой
>хостинг без излишеств.

Тогда ищите патч к апачу, позволяющий запускать каждый чайлд со сменой uid, не будет работать mod_worker, но он в любом случае несовместим с mod_php, так что без разницы. Такие патчи писались со времен 1.3 различными хостерами и отдельными разработчитками, попробуйте найти.
>К сожалению, заказчик хочет только FreeBSD, а под нее комерческие vps мне
>не известны.

Тогда стоит получше изучить jail, в любом случае возможностей больше чем в чруте :)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Ограничение процессорного времени на вирт. хостинге"  
Сообщение от Аноним (??) on 16-Сен-08, 21:36 
>А с jail получим больше проблем, чем решим.

С чего бы это? jail == chroot + дополнительная изоляция

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Ограничение процессорного времени на вирт. хостинге"  
Сообщение от Harunaga on 17-Сен-08, 19:57 
>>А с jail получим больше проблем, чем решим.
>
>С чего бы это? jail == chroot + дополнительная изоляция

Тем, что jail позволяет внутри "тюрьмы" запускать процессы с любым uid (включая root), а значит, нельзя для ограничения использовать стандартные средства ОС для лимитирования ресурсов, основанные на uid (квоты файловой системы, лимиты, фаервол).

Решение проблемы по учету процессорного времени - system accounting и стандартная утилита sa. К сожалению, для jail не подходит, так как измеряет на основе uid. Вполне подходит для chroot и разделению ресурсов на основе uid.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру