EMZETT.
Войти

chroot и seccomp

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

Подробнее: Они дополняют друг друга: один ограничивает видимые файлы, другой — разрешённые возможности по отношению к ядру.

Подробности

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

См. также: Docker