Каковы ограничения chrooted системы? [закрыто]

Я добавил несколько .bash_aliases для входа в различные системы:

alias mj='mosh j3710'
alias m3='mosh 3770k'
etc.
etc.

Я пытался добавить их в /etc/hosts, но это не сработало. Я уверен, что, вероятно, есть более аккуратный способ сделать это, но если ничего не будет предложено в течение следующих нескольких дней, я отмечу это как ответ.

0
14.05.2018, 16:42
2 ответа

Функционально ничего. Буквально все, что делает вызов chroot(), — это обновление места, где ядро ​​привязывает разрешение пути для вашего процесса. В частности, если вы также не откажетесь от привилегий суперпользователя, вы по-прежнему можете получить доступ к /procи /sys(, потому что вы можете просто выполнять соответствующие mount()системные вызовы, не требуется внешний двоичный файл ), вы по-прежнему можете получать доступ к узлам устройств (. ] вы можете просто создать их с помощью системного вызова mknod(), опять же, внешний двоичный файл не нужен ), и на самом деле делать почти все, что вы можете себе представить.

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

Обратите внимание, однако, что даже в этом случае chroot сам по себе практически не представляет практической ценности для безопасности. На самом деле очень избежать chroot с помощью самых разных механизмов (серьёзно, просто введите «escape from chroot» в своей любимой поисковой системе, и вы найдёте результаты, перечисляющие как минимум полдюжины методы ). Все, что нужно для использования этого в любом произвольном приложении, — это уязвимость ACE. По факту,chroot()изначально вообще не предназначался для обеспечения безопасности, он был (и остается )инструментом разработчика, предназначенным, среди прочего, для тестирования нового программного обеспечения в изолированной среде (, в наши дни он чаще используется для обеспечить изолированную среду сборки в автоматизированных системах сборки и CI ).

3
28.01.2020, 02:16

Acceso a dispositivos :a menos que el entorno chroot incluya su propia copia de los nodos de dispositivo necesarios, no habrá acceso. Por ejemplo, puede encontrar que p. Los shells interactivos chroot pueden comportarse de manera extraña si no hay un nodo de dispositivo /dev/nulldentro del entorno chroot.

Un proceso dentro de un entorno chroot tampoco podrá enviar mensajes de syslog, a menos que configure su demonio syslog para crear un /dev/logadicional dentro del entorno chroot.

Si los sistemas de archivos /procy /sysno han sido montados -o proporcionados dentro del entorno chroot, cualquier herramienta de consulta de estado del sistema que los utilice no funcionará.

2
28.01.2020, 02:16

Теги

Похожие вопросы