💾 Archived View for tilde.team › ~rami › redhat_selinux.gmi captured on 2023-07-10 at 16:04:41. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
רמי
SUBJECT: SELinux: Установка, контроль событий и создание собственных политик
AUTHOR: Rami Rosenfeld
DATE: 12/09/22
TIME: 15.00
LANG: ru, en
LICENSE: GNU FDL 1.3
TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, spin, de, systemd, systemctl, selinux, firewalld, dnf, rpm
Важно: Отключать SELinux или переводить его в режим "разрешено" категорически не рекомендуется!
Примечание: по большому счету, этот шаг можно пропустить, так как в RHEL, Fedora, CentOS они будут наличествовать по умолчанию, равно как и в Fedora Spins: MATE, XFCE. А вот LXDE - под вопросом, поэтому все же приведу данную информацию:
dnf install sealert seapplet setroubleshoot setroubleshoot-plugins setroubleshoot-server
Выполните команду:
sestatus
Результат:
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 33
При определенных пользовательских действиях в операционных системах с установленным и активированным SELinux возникают ситуации, когда последний блокирует те или иные попытки изменения ОС в соответствии с предустановленными контекстами безопасности. Об этом выдаст предупреждение система sealert/seapplet.
Гипотетический и опасный пример, требующий принятия экстренных мер: ваш любимый пасьянс "Три листочка" внезапно запросил для себя разрешений доступа к системе печати или соединения с интернетом (не волнуйтесь: sealert обязательно предупредит вас об этом). Конечно, такой ситуации в мире GNU/Linux не может быть в принципе, но все же...
Если вы уверены в правильности своих действий, контекст безопасности можно изменить на разрешающий при помощи двух простых команд.
Cразу после возникновения сообщения о запрете последовательно выполняем с правами администратора, т.е. от root:
grep chcon /var/log/audit/audit.log | audit2allow -M mypol
Результат:
"IMPORTANT. To make this policy package active, execute: semodule -i mypol.pp"
["ВАЖНО. Чтобы сделать эту политику активной, выполните: semodule -i mypol.pp"]
Далее создаем разрешающее правило:
semodule -i mypol.pp
Примечание: chcon - "change file SELinux security context".
Если вы, особенно после обновления или полного апгрейда ОС наблюдаете предупреждения, связанные с правилами SELinux, скорее всего, некоторые файлы имеют некорректные разрешения SELinux. Зачастую это связано с тем, что вы деактивировали SELinux ранее.
Для исправления SELinux-контекстов безопасности файлов выполните:
fixfiles -B onboot
Примечание: процесс произойдет во время перезагрузки ОС.
Подробнее см.:
Changing SELinux states and modes
How-to guide for SELinux policy enforcement
🄯 Rami Rosenfeld, 2022. GNU FDL 1.3.