Features/ChrootedServices: различия между версиями
Ilis (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
(не показано 5 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
== chroot == | == chroot == | ||
В ALT Linux существенная часть сервисов помещена в chroot, зачастую с пониженными правами | В ALT Linux существенная часть сервисов помещена в chroot, зачастую с пониженными правами, поскольку root в chroot — вовсе не гарантия, что он оттуда не выберется. Даже libresolv выполняется в chroot. Это может быть неудобным в том плане, что пути сдвигаются. Например, {{path|my.cnf}} живёт в {{path|/var/lib/mysql}}, добавляется сложностей с подключением дополнительных модулей или библиотек в «песочнице», как то перловых к Postgres или авторизационных к Postfix. Но обратная сторона медали в том, что если один из таких сервисов окажется взломанным, то в распоряжении атакующего будет гораздо меньше средств и привилегий для захвата всей системы. | ||
При этом пакет | При этом пакет {{pkg|chrooted}} обеспечивает использование жёстких ссылок в случае, когда оригинальные файлы (конфигурация, библиотеки, бинарники) и «песочница» находятся в пределах одной файловой системы; впрочем, жёсткие ссылки менее безопасны, чем физические копии. | ||
Содержимое «песочниц» обновляется командой | |||
update_chrooted all | |||
Для частичного обновления можно вместо <tt>all</tt> указать ''тип'' ({{cmd|update_chrooted -l}} выведет все доступные типы). | |||
Работа <tt>update_chrooted</tt> управляется каталогом {{path|/etc/chroot.d}}, так что список сервисов, компоненты которых в вашей системе используют chrooted, можно посмотреть командой | |||
rpmquery -f /etc/chroot.d/* | sort -u | |||
Следует отметить такие неочевидности: | Следует отметить такие неочевидности: | ||
* после изменения {{path|/etc/resolv.conf}} или {{path|/etc/hosts}} необходимо выполнить команду {{cmd|update_chrooted conf}} (также отрабатывается при загрузке), чтобы обновить копии этих файлов в «песочницах»; без этого возможны проблемы вида «ping не работает» | |||
* монтирование {{path|/var}} с <tt>noexec</tt> также [http://lists.altlinux.org/pipermail/sisyphus/2006-August/085164.html может] привести к проблемам с работой chrooted-сервисов | |||
* | == Ссылки == | ||
* | * [http://docs.altlinux.org/archive/2.4/master/alt-docs-master/ch06s19.html Документация Master 2.4] | ||
* [http://forum.altlinux.org/index.php?topic=10960.0 Обсуждение на форуме] | |||
* [http://packages.altlinux.org/ru/Sisyphus/srpms/chrooted-resolv Пакет chrooted-resolv] | |||
[[Категория:Features]] | |||
[[Категория:Admin]] | |||
[[Категория:FAQ]] |
Текущая версия от 19:16, 22 января 2025
chroot
В ALT Linux существенная часть сервисов помещена в chroot, зачастую с пониженными правами, поскольку root в chroot — вовсе не гарантия, что он оттуда не выберется. Даже libresolv выполняется в chroot. Это может быть неудобным в том плане, что пути сдвигаются. Например, my.cnf живёт в /var/lib/mysql, добавляется сложностей с подключением дополнительных модулей или библиотек в «песочнице», как то перловых к Postgres или авторизационных к Postfix. Но обратная сторона медали в том, что если один из таких сервисов окажется взломанным, то в распоряжении атакующего будет гораздо меньше средств и привилегий для захвата всей системы.
При этом пакет chrooted обеспечивает использование жёстких ссылок в случае, когда оригинальные файлы (конфигурация, библиотеки, бинарники) и «песочница» находятся в пределах одной файловой системы; впрочем, жёсткие ссылки менее безопасны, чем физические копии.
Содержимое «песочниц» обновляется командой
update_chrooted all
Для частичного обновления можно вместо all указать тип (update_chrooted -l выведет все доступные типы).
Работа update_chrooted управляется каталогом /etc/chroot.d, так что список сервисов, компоненты которых в вашей системе используют chrooted, можно посмотреть командой
rpmquery -f /etc/chroot.d/* | sort -u
Следует отметить такие неочевидности:
- после изменения /etc/resolv.conf или /etc/hosts необходимо выполнить команду update_chrooted conf (также отрабатывается при загрузке), чтобы обновить копии этих файлов в «песочницах»; без этого возможны проблемы вида «ping не работает»
- монтирование /var с noexec также может привести к проблемам с работой chrooted-сервисов