Как отключить SELinux на Fedora 40 или 39

Linux с расширенной безопасностью (SELinux) — это архитектура безопасности, интегрированная в ядро Linux, которая обеспечивает обязательный контроль доступа (MAC) для повышения безопасности системы. Хотя SELinux является мощным инструментом для обеспечения безопасности системы, в некоторых случаях может потребоваться его отключить, особенно при устранении проблем с совместимостью с определенными приложениями или во время разработки. Отключение SELinux снижает уровень безопасности вашей системы, поэтому делать это следует с осторожностью.

В этом руководстве вы узнаете, как отключить SELinux в Fedora 40 или 39, временно или навсегда, с помощью командной строки. Этот процесс позволит вам настроить параметры безопасности вашей системы в соответствии с вашими потребностями.

Характеристики SELinux

SELinux был разработан (АНБ) Агентством Национальной Безопасности США (NSA) и внедрён в ядро Linux для контроля доступа к объектам системы на основе политик безопасности.

Основные характеристики SELinux:

  1. Модель контроля доступа: SELinux использует модель мандатного контроля доступа (Mandatory Access Control, MAC), которая позволяет администраторам задавать строгие правила, определяющие, какие пользователи и процессы могут взаимодействовать с различными объектами (файлами, процессами и т.д.).
  2. Политики безопасности: SELinux работает на основе заранее определённых политик безопасности, которые описывают, какие действия разрешены или запрещены. Эти политики могут быть настроены в зависимости от потребностей системы.
  3. Уровни безопасности: SELinux поддерживает различные уровни безопасности, позволяя создавать более сложные и безопасные конфигурации для защиты критически важных данных и сервисов.
  4. Логирование и аудит: SELinux может вести журналы событий, что позволяет администраторам отслеживать попытки доступа и потенциальные нарушения безопасности.
  5. Режимы работы: SELinux может работать в нескольких режимах:
    • Enforcing (принудительный) — политики безопасности применяются, и все нарушения блокируются.
    • Permissive (разрешающий) — политики безопасности не применяются, но нарушения фиксируются в журналах.
    • Disabled (отключённый) — SELinux полностью отключён.

SELinux является мощным инструментом для повышения безопасности систем Linux, однако его настройка и управление могут быть сложными, и требуют определённых знаний и опыта.

SELinux присутствует не во всех дистрибутивах Linux, но он поддерживается в ряде популярных дистрибутивов. Вот некоторые из них:

Red Hat Enterprise Linux (RHEL): SELinux является стандартной частью и активно используется для обеспечения безопасности.
CentOS: Поскольку CentOS является производной от RHEL, он также включает в себя SELinux.
Fedora: SELinux включён и активно используется в этом дистрибутиве, который часто служит тестовой площадкой для новых технологий перед их внедрением в RHEL.
Debian: SELinux доступен, но не включён по умолчанию. Пользователи могут установить и настроить его при необходимости.
Ubuntu: SELinux также доступен, но в большинстве случаев по умолчанию используется AppArmor, который является альтернативным механизмом контроля доступа.

Отключение SELinux в Fedora Linux

В этом разделе рассмотрим, как отключить Security-Enhanced Linux (SELinux) в Fedora Server. 
Вы можете отключить SELinux временно, до следующей перезагрузки системы, или навсегда.

Временное отключение SELinux

Если вам нужно временно приостановить работу SELinux, Fedora Server позволяет переключить SELinux в разрешающий режим. Этот режим фактически отключает SELinux до следующей перезагрузки системы. Для этого выполните следующую команду:

sudo setenforce 0

После выполнения команды SELinux переходит в разрешающий режим, фактически отключая принудительное выполнение. Чтобы подтвердить это изменение, используйте команду getenforce:

getenforce

Эта команда должна вернуть значение «Permissive», подтверждая, что вы временно отключили SELinux.

Постоянное отключение SELinux

Чтобы навсегда отключить SELinux, измените файл конфигурации SELinux, который находится по адресу /etc/selinux/config. Для внесения необходимых изменений используйте текстовый редактор nano, который обычно доступен во многих дистрибутивах Linux. Следующая команда открывает файл конфигурации SELinux:

sudo nano /etc/selinux/config

Найдите и измените строку SELINUX=enforcing в файле конфигурации. Измените её на SELINUX=disabled. После внесения изменений сохраните их и закройте редактор.

Пример того, как может выглядеть ваша конфигурация в Fedora:

отключение SELinux в Fedora Linux
Скриншот, демонстрирующий пользовательский интерфейс и команды, необходимые для отключения SELinux в Fedora Linux для расширенной настройки системы.

Чтобы изменения вступили в силу, необходимо перезагрузить систему. Для этого выполните следующую команду:

sudo reboot

После перезагрузки системы убедитесь, что SELinux отключён. Команда sestatus покажет эту информацию:

sestatus

Эта команда должна вывести сообщение «SELinux status: disabled», подтверждающее, что вы навсегда отключили SELinux на сервере Fedora.

Повторное включение SELinux

Если вам нужно повторно активировать SELinux на сервере Fedora, выполните простую процедуру, которая отменит изменения, внесённые в файл конфигурации SELinux при отключении.

Чтобы снова включить SELinux, откройте файл конфигурации SELinux с помощью следующей команды:

sudo nano /etc/selinux/config

После открытия файла конфигурации найдите строку, в которой указано SELINUX=disabled. Эта строка была ранее изменена для отключения SELinux. В зависимости от ваших конкретных потребностей измените её на SELINUX=enforcing или SELINUX=permissive.

После внесения необходимых изменений сохраните их и закройте текстовый редактор. Для того чтобы система распознала эти изменения, требуется перезагрузка. Для этого выполните следующую команду:

sudo reboot

После перезагрузки системы важно убедиться, что SELinux действительно активирован. Для этого используйте команду sestatus:

sestatus

При выполнении этой команды вы должны получить вывод «SELinux status: enforcing» или «SELinux status: permissive». Это означает, что SELinux снова работает на вашем сервере Fedora.

Заключение

Вы успешно отключили SELinux в Fedora 40 или 39, адаптировав свою систему под свои нужды. Эта настройка упрощает некоторые конфигурации, но также снижает уровень безопасности, который обеспечивает SELinux. Необходимо тщательно следить за безопасностью своей системы и рассмотреть возможность повторного включения SELinux, когда в этом больше не будет необходимости.