Автор Тема: Може ли да се излезе от chroot ?  (Прочетена 3243 пъти)

toti84

  • Напреднали
  • *****
  • Публикации: 115
    • Профил
Здравейте колеги,
интересно ми е дали chroot е на сто процента сигурен инструмент от гледна точка на сигурноста.
т.е. може ли "някой хакер" да излезе от него. Понеже съм направил chroot-a с yum както е описано тук http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=380235888
наред с apacheto например се инсталирант доста системи програми: от които изтрих /bin/su
Въпроса ми точно е дали по някакъв начин мога да вдигна сигурноста относно chroot-a
Благодаря предварително ...

П.П. Трябва ли да забия някаква здрава парола на root протребитела в chroot-a ...
Активен

teh

  • Напреднали
  • *****
  • Публикации: 56
    • Профил
Re: Може ли да се излезе от chroot ?
« Отговор #1 -: Apr 26, 2010, 16:47 »
http://www.bpfh.net/simes/computing/chroot-break.html
http://kerneltrap.org/Linux/Abusing_chroot

Можеш да "вдигнеш сигурността" като махнеш всички suid бинарита. Така намаляваш шанса някой да придобие root в chroot-а. Но ако някой има root вътре - излиза.
« Последна редакция: Apr 26, 2010, 17:22 от teh »
Активен

toti84

  • Напреднали
  • *****
  • Публикации: 115
    • Профил
Re: Може ли да се излезе от chroot ?
« Отговор #2 -: Apr 27, 2010, 12:04 »
http://www.bpfh.net/simes/computing/chroot-break.html
http://kerneltrap.org/Linux/Abusing_chroot

Можеш да "вдигнеш сигурността" като махнеш всички suid бинарита. Така намаляваш шанса някой да придобие root в chroot-а. Но ако някой има root вътре - излиза.

Доколкото разбрах от горните две статий се оптват да ме обедат, че ако си направя затвор
Код
GeSHi (Bash):
  1. mkdir /chroot/
влезна вътре като root потребител:
Код
GeSHi (Bash):
  1. chroot /chroot/
и след това като напрява това:
Код
GeSHi (Bash):
  1. chroot ../
или това:
Код
GeSHi (Bash):
  1. cd ../
Ще излеза, @teh правилно ли съм разбрал, защото ако "да" просто НЕСТАВА
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Може ли да се излезе от chroot ?
« Отговор #3 -: Apr 27, 2010, 13:36 »
Значи chroot() е викнат като хората,  тоя номер минава ако преди chroot(), текущата директория не е била тази, където е chroot средата.

Има много начини chroot средите да се чупят ако имаш root права. Елементарен пример - качваш там по някакъв начин mount, монтираш /proc, пишеш cd /proc/1/cwd и си вън. Друг вариант - mknod-ваш си блоковото устройство, монтираш го и си го бърникаш. Има и по-advanced методи, но мисля, че това е напълно достатъчно и не изисква много мислене.

Ползването на chroot() е лоша идея просто. Ползването на chroot()-нати среди с root-ски привилегии е простотия.
Активен

"Knowledge is power" - France is Bacon

toti84

  • Напреднали
  • *****
  • Публикации: 115
    • Профил
Re: Може ли да се излезе от chroot ?
« Отговор #4 -: Apr 27, 2010, 14:57 »
Тук не става въпрос за това някой да има права на роот в затвора и да не може да излезе.
Става въпрос за мерки против придобиването на роот права в затвора,
С уговорката например че ще се пускат приложения от сорта на apache, mysql, sendmail

Това което направих, незнам дали е правилно, ако може кажете и вашето мнение

chmod gu-s -R $chroot/
chattr +i -R $chroot/etc/
chattr +i -R $chroot/var/www/

другото което се замислих е в $chroot/etc/passwd да сложа на root /sbin/nologin
също така незнам дали ще е добра идея да махна $chroot/bin/bash (само не знам дали ще сработи sendmail-a), което е без предметно ако някой си качи негов bash.

@gat3way мойте уважения към теб, но няма ли да е по-трудно да ти превземата целя ком. ако си сложиш публичните услуги в chroot, а и естествено си го конфигурирал по-възможно най-правилния начин.

« Последна редакция: Apr 27, 2010, 15:01 от toti84 »
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: Може ли да се излезе от chroot ?
« Отговор #5 -: Apr 27, 2010, 15:18 »
също така незнам дали ще е добра идея да махна $chroot/bin/bash (само не знам дали ще сработи sendmail-a), ...
За sendmail има специален шел за целта - smrsh
Edit: не че те насърчавам да го правиш, само отбелязвам факта.
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

v_badev

  • Напреднали
  • *****
  • Публикации: 1355
    • Профил
Re: Може ли да се излезе от chroot ?
« Отговор #6 -: Apr 27, 2010, 15:21 »
Те хората ти казаха, ама да се присъединя и аз - http://kerneltrap.org/Linux/Abusing_chroot :)
Няма значение дали ще махнеш bash от chroot-а. Преди време имаше експлойт с който можеше да се изпълни код като root през cron. Мисля че точно по този начин беше пробита една от основните машини на Debian (цък).
« Последна редакция: Apr 27, 2010, 15:25 от v_badev »
Активен

toti84

  • Напреднали
  • *****
  • Публикации: 115
    • Профил
Re: Може ли да се излезе от chroot ?
« Отговор #7 -: Apr 27, 2010, 16:07 »
Добре след като chroot не е security tool има ли някаква алтернатива в тази насока.
Вие как си пускате публичните услуги. Добра идея ли е да се използва нещо като vserver.
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Може ли да се излезе от chroot ?
« Отговор #8 -: Apr 27, 2010, 17:19 »
Цитат
@gat3way мойте уважения към теб, но няма ли да е по-трудно да ти превземата целя ком. ако си сложиш публичните услуги в chroot, а и естествено си го конфигурирал по-възможно най-правилния начин.

Ми ще бъде само малко по-трудно :)

Това дали лошите ще успеят да се сдобият с административни права е основната драма и в двата случая. Ако се сдобият с такива и са в chroot среда, ще излязат оттам. Да, може да се правят разни фокуси, примерно с capability-тата на изпълнимите файлове (но излизаме извън дискусията).

Ако идеята е да изолираш услугите с оглед на сигурността, най-добре ги подкарай в отделни виртуални машини. Там имаш пълна изолация и лошите трябва да разчитат единствено на уязвимости в хипервайзора, за да направят каквото и да е било извън виртуалната машина. А и според мен, така е доста по-лесно. chroot среди се правят трудно като хората и смисълът не е особено голям.

Един голям плюс на този подход е че доста по-лесно се customize-ват отделните виртуални машини в сравнение с отделните chroot среди. Примерно искаш различна дистрибуция, различно ядро - няма проблеми.
Активен

"Knowledge is power" - France is Bacon

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Chroot проблем ?
Настройка на програми
rers32e 7 3105 Последна публикация Mar 22, 2006, 09:01
от
Chroot - синтаксис и значение
Настройка на програми
emagi 5 2968 Последна публикация Nov 01, 2007, 21:38
от gat3way
Chroot - разширяване
Хардуерни и софтуерни проблеми
Ivshti 0 1853 Последна публикация Sep 28, 2008, 20:37
от Ivshti
грешен chroot - CentOS не boot-ва
Хардуерни и софтуерни проблеми
de_dust2 0 2168 Последна публикация Jun 08, 2014, 14:52
от de_dust2
Алтернативи на chroot jail?
Настройки на софтуер
4096bits 6 3769 Последна публикация Mar 22, 2015, 08:28
от kip