Чому Chroot вважається небезпечним?


12

Я вже пару років бавлюсь із CentOS box. Тож я досить зручна з терміналом. Однак я читав багато публікацій у блозі, у яких стверджував, що Chroot є небезпечним, а кількість цих публікацій лякає. Це справді так? Чому?

Я використовую chroot для блокування користувачів, що відповідають лише SFTP, у конкретному контексті, без оболонки чи команд. Тож справді, у чому проблема безпеки?

Питання вислано із StackOverflow .


1
По-перше: питання не було закрито / перенесено на Stack Overflow , але там очевидно OT. Відповідною дією було б зачекати, поки вона буде міграція або позначити її та попросити мода зробити це, а не перекладати його на інший сайт. Але друге: Якщо ви «пограєте з CentOS», ви також тут помиляєтесь. Цей сайт призначений для професійних системних адміністраторів, а не для любителів - див. Наші поширені запитання .
Свен

2
@SvenW дякую, я буду мати на увазі вашу пораду на майбутнє. А щодо "другого", ну, вибачте, але я не бачу, як моє запитання порушує FAQ. Прочитавши його двічі зараз, можу сказати, що це не так. Щодо фрази "пограти з CentOS", я подумав, що цілком очевидно, що хротування та користування лише SFTP та розгляд щодо безпеки є дуже серйозною темою, від якої професіонали можуть отримати користь також у своїх корпоративних чи будь-яких інших ". професійні »середовища.
Олександр Маков

1
@sven у випадку, якщо ви не знали, SF було видалено зі списку міграції SO через те, скільки поганих питань вони нам надіслали.
MDMarra

Відповіді:


9

Тому що, в більшості випадків, кореневий процес може легко вийти з chroot. Це задумано, оскільки Chroot ніколи не задумувався як захисний пристрій.

Алан Кокс дещо знаменито зазнав розробки розробника, який подав патч ядра, щоб "виправити" таку поведінку, стверджуючи, що Chroot зловживають як захисний пристрій, але ніколи його не передбачали.


Ідеально! Дуже дякую. Отже, це питання кореневих процесів, які присутні в корені або доступні від нього. Дякую.
Олександр Маков

Я щойно переконався, що запустивши програму C, показану на unixwiz.net/techtips/mirror/chroot-break.html як root на Linux 4.18, можна уникнути chroot.
пт

Тому не роздайте привілеї root. Навіть у звичайних "захищених" системах є кореневі акаунти.
Cees Timmerman

6

Я знаю хоча б один приклад того, чому це вважається небезпечним. Хрутове середовище/proc не є ізольованим, тому досить легко отримати доступ до ресурсів, які не належать процесам, розпочатим у вашому chroot.

Використання хроноване навколишнє середовище для SFTP є прекрасним і значно покращує рівень безпеки. Просто не зловживайте цим як віртуалізація на основі контейнерів, що забезпечує більш високий рівень безпеки. У цьому підкреслюю, що відповідає у відповіді @ MDMarra.


Дякую. Отже, тепер стає зрозуміліше, що сам chroot не є поганим щодо безпеки, але, швидше, безпека залежить від середовища, де він створений.
Олександр Маков

Насправді, chroot не є поганим щодо безпеки, тому що він ніколи не мав бути пристроєм безпеки. Він мав бути інструментом розробки для запуску декількох версій одних і тих же бінарних файлів поряд з різними залежностями. Це не є заміною для належного забезпечення послуг - хоча це може бути корисним за певних обставин, якщо ви зрозумієте, що це таке, а що - ні.
MDMarra

MDMarra, таким чином, chroot не призначений для використання для зйомки SSH-з'єднань. Тоді, на вашу думку, чи "хротування вхідних з'єднань SSH" звучить для вас дещо непрофесійно, і чи слід цього уникати?
Олександр Маков

Ні, не обов'язково, просто усвідомлюйте, що будь-який подвиг, який може призвести до підвищення привілеїв або будь-який процес, що працює як root у chroot, був би тривіальним, щоб вирватися з нього. Це, безумовно, може бути частиною головоломки, але це не повинно бути всією справою.
MDMarra
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.