~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".
Tumbleweed Adopts SELinux as Default

Таким образом, разработчики 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, могут воспользоваться данным руководством.

См. также:

SELinux: Установка, контроль событий и создание собственных политик

NOTE

ВАЖНО!

(!) Прочитайте инструкцию ПОЛНОСТЬЮ перед выполнением любых команд.

(!) Соблюдайте последовательность команд.

(!) НЕ ПРОПУСКАЙТЕ ни одного шага.

1. ДОБАВЛЕНИЕ ПОДДЕРЖКИ SELINUX

Инсталлируйте пакеты по паттерну "selinux":

zypper install -t pattern selinux

2. МОДИФИКАЦИЯ ОПЦИЙ ЗАГРУЗКИ ЯДРА

Модифицируйте параметры загрузки ядра ОС.

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

Добавьте 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

Подробнее см:

Setup SELinux on existing Tumbleweed systems
Getting started with SELinux
Changing SELinux states and modes
Troubleshooting SELinux
SELinux Project Wiki
How-to guide for SELinux policy enforcement
Sysadmin's guide to SELinux
₪ Back to home ₪

🄯 Rami Rosenfeld, 2025. GNU FDL 1.3.