> То, что программы, помещённые в chroot не вписываются в иерархию пактов доказывает
> лишь то, что chroot либо изначально не предназначен для защиты демонов,
> либо просто неправильно сделан. изначально не предназначен. http://lwn.net/Articles/252794/
> Для защиты сервисов было бы разумнее сделать специальное средство, работающее на уровне
> ядра, которое изолировало бы определённый процесс доступом только к определённым файлам.
> Нечто вроде acl для каждого из сервисов, сюда же можно было бы добавить
> отдельные настройки фаерволла.
и такое средство уже существует, и называется оно SELinux
например, apache хоть и не chroot но он достаточно жестко ограничен средствами policy.
как по доступным ему файлам/каталогам, так и по портам.
> Но всё это уже медленно переходит в идею паравиртуализации.
> Мне кажется, что в настоящее вреям именно паравиртуализация -
> самое лучшее средство защиты сервисов.
паравиртуализация - это XEN и UML.
OpenVZ - это не паравиртуализация.
делать каждому демону свой собственный контейнер - это приведет
к увеличению сложности системы и усложнит администрирование,
особенно, если какие-то демоны должны будут взаимодействовать между собой.
и там останется только единственное средство для IPC - стек tcp/ip протоколов?
да и вместо 10-100 машин администрировать 1000 - 10_000 различных контейнеров...
делать каждому демону свою собственную виртуальную машину XEN - это еще хуже.
поэтому на первый и на второй взгляд SELinux кажется более оптимальным решением.