Перш за все, давайте зробимо невелику перерву опис SELinux. Що таке SELinux і яку роль він відіграє в операційній системі Linux?
SELinux це модуль безпеки ядра, яка має роль контролю доступу програмного забезпечення та користувачів до операційної системи. Запущено десь у середині 2000-х, SELinux з роками став присутнім у все більшій кількості розповсюджень Linux.
Діяльність цього модуля полягає у розповсюдженні та контролі політики безпеки в системі, обмежуючи доступ додатків на рівні основних підсистем ядра.
Цей механізм безпеки працює незалежно від традиційних систем контролю та блокування підозрілих дій, присутніх на Linux. Неможливо активно керувати «кореневим» суперкористувачем і без взаємодії з програмами чи сценаріями сторонніх розробників, SELinux забезпечує стабільність ядра.
Безпека системи Linux без цього модуля SELinux, автоматично залежатиме від правильної конфігурації ядра, запущених привілейованих програм та їх конфігурацій. . Проста помилка одного з цих елементів, згаданих вище, може поставити під загрозу правильне функціонування всієї системи.
На закінчення С.ЕLinux можна назвати справжнім охоронцем операційних систем Linux, що забезпечує цілісність, безпеку та стабільність. Не плутайте цей модуль з антивірусом або брандмауером. Це зовсім інше.
Люди, які використовують Linux для веб-серверів і хмарних серверів я добре знаю, що SELinux може спричинити проблеми під час роботи програм із правами доступу та контролю system.
SELinux може контролювати діяльність операційної системи для кожного користувача, програми та daemon частково, і застосовувати точні політики безпеки та обмеження. Це часто може бути проблемою для веб-серверів, де більшість конкретних програмних процесів мають привілеї та взаємодіють із ядром операційної системи.
Ті, хто вирішив відключити цей модуль ядра, часто допускають помилки при внесенні змін до директиви, що унеможливлює завантаження SELinux при перезавантаженні операційної системи. «Не вдалося завантажити SELinux політика».
Я показав в одному стаття про те, як SE можна вимкнутиLinux, щоб запобігти перериванню процесу, розміщеного NGINX на веб-сервері.
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of three two values:
# targeted – Targeted processes are protected,
# minimum – Modification of targeted policy. Only selected processes are protected.
# mls – Multi Level Security protection.
SELINUXTYPE=disabled (WRONG)
Помилка, яку ми ненавмисно зробили, і будучи віддаленим сервером, було рішення повна переустановка операційної системи. Якщо вам трохи пощастить, ви можете виправити SELinux тільки якщо у вас під рукою є DVD або можливість завантажити ISO-образ операційної системи в «рятувальному» режимі.
Не вдалося завантажити SELinux політика зустрічається особливо на CentOS 6 і CentOS 7, RHEL 7.x.
Цей допис востаннє змінено 12 травня 2021 р. 11:10
Коментарі (2)
Дякуємо за статтю, ви зрозуміли першопричину, але пропустили одне рішення: насправді add selinux=0 у записі ОС, запропонованому grub, достатньо, щоб вимкнути йогоlinux і знову зробив ОС завантажувальною.
Дякую за це рішення!
selinux=0
Я думаю, що на момент написання статті ця опція була недоступна. Я можу помилятися. Дякуємо за рішення!