====== SELINUX ====== Файл конфигурации: ''/etc/selinux/config'' Каталог для собственных модулей ''/opt/selinux/mypolicy/'' У SELinux есть три режима: * **Enforcing** — запрет доступа на основании правил политики. * **Permissive** — ведение лога действий, нарушающих политику, которые в режиме enforcing были бы запрещены. * **Disabled** — полное отключение SELinux. ===== Изменение режимов SELinux ===== Чтобы узнать текущий режим запустите getenforce Для изменения режима на permissive запустите следующую команду setenforce 0 или, для изменения режима с permissive на enforcing, выполните setenforce 1 ===== Дополнительные утилиты ===== * **audit2allow** - создаёт правила политики SELinux allow/dontaudit из журналов отклонённых операций * **audit2why** - преобразовывает сообщения аудита SELinux в описание причины отказа в доступе (audit2allow -w) * **semodule** - управление модулями политики SELinux ==== Просмотр настроек ==== getsebool -a или с кратким описанием semanage boolean -l ==== Модули правил ==== Список semodule -l Удалить модуль semodule -r MODULE_NAME ===== Примеры своих правил ===== Команда **awk** не может получить доступ к файлу **vm_hostnames.txt** Временно отключаем блокировки setenforce 0 Выполняем скрипт через Zabbix [Выполнить сейчас] \\ Чтоб информация попала в лог ''/var/log/audit/audit.log'' \\ Можно снова включить selinux setenforce 1 Создаем модуль правил из логов \\ Чем точнее фильтр **grep**, тем точнее модуль \\ Имя модуля любое, например ''awk_zabbix'' grep "awk" /var/log/audit/audit.log | audit2allow -M awk_zabbix Добавляем модуль, сразу начинает действовать semodule -i awk_zabbix.pp ===== Источники ===== * [[https://habr.com/ru/companies/otus/articles/460387/|Руководство для начинающих по SELinux]] * [[https://www.dmosk.ru/miniinstruktions.php?mini=selinux-example|Примеры настройки SELinux]] * [[https://max-ko.ru/14-upravlenie-selinux.html|Управление SELinux]]