SELinuxservice — различия между версиями

Материал из pNp Wiki
Перейти к: навигация, поиск
(Общая информация)
(Общая информация)
Строка 44: Строка 44:
 
#    mls - Multi Level Security protection.
 
#    mls - Multi Level Security protection.
 
SELINUXTYPE=targeted  
 
SELINUXTYPE=targeted  
 +
</syntaxhighlight>
 +
При условии работоспособности <code>SELinux</code>, в командной строке его можно переключать между режимами <code>enforcing</code> и <code>permissive</code> при помощи команд <code>getenforce</code>/<code>setenforce</code>. Например:<br/>
 +
<syntaxhighlight lang="bash">
 +
[root@vm-02 ~]# getenforce
 +
Enforcing
 +
[root@vm-02 ~]# setenforce 0
 +
[root@vm-02 ~]# getenforce
 +
Permissive
 +
[root@vm-02 ~]# setenforce 1
 +
[root@vm-02 ~]# getenforce
 +
Enforcing
 +
[root@vm-02 ~]#
 
</syntaxhighlight>
 
</syntaxhighlight>

Версия 12:49, 18 января 2018

Конфигурирование 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

При условии работоспособности SELinux, в командной строке его можно переключать между режимами enforcing и permissive при помощи команд getenforce/setenforce. Например:

[root@vm-02 ~]# getenforce 
Enforcing
[root@vm-02 ~]# setenforce 0
[root@vm-02 ~]# getenforce 
Permissive
[root@vm-02 ~]# setenforce 1
[root@vm-02 ~]# getenforce 
Enforcing
[root@vm-02 ~]#