EMZETT.
Увійти

chroot і seccomp

Коротко: chroot змінює для процесу видимий кореневий каталог, seccomp обмежує, які системні виклики він взагалі може виконувати. Обидва — будівельні блоки контейнерів і пісочниць.

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

Подробиці

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

Див. також: Docker