chroot і seccomp
Коротко: chroot змінює для процесу видимий кореневий каталог, seccomp обмежує, які системні виклики він взагалі може виконувати. Обидва — будівельні блоки контейнерів і пісочниць.
Докладніше: Вони доповнюють одне одного: один обмежує видимі файли, інший — дозволені можливості щодо ядра.
Подробиці
- chroot:
chroot /новий/корінь програмазмушує програму бачити/новий/коріньяк/. Корисно для ремонту з живої системи та для середовищ збирання. - Межа chroot: Сам по собі не механізм безпеки. З правами root процес може вирватися. Тому контейнери додають простори імен (namespace).
- seccomp: Фільтр (seccomp-bpf) дозволяє чи забороняє окремі системні виклики або вбиває процес за забороненого.
- Застосування: Пісочниці браузерів, типовий профіль Docker, systemd (
SystemCallFilter=). - Принцип: Кому потрібні
openіread, тому не потрібніptraceчиmount. Це відповідає принципу найменших привілеїв.
Див. також: Docker