Титла: Може ли да се излезе от chroot ? Публикувано от: toti84 в Apr 26, 2010, 14:53 Здравейте колеги,
интересно ми е дали chroot е на сто процента сигурен инструмент от гледна точка на сигурноста. т.е. може ли "някой хакер" да излезе от него. Понеже съм направил chroot-a с yum както е описано тук http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=380235888 ($2) наред с apacheto например се инсталирант доста системи програми: от които изтрих /bin/su Въпроса ми точно е дали по някакъв начин мога да вдигна сигурноста относно chroot-a Благодаря предварително ... П.П. Трябва ли да забия някаква здрава парола на root протребитела в chroot-a ... Титла: Re: Може ли да се излезе от chroot ? Публикувано от: teh в Apr 26, 2010, 16:47 http://www.bpfh.net/simes/computing/chroot-break.html
http://kerneltrap.org/Linux/Abusing_chroot Можеш да "вдигнеш сигурността" като махнеш всички suid бинарита. Така намаляваш шанса някой да придобие root в chroot-а. Но ако някой има root вътре - излиза. Титла: Re: Може ли да се излезе от chroot ? Публикувано от: toti84 в Apr 27, 2010, 12:04 http://www.bpfh.net/simes/computing/chroot-break.html Доколкото разбрах от горните две статий се оптват да ме обедат, че ако си направя затвор Код влезна вътре като root потребител: Код и след това като напрява това: Код или това: Код Ще излеза, @teh правилно ли съм разбрал, защото ако "да" просто НЕСТАВА Титла: Re: Може ли да се излезе от chroot ? Публикувано от: gat3way в Apr 27, 2010, 13:36 Значи chroot() е викнат като хората, тоя номер минава ако преди chroot(), текущата директория не е била тази, където е chroot средата.
Има много начини chroot средите да се чупят ако имаш root права. Елементарен пример - качваш там по някакъв начин mount, монтираш /proc, пишеш cd /proc/1/cwd и си вън. Друг вариант - mknod-ваш си блоковото устройство, монтираш го и си го бърникаш. Има и по-advanced методи, но мисля, че това е напълно достатъчно и не изисква много мислене. Ползването на chroot() е лоша идея просто. Ползването на chroot()-нати среди с root-ски привилегии е простотия. Титла: Re: Може ли да се излезе от chroot ? Публикувано от: toti84 в 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, а и естествено си го конфигурирал по-възможно най-правилния начин. Титла: Re: Може ли да се излезе от chroot ? Публикувано от: laskov в Apr 27, 2010, 15:18 също така незнам дали ще е добра идея да махна $chroot/bin/bash (само не знам дали ще сработи sendmail-a), ...За sendmail има специален шел за целта - smrsh Edit: не че те насърчавам да го правиш, само отбелязвам факта. Титла: Re: Може ли да се излезе от chroot ? Публикувано от: v_badev в Apr 27, 2010, 15:21 Те хората ти казаха, ама да се присъединя и аз - http://kerneltrap.org/Linux/Abusing_chroot :)
Няма значение дали ще махнеш bash от chroot-а. Преди време имаше експлойт с който можеше да се изпълни код като root през cron. Мисля че точно по този начин беше пробита една от основните машини на Debian (цък ($2)). Титла: Re: Може ли да се излезе от chroot ? Публикувано от: toti84 в Apr 27, 2010, 16:07 Добре след като chroot не е security tool има ли някаква алтернатива в тази насока.
Вие как си пускате публичните услуги. Добра идея ли е да се използва нещо като vserver. Титла: Re: Може ли да се излезе от chroot ? Публикувано от: gat3way в Apr 27, 2010, 17:19 Цитат @gat3way мойте уважения към теб, но няма ли да е по-трудно да ти превземата целя ком. ако си сложиш публичните услуги в chroot, а и естествено си го конфигурирал по-възможно най-правилния начин. Ми ще бъде само малко по-трудно :) Това дали лошите ще успеят да се сдобият с административни права е основната драма и в двата случая. Ако се сдобият с такива и са в chroot среда, ще излязат оттам. Да, може да се правят разни фокуси, примерно с capability-тата на изпълнимите файлове (но излизаме извън дискусията). Ако идеята е да изолираш услугите с оглед на сигурността, най-добре ги подкарай в отделни виртуални машини. Там имаш пълна изолация и лошите трябва да разчитат единствено на уязвимости в хипервайзора, за да направят каквото и да е било извън виртуалната машина. А и според мен, така е доста по-лесно. chroot среди се правят трудно като хората и смисълът не е особено голям. Един голям плюс на този подход е че доста по-лесно се customize-ват отделните виртуални машини в сравнение с отделните chroot среди. Примерно искаш различна дистрибуция, различно ядро - няма проблеми. |