Какие задачи решает SELinux

Простой пример: httpd_t может читать только файлы типа httpd_sys_content_t, обычно это /var/www/html, и не может по ошибке или при взломе прочитать, скажем, /etc/shadow. [statuser](https://statuser.cloud/blog/chto-takoe-selinux-i-kak-pravilno-nastroit-konteksty-bezopasnosti)

Базовая модель реализации

Ядро при каждом системном вызове, затрагивающем защищаемый объект (open, bind, connect и т.д.), спрашивает SELinux‑LSM, который сверяется с активной политикой. [statuser](https://statuser.cloud/blog/chto-takoe-selinux-i-kak-pravilno-nastroit-konteksty-bezopasnosti)

Практические элементы реализации

  • Управляющие команды и статус:
  • getenforce / setenforce — текущий режим;
  • sestatus — подробный статус и активная политика. [redos.red-soft](https://redos.red-soft.ru/base/redos-7_3/7_3-security/7_3-selinux/7_3-selinux_doc/)
  • Работа с контекстами:
  • ls -Z, ps -Z — просмотр;
  • chcon — разовое изменение контекста;
  • restorecon — восстановление контекста по политике;
  • semanage fcontext — прописать правило для путей, чтобы тип назначался автоматически. [unixtutorial](https://www.unixtutorial.ru/reference/selinux)
  • Настройка политик:
  • seboolean / semanage boolean -l — включение/выключение дополнительных возможностей (например, httpd_enable_homedirs);
  • создание собственных модулей политики для нестандартных сервисов. [habr](https://habr.com/ru/companies/otus/articles/484896/)
  • Диагностика:
  • auditd: /var/log/audit/audit.log;
  • ausearch -m AVC* и dmesg с фильтром type=1300/1400;
  • sealert для человекочитаемых подсказок по устранению проблем. [parallels.nsu](http://parallels.nsu.ru/~fat/Linuxppt/Selinux.pdf)

Типичная админская рутина: перевести систему или конкретный хост в permissive, воспроизвести ошибку, собрать AVC‑логи, сгенерировать/доработать модуль политики, включить его и вернуть enforcing. [habr](https://habr.com/ru/companies/otus/articles/484896/)

Типичный use‑case: веб‑сервер

В результате компрометация PHP‑приложения с правами httpd_t не даёт нападающему полный root на хост, а только доступ к строго ограниченному набору объектов. [statuser](https://statuser.cloud/blog/chto-takoe-selinux-i-kak-pravilno-nastroit-konteksty-bezopasnosti)

***

[file-name 000374_2026-06-12_14-50-51.txt]