====== 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]]