Seccomp: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «{{note|Статья в процессе написания.}} Seccomp — специфическая для Линукс технология повышения безопасности выполнения программ через ''сандбоксинг сисколлов'' - [https://en.wikipedia.org/wiki/Seccomp seccomp]. (В не-Линукс системах сходные технологии это pledge, capsicum.) Преимущество т...»)
 
Нет описания правки
Строка 10: Строка 10:


= Поддержка seccomp добавлена на уровне апстрима =
= Поддержка seccomp добавлена на уровне апстрима =
* '''QEMU''' (по умолчанию выключено, включается опцией <code>-sandbox</code>).
* '''QEMU''' (по умолчанию выключено, включается опцией <code>-sandbox</code>).
* '''systemd''' имеет много возможностей ограничивать привилегии запускаемого ''сервиса''. Seccomp доступен через [https://www.freedesktop.org/software/systemd/man/systemd.exec.html systemd.exec] параметр <code>SystemCallFilter=</code>.
* '''systemd''' имеет много возможностей ограничивать привилегии запускаемого ''сервиса''. Seccomp доступен через [https://www.freedesktop.org/software/systemd/man/systemd.exec.html systemd.exec] параметр <code>SystemCallFilter=</code>.
Строка 16: Строка 17:
* '''man''' ... Отключается через переменную окружения <code>MAN_DISABLE_SECCOMP</code>.
* '''man''' ... Отключается через переменную окружения <code>MAN_DISABLE_SECCOMP</code>.


= Поддержка seccomp добавлено а Альт =
= Поддержка seccomp добавлена в Альт =
* В пакете '''psmisc''' во всех утилитах ('''pstree''', '''killall''' и т.д.) seccomp включен по умолчанию.
 
* В пакете ''psmisc'' во всех утилитах ('''pstree''', '''killall''' и т.д.) seccomp включен по умолчанию. Причина добавления — доступ ко всем процессам в системе через /proc, для того чтоб не доверенные процессы не могли эксплуатировать неизвестную уязвимость в этих утилитах.
* В утилите '''file''' seccomp включен по умолчанию (отключается через переменную окружения <code>SECCOMP_DEFAULT_ACTION=allow</code>). Причина добавления — утилита используется для определения типа неизвестных файлов в том числе и не доверенных.


[[Категория:Безопасность]]
[[Категория:Безопасность]]

Версия от 21:43, 3 июля 2023

Примечание: Статья в процессе написания.


Seccomp — специфическая для Линукс технология повышения безопасности выполнения программ через сандбоксинг сисколлов - seccomp. (В не-Линукс системах сходные технологии это pledge, capsicum.)

Преимущество технологии в том, что её может применять даже пользовательский процесс (а не только рутовый как в некоторых других технологиях) для снижения рисков взлома при доступе к не доверенным данным.

Например, с помощью технологии можно полностью запретить — запись в файлы данному процессу, чтение из любых файлов, доступ к опасным сисколлам типа ptrace, запуск других программ (execve), ограничить доступ к ненужным сисколлам (для уменьшение поверхности атаки).

Однако, так как seccomp это своего рода фаервол для сисколлов (и их параметров) один лишь факт применения этой технологии не гарантирует полную защиту — степень защищенности зависит от того как она применяется — какие сисколлы ограничиваются, в какой момент выполнения начала применяться защита, есть ли сопутствующие технологии повышающие эффективность этой (типа privilege separation).

Поддержка seccomp добавлена на уровне апстрима

  • QEMU (по умолчанию выключено, включается опцией -sandbox).
  • systemd имеет много возможностей ограничивать привилегии запускаемого сервиса. Seccomp доступен через systemd.exec параметр SystemCallFilter=.
  • В Docker seccomp включен по умолчанию и отключается опцией --security-opt seccomp=unconfined или --privileged.
  • В OpenSSH seccomp включен по умолчанию для некоторых его процессов участвующих в privilege separation. Он не включен для пользовательской сессии.
  • man ... Отключается через переменную окружения MAN_DISABLE_SECCOMP.

Поддержка seccomp добавлена в Альт

  • В пакете psmisc во всех утилитах (pstree, killall и т.д.) seccomp включен по умолчанию. Причина добавления — доступ ко всем процессам в системе через /proc, для того чтоб не доверенные процессы не могли эксплуатировать неизвестную уязвимость в этих утилитах.
  • В утилите file seccomp включен по умолчанию (отключается через переменную окружения SECCOMP_DEFAULT_ACTION=allow). Причина добавления — утилита используется для определения типа неизвестных файлов в том числе и не доверенных.