Selinux отключает Centos 8

Обновлено: 24.11.2024

Базовая и расширенная настройка Security-Enhanced Linux (SELinux)

Аннотация

Этот заголовок помогает пользователям и администраторам изучить основы и принципы работы SELinux, а также описывает практические задачи по установке и настройке различных служб.

Red Hat стремится заменить проблемный язык в нашем коде, документации и веб-ресурсах. Мы начинаем с этих четырех терминов: главный, подчиненный, черный список и белый список. Из-за масштабности этой работы эти изменения будут реализованы постепенно в течение нескольких следующих выпусков. Дополнительные сведения см. в сообщении нашего технического директора Криса Райта.

Мы ценим ваш вклад в нашу документацию. Пожалуйста, дайте нам знать, как мы могли бы сделать это лучше. Для этого:

Для простых комментариев к определенным отрывкам:

  1. Убедитесь, что вы просматриваете документацию в формате многостраничный HTML. Кроме того, убедитесь, что в правом верхнем углу документа есть кнопка "Отзыв".
  2. Используйте курсор мыши, чтобы выделить часть текста, которую вы хотите прокомментировать.
  3. Нажмите всплывающее окно "Добавить отзыв", которое появляется под выделенным текстом.
  4. Следуйте отображаемым инструкциям.

Чтобы отправить более сложный отзыв, создайте тикет Bugzilla:

  1. Перейдите на веб-сайт Bugzilla.
  2. В качестве Компонента используйте Документацию .
  3. Заполните поле «Описание» своим предложением по улучшению. Включите ссылку на соответствующую часть (части) документации.
  4. Нажмите "Отправить ошибку" .

Security Enhanced Linux (SELinux) обеспечивает дополнительный уровень безопасности системы. SELinux фундаментально отвечает на вопрос: Может ли делать ? , например: Может ли веб-сервер получать доступ к файлам в домашних каталогах пользователей?

1.1. Введение в SELinux

Стандартная политика доступа, основанная на правах пользователя, группы и других разрешений, известная как Дискреционный контроль доступа (DAC), не позволяет системным администраторам создавать комплексные и детализированные политики безопасности, например, ограничивать определенные приложения только просмотром файлы журналов, позволяя другим приложениям добавлять новые данные в файлы журналов.

Security Enhanced Linux (SELinux) реализует обязательный контроль доступа (MAC). У каждого процесса и системного ресурса есть специальная метка безопасности, называемая контекстом SELinux. Контекст SELinux, иногда называемый меткой SELinux, представляет собой идентификатор, который абстрагируется от деталей системного уровня и фокусируется на свойствах безопасности объекта. Это не только обеспечивает согласованный способ ссылки на объекты в политике SELinux, но также устраняет любую двусмысленность, которая может быть обнаружена в других методах идентификации. Например, файл может иметь несколько действительных имен путей в системе, использующей привязку монтирования.

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

Помните, что правила политики SELinux проверяются после правил DAC. Правила политики SELinux не используются, если правила DAC сначала запрещают доступ, что означает, что отказ SELinux не регистрируется, если традиционные правила DAC запрещают доступ.

Рисунок 1.1. Пример того, как SELinux может помочь безопасно запускать Apache и MariaDB.

Дополнительные ресурсы

  • справочная страница selinux(8) и справочные страницы, перечисленные соответствующей командой selinux.
  • Справочные страницы, перечисленные командой man -k _selinux при установке пакета selinux-policy-doc.
  • Книжка-раскраска SELinux поможет вам лучше понять основные концепции SELinux.
  • Часто задаваемые вопросы о SELinux Wiki

1.2. Преимущества использования SELinux

SELinux предоставляет следующие преимущества:

Однако SELinux не является:

  • антивирусное программное обеспечение,
  • замена паролей, брандмауэров и других систем безопасности,
  • универсальное решение для обеспечения безопасности.

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

1.3. Примеры SELinux

Следующие примеры демонстрируют, как SELinux повышает безопасность:

  • Действие по умолчанию – запретить. Если не существует правила политики SELinux, разрешающего доступ, например, для процесса, открывающего файл, доступ будет запрещен.
  • SELinux может ограничивать пользователей Linux. В политике SELinux существует ряд ограниченных пользователей SELinux. Пользователи Linux могут быть сопоставлены с ограниченными пользователями SELinux, чтобы использовать правила и механизмы безопасности, применяемые к ним.Например, сопоставление пользователя Linux с пользователем SELinux user_u приводит к тому, что пользователь Linux не может запускать приложения с идентификатором пользователя (setuid), например sudo и su , если они не настроены иначе.
  • Увеличение разделения процессов и данных. Концепция доменов SELinux позволяет определить, какие процессы могут получать доступ к определенным файлам и каталогам. Например, при запуске SELinux, если не настроено иное, злоумышленник не может скомпрометировать сервер Samba, а затем использовать этот сервер Samba в качестве вектора атаки для чтения и записи файлов, используемых другими процессами, такими как базы данных MariaDB.
  • SELinux помогает уменьшить ущерб, причиняемый ошибками конфигурации. Серверы системы доменных имен (DNS) часто реплицируют информацию между собой в так называемой передаче зоны. Злоумышленники могут использовать передачу зон для обновления DNS-серверов ложной информацией. При запуске Berkeley Internet Name Domain (BIND) в качестве DNS-сервера в Red Hat Enterprise Linux, даже если администратор забывает ограничить, какие серверы могут выполнять передачу зоны, политика SELinux по умолчанию предотвращает обновление файлов зоны [1] с использованием зоны передачи, самим демоном BIND named и другими процессами.

[1] Текстовые файлы, содержащие информацию, такую ​​как сопоставление имени хоста с IP-адресом, которые используются DNS-серверами.

1.4. Архитектура и пакеты SELinux

SELinux — это модуль безопасности Linux (LSM), встроенный в ядро ​​Linux. Подсистема SELinux в ядре управляется политикой безопасности, которая контролируется администратором и загружается при загрузке. Все связанные с безопасностью операции доступа на уровне ядра в системе перехватываются SELinux и проверяются в контексте загруженной политики безопасности. Если загруженная политика разрешает операцию, она продолжается. В противном случае операция блокируется и процесс получает ошибку.

Решения SELinux, такие как разрешение или запрет доступа, кэшируются. Этот кэш известен как кэш вектора доступа (AVC). При использовании этих кэшированных решений правила политики SELinux нужно меньше проверять, что повышает производительность. Помните, что правила политики SELinux не действуют, если правила DAC сначала запрещают доступ. Необработанные сообщения аудита записываются в /var/log/audit/audit.log и начинаются со строки type=AVC.

В RHEL 8 системные службы управляются демоном systemd; systemd запускает и останавливает все службы, а пользователи и процессы взаимодействуют с systemd с помощью утилиты systemctl. Демон systemd может обращаться к политике SELinux и проверять метку вызывающего процесса и метку файла модуля, которым пытается управлять вызывающий, а затем запрашивать у SELinux, разрешен ли доступ вызывающему. Такой подход усиливает контроль доступа к критически важным возможностям системы, включая запуск и остановку системных служб.

Демон systemd также работает как диспетчер доступа SELinux. Он извлекает метку процесса, выполняющего systemctl, или процесса, отправившего сообщение D-Bus в systemd. Затем демон ищет метку юнит-файла, который процесс хотел настроить. Наконец, systemd может получить информацию от ядра, если политика SELinux разрешает определенный доступ между меткой процесса и меткой файла модуля. Это означает, что скомпрометированное приложение, которому необходимо взаимодействовать с systemd для конкретной службы, теперь может быть ограничено SELinux. Разработчики политик также могут использовать эти детализированные элементы управления для ограничения действий администраторов.

Если процесс отправляет сообщение D-Bus другому процессу и если политика SELinux не разрешает обмен данными D-Bus этих двух процессов, система печатает сообщение об отказе USER_AVC и время обмена данными D-Bus. вне. Обратите внимание, что связь D-Bus между двумя процессами работает в двух направлениях.

Чтобы избежать неправильной маркировки SELinux и последующих проблем, убедитесь, что вы запускаете службы с помощью команды запуска systemctl.

Часто Linux считается одной из самых безопасных, надежных и высокопроизводительных платформ. Он поставляется с различными уловками, чтобы предложить безопасную, но надежную среду. Одной из таких функций является SELinux (Security-Enhanced Linux). Это архитектура безопасности на уровне ядра, которая позволяет системному администратору лучше контролировать доступ к компьютеру.

В случае RHEL/CentOS функция SELinux включена по умолчанию. Из соображений безопасности рекомендуется оставить включенным. Однако в определенных ситуациях вам может потребоваться отключить его. Например, не каждое приложение может работать должным образом, когда включен SELinux. В таком случае вы можете отключить SELinux.

Узнайте, как отключить SELinux в CentOS.

Отключение SELinux

SELinux имеет интересную историю происхождения. Впервые он был разработан Агентством национальной безопасности США, также известным как АНБ, как патч для ядра Linux с использованием модулей безопасности Linux. Он был выпущен для сообщества открытого исходного кода еще в 2000 году.SELinux был интегрирован как часть ядра Linux, начиная с 2003 года.

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

Проверка статуса SELinux

Сначала проверьте состояние SELinux. Выполните следующую команду.

Следующие процедуры временно отключат SELinux. Как только система загрузится, она вернется к конфигурации SELinux по умолчанию.

Команда setenforce — это инструмент по умолчанию для установки статуса SELinux. Если вы устанавливаете режим SELinux с помощью setenforce, вам не нужно перезагружать систему. Выполните следующую команду, чтобы установить для SELinux значение permissive.


Вместо числового значения вы также можете использовать альтернативный термин «Разрешающий».


Проверьте результат команды setenforce.


Другой способ — вручную отредактировать файл конфигурации SELinux. Откройте файл в вашем любимом текстовом редакторе. Я открою его в Vim.


Измените значение «SELINUX» на разрешающее.


Сохраните файл. Вы можете перезагрузить систему после внесения этого изменения. Проверьте результат редактирования файла конфигурации.

Этот метод навсегда отключит SELinux. Чтобы снова включить SELinux, вы должны вручную отменить изменения, выполненные этим методом.

Откройте файл конфигурации SELinux в своем любимом текстовом редакторе. В моем случае я буду использовать Vim.

Здесь переменная «SELINUX» определяет состояние SELinux. Как видите, есть три возможных варианта. Прокрутите вниз до переменной «SELINUX» и измените ее значение на «отключено».


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

Включение SELinux

Нужно снова включить SELinux? В зависимости от того, какой метод вы использовали, способ включения SELinux будет другим.

Во-первых, временное отключение. Если вы использовали команду setenforce для отключения SELinux, то простая перезагрузка системы вернет статус SELinux к состоянию по умолчанию. Если перезагрузка невозможна, снова используйте команду setenforce, чтобы вручную переназначить значение.


Как мы видели ранее, также можно использовать альтернативное значение с setenforce.


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

Установите для параметра «SELINUX» значение «принудительно». Затем сохраните файл и перезагрузите систему.


Проверьте статус SELinux, чтобы проверить изменения.

Заключительная мысль

Отключение SELinux — очень простая задача. Этот метод также должен работать с другими дистрибутивами, поддерживающими SELinux.

Заинтересованы в повышении безопасности вашей системы? Затем ознакомьтесь с контрольным списком повышения безопасности Linux. Он должен стать кратким, но полезным введением в мир безопасности Linux.

Об авторе

Сидратул Мунтаха

Студент CSE. Я люблю Linux и играю с технологиями и гаджетами. Я использую как Ubuntu, так и Linux Mint.

SELinux, также известный как Linux с улучшенной безопасностью, представляет собой функцию безопасности, встроенную в ядро ​​Linux. SELinux использует элементы управления обязательным доступом (MAC), чтобы ограничить пользователей определенными правилами и политиками и предотвратить выполнение ими несанкционированных задач в системе Linux, как указано ИТ-администратором. SELinux доступен в 3 различных режимах:

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

Разрешающий — в этом режиме политики не применяются, но нарушения регистрируются и выдается предупреждение.

Отключено. Как следует из названия, это означает, что SELinux отключен, и политики безопасности больше не будут защищать сервер.

Рассмотрев, что такое SELinux и какие режимы его можно настроить, давайте посмотрим, как отключить SELinux в CentOS 8.

По умолчанию SELinux включается в принудительном режиме после новой установки. Обычно рекомендуется оставить его включенным из соображений безопасности. Однако в некоторых случаях вам может потребоваться отключить его или выключить. Давайте посмотрим, как можно отключить SELinux в CentOS 8.

1) Проверить статус SELinux

Для начала давайте сначала проверим состояние SELinux. Для этого просто запустите команду:

Пример вывода

Из приведенного выше вывода ясно видно, что он включен по умолчанию и в принудительном режиме.

2) Отключить SELinux (временно)

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

Кроме того, вы можете использовать параметр Permissive вместо 0, как показано

3) Чтобы отключить навсегда

Файл конфигурации для SELinux находится по пути /etc/selinux/config. Чтобы отключить SELinux, откройте файл конфигурации и установите для параметра SELINUX значение disabled. Итак, открываем файл конфигурации

Отключите SELINUX, как показано ниже.

Сохраните и закройте файл конфигурации.

3) Перезагрузите систему CentOS 8

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

4) Проверить статус SELinux

После успешной перезагрузки системы проверьте состояние SELinux, чтобы убедиться, что он действительно отключен.

Пример выводаОтлично! нам удалось отключить SELinux в CentOS 8.

Заключение

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

Читайте также:

Теги CentOSSecurity slug; $list = get_page_by_title('related', 'OBJECT', 'wp_show_posts'); wpsp_display($list->ID, 'tax_term="' . $cat_slug . '"' );*/ ?>

2 комментария. добавить один

Хорошая статья! Кстати, вам не нужно перезагружаться, чтобы отключение вступило в силу. После отключения/установки разрешения ядро ​​немедленно прекращает блокировать службы, которые были заблокированы. Обязательно перезапустите все службы, которые были заблокированы (если в журналах есть доказательства этого), но как только служба перезапущена, все в порядке, перезагрузка не требуется. Или я полагаю, что если у вас есть тонна сервисов на одном устройстве, и это не live/prod, перезагрузка тоже работает.

Это краткий пост о том, как навсегда отключить SELinux в CentOS 8.

Содержание:

Что такое SELinux? :

SELinux (Security-Enhanced Linux) – это модуль ядра Linux, предоставляющий механизм для применения политик безопасности управления доступом, включая MAC (обязательный контроль доступа).

SELinux добавляет еще один уровень безопасности на сервер Linux, позволяя системным администраторам контролировать доступ к объектам операционной системы на основе политик, основанных на правилах.

В операционной системе CentOS 8 SELinux по умолчанию работает в принудительном режиме с целевой политикой.

Не рекомендуется отключать SELinux, но бывают ситуации, когда необходимо отключить его явно. Например, когда мы устанавливаем программное обеспечение, которое не поддерживает SELinux.

Режимы работы SELinux:

SELinux имеет три режима работы.

  • Принудительное: это режим по умолчанию. Доступ предоставляется на основе политик SELinux.
  • Разрешающий: в этом режиме SELinux не ограничивает доступ ни к каким объектам. Кроме того, он регистрирует только нарушения политик SELinux. Этот режим удобен для целей отладки.
  • Отключено: ни политика SELinux не применяется, ни сообщения не регистрируются.

Возможности SELinux:

Некоторые функции SELinux.

  • Четко определенные интерфейсы политик
  • Поддержка приложений, запрашивающих политику и обеспечивающих контроль доступа (например, выполнение заданий crond в правильном контексте)
  • Отдельные метки и элементы управления для объектов и служб ядра
  • Отдельные меры для защиты целостности системы (тип домена) и конфиденциальности данных (многоуровневая безопасность)
  • Управление инициализацией и наследованием процессов, а также выполнением программы
  • Управление файловыми системами, каталогами, файлами и дескрипторами открытых файлов.
  • Управление сокетами, сообщениями и сетевыми интерфейсами
  • Политика запрета по умолчанию (запрещается все, что явно не указано в политике)

Проверьте состояние SELinux в CentOS 8:

SELinux по умолчанию включен во всех установках операционной системы CentOS 8. Но ее может явно отключить системный администратор.

Мы можем запустить команду getenforce, чтобы проверить текущий режим SELinux.

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

Временно установите режим SELinux в CentOS 8:

Мы можем временно (до следующей перезагрузки системы) переключать режимы SELinux между принудительным и разрешающим.

Разрешающий режим удобен для создания журналов нарушений безопасности SELinux для создания пользовательской политики SELinux.

Разрешающий режим также полезен для проверки того, блокирует ли SELinux доступ к нашим процессам или файлам в принудительном режиме (например, мы настроили веб-сервер Apache на пользовательский порт, и он не работает).

Следующая команда Linux используется для изменения режима SELinux на разрешающий.

Проверьте текущий режим SELinux еще раз.

Снова измените режим SELinux на принудительный.

Постоянно установить режим SELinux в CentOS 8:

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

Навсегда отключить SELinux в CentOS 8:

Невозможно временно отключить SELinux во время работы сервера CentOS. Мы должны отключить SELinux через его файл конфигурации, чтобы при следующей перезагрузке системы SELinux больше не включался.

Читайте также: