~Rami ₪ MANUALS
רמי
SUBJECT: Установка SELinux в новых инсталляциях OpenSUSE Tumbleweed (versions 20250211+)
AUTHOR: Rami Rosenfeld
DATE: 16/02/25
TIME: 13.00
LANG: ru, en
LICENSE: GNU FDL 1.3
TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, suse, opensuse, systemd, systemctl, apparmor, selinux
Установка SELinux в новых инсталляциях OpenSUSE Tumbleweed (versions 20250211+)
INTRO
Пару дней назад пришло отличное сообщение от OpenSUSE. Цитирую дословно (с сокращениями):
"Tumbleweed has adopted SELinux as the default Linux Security Module (LSM) for new installations after a recent snapshot Tumbleweed - 20250211. Users installing openSUSE Tumbleweed via the ISO image will see SELinux in enforcing mode as default option in the installer".
Таким образом, разработчики OpenSUSE наконец-то прислушались к старому мудрому :) Розенфельду, который всегда утверждал, что: (с) "Самое лучшее в Linux - это SELINUX!" ... Собственно говоря, шли они к этому изменению долго и целенаправленно (и, между прочим, давно уже подробно растолковывали в своей WIKI - чем SELINUX в выгодную сторону отличается от предлагаемой ими же AppArmor)... - и вот наконец-то это грандиозное событие свершилось!
Пока что изменения появятся только начиная со снапшота Tumbleweed 20250211 (и НЕ затронут ветку OpenSUSE Leap v.15+). (Растолковываю более подробно - если вы продолжаете использовать и обновлять прежнюю инсталляцию Tumbleweed, изменения не(!) появятся; но если сделать свежую установку системы - то будут активированы по умолчанию)... Но я искренне надеюсь, что SELINUX возникнет по умолчанию в следующей версии Leap 16 и будет активирован в режиме "enforcing".
Лично мне интересно только одно: какие правила будут применяться? Общеизвестно, что лучшие, полные и точные правила составляются и распространяются только Агентством национальной безопасности США и Red Hat, inc. (т.е. непосредственными разработчиками SELINUX) и безошибочно действуют в Fedora GNU/Linux и RedHat. Что касательно иных дистрибутивов, использующих SELINUX по умолчанию, мне кажется, что каждый пишет их по принципу "кто во что горазд". Общий смысл: только время покажет, будут ли разработчики OpenSUSE изобретать велосипед или позаимствуют правила у "Красной Шапочки".
Ну а мои самые нетерпеливые читатели, которые желают активировать полноценную поддержку SELINUX в уже(!) установленных предыдущих (снапшоты, опубликованные до февраля 2025 г.) версиях Tumbleweed, могут воспользоваться данным руководством.
См. также:
NOTE
ВАЖНО!
(!) Прочитайте инструкцию ПОЛНОСТЬЮ перед выполнением любых команд.
(!) Соблюдайте последовательность команд.
(!) НЕ ПРОПУСКАЙТЕ ни одного шага.
1. ДОБАВЛЕНИЕ ПОДДЕРЖКИ SELINUX
Инсталлируйте пакеты по паттерну "selinux":
zypper install -t pattern selinux
2. МОДИФИКАЦИЯ ОПЦИЙ ЗАГРУЗКИ ЯДРА
Модифицируйте параметры загрузки ядра ОС.
- А) Для систем, использующих GRUB (по умолчанию), отредактируйте файл:
nano /etc/default/grub
Добавьте строку:
security=selinux selinux=1
в GRUB_CMDLINE_LINUX_DEFAULT
ПРИМЕР:
GRUB_CMDLINE_LINUX_DEFAULT=" ... security=selinux selinux=1
Если присутствует строка "security=apparmor" - ОБЯЗАТЕЛЬНО УДАЛИТЕ ее!
ВАЖНО! Оставьте ВСЕ иные значения в файле без изменений!
ПОЛНЫЙ ПРИМЕР:
GRUB_CMDLINE_LINUX_DEFAULT="splash=silent mitigations=auto quiet security=selinux selinux=1"
Обновите grub.cfg командой:
update-bootloader
- В) Для систем, использующих systemd-boot (экспериментально):
Добавьте SELinux kernel cmdline options в /etc/kernel/cmdline - исполнив:
pbl --add-option "security=selinux selinux=1"
Добавьте kernel cmdline options в конфигурацию systemd boot - /boot/efi/loader/entries/ - исполнив:
sdbootutil add-all-kernels
Перестройте initrd с помощью скрипта selinux-autorelabel, исполнив:
sdbootutil mkinitrd
3. НАСТРОЙКА И ПЕРЕРАЗМЕТКА
Отредактируйте файл:
nano /etc/selinux/config
установив параметры (первый - временно!)
SELINUX=permissive
SELINUXTYPE=targeted
Переразметьте файлы ОС при следующей перезагрузке:
touch /.autorelabel
Перезагрузите ОС:
reboot
ВАЖНО! При перезагрузке будут анализироваться ВСЕ ФАЙЛЫ ОС (с присвоением им меток контекста SELINUX). Это займет некоторое время.
ВАЖНО! После перезагрузки и анализа ОС, проверьте потенциальные ошибки, которые могут блокировать систему:
ausearch -ts boot | grep -e DEN
Если ошибки не найдены, поменяйте параметр состояния SELINUX, отредактировав:
nano /etc/selinux/config
изменив режим на "enforcing":
SELINUX=enforcing
Перезагрузите ОС:
reboot
4. ПРОВЕРКА СОСТОЯНИЯ SELINUX
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
Подробнее см:
🄯 Rami Rosenfeld, 2025. GNU FDL 1.3.