SELinuxservice

Материал из pNp Wiki
Версия от 12:45, 18 января 2018; Andy (обсуждение | вклад) (Общая информация)

Перейти к: навигация, поиск

Конфигурирование SELinux для поддержки сервиса

Предварительные требования

  • Виртуальная машина с двумя сетевыми интерфейсами
  • Установленные пакеты: bash-completion, policycoreutils, policycoreutils-python, policycoreutils-devel, setroubleshoot-server

Общая информация

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

Название элемента Описание
Policy Набор правил, определяющих какой источник может иметь доступ к какой цели
Source domain Объект, пытающийся получить доступ к цели. Обычно пользователь или процесс
Target domain Сущность, к которой пытается получить доступ источник. Обычно файл или порт
Context Метка безопасности, использующаяся для классификации объектов в SELinux
Rule Конкретная часть политики, которая определяет какой источник имеет какие правила доступа к какой цели.
Lables Тоже самое, что и контекст, определяет какой источник имеет какие правила доступа к какой цели.

В системе SELinux может находится в 3 состояниях:
enforcing - Политики SELinux включены и применяются.
permissive - Политики SELinux включены, однако, вместо их применения, печатаются предупреждения. Данное поведение рекомендовано для отладки и поиска ошибок.
disabled - Политики SELinux не применяются. Не рекомендовано к использованию, ибо ведет к несдаче экзамена.
Данные настройки можно внести в конфигурационный файл /etc/sysconfig/selinux:

# 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=enforcing
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted