ОСНОВНОЕ

WORDPRESS

Операционные системы

Базы данных

Фреймворк Bootstrap

Хочется быть самим собой, но совесть не позволяет (Борис Крутиер).

Устранение неполадок в SELinux

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Статья опубликована: 17 октября 2017

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

Предпосылки

Эта статья предполагает две вещи:

  1. Вы знаете основы SELinux. Если вы не узнаете основы SELinux, сейчас прекрасное время, чтобы сделать это.
  2. Вы используете SELinux в режиме enforcingРежим enforcing является нормальным и ожидаемым способом запуска Fedora. Если вы отключили SELinux, вам необходимо включить его. Отредактируйте файл /etc/sysconfig/selinux для установки  SELINUX=permissive. Используя режим permissive гарантирует, что любые радикальные проблемы все еще могут быть исправлены автоматически с помощью следующих команд. Затем выполните следующие действия:
    Процесс загрузки может занять больше времени, чем обычно, так как SELinux перемаркирует все файлы, созданные в то время, когда он был отключен. Это может занять некоторое время для очень больших файловых систем, так что будьте терпеливы.

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

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

Это действительно в selinux?

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

 

Затем попробуйте процесс снова, в другом терминале, если это необходимо. В случае успеха политики SELinux происходит ошибка. Чтобы найти ошибки в течение последних 10 минут, используйте команду ausearch:

 

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

Определение проблемы

Обычно вы можете определить ошибки SELinux через сообщение AVC. Одним из параметров сообщения AVC является командой, которая генерируется сообщение. Например, вы можете увидеть comm=”/usr/sbin/httpd”  в сообщении об ошибке SELinux, которая генерируется веб – сервером Apache.

Проблема также скажет вам контекст источника (scontext) действуя части вашей системы, и контекст цели (tcontext) вещи, котор она попыталась подействовать дальше. Часто, но не всегда, источник является бинарным и целевым файлом. Чтобы понять ошибки лучше, вы можете использовать SELinux Troubleshooter. Вы можете установить это с  программным обеспечением инструмента в Fedora Workstation, или использовать sudo с dnf  в терминале:

 

Для запуска программы используйте Обзор в Fedora Workstation, чтобы найти SELinux Troubleshooter, или запустить из терминала:

 

Вы можете найти последние оповещения в браузере, который появляется:

Устранение неполадок в SELinux

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

Решение проблемы

При выборе  неполадок вы увидите несколько вариантов вашей ошибки.

Устранение неполадок в SELinux

В этом случае пользователь создал файл index.html в своем домашнем каталоге, и использовал  команду mv, чтобы переместить его в каталог   /var/www/html/ который будет обслуживаться веб – сервера Apache. Указав в веб – браузере http://localhost/index.html, эта ошибка произошла.

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

Тем не менее, только потому, что существует логическое значение, не означает, что вы должны включить его, не понимая его. В этом случае, если вы включите логическое значение, веб – сервер Apache сможет прочитать любой пользовательский контент, чьи права позволяют доступ к файлам. Таким образом, в этом случае, если мы могли бы вместо этого спросить, «Почему этот файл имеет контекст?» В этом случае это происходит потому, что пользователь переместил файл. Это означает, что файл перенесли его старые связи в новом месте, вместо того, чтобы получать новый контекст по умолчанию, который позволяет веб-серверу прочитать содержимое в  /var/www/html.

В этом случае лучше идея заключается в том, чтобы просто восстановить правильный контекст файла:

Примечание о булевых операциях в SELinux

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

 

Если установить пакет selinux-policy-devel первым, вы также можете увидеть краткое описание для каждой булевой операции при выполнении команды выше:

 

Чтобы установить логическое временно запустить эту команду, где  boolname это имя логического значения и  value является либо  on или 1, или  off или 0.

 

Для того, чтобы установить его постоянно, добавьте переключатель -P:

Вывод

Есть и другие функции, которые можно выполнять для решения проблем в SELinux, такие как создание конкретного модуля политики для вашей системы. Вы можете их в руководстве по SELinux (https://docs-old.fedoraproject.org/en-US/Fedora/25/html/SELinux_Users_and_Administrators_Guide/index.html), которое полезно для понимания этих функций.

 


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

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close