Установка и настройка SELinux

Мануал Установка и настройка SELinux

SELinux (SELinux) — это система принудительного контроля доступа, реализованная на уровне ядра.
SELinux был разработан Агентством национальной безопасности США, и затем его исходные коды были представлены для скачивания.

Примеры будут демонстрироваться на операционной системе Linux CentOS 7

Проверяем статус SELinux:
/usr/sbin/sestatus

SELinux status: enabled – обозначает что SELinux включен;
Current mode: enforcing – обозначает что SELinux включен в принудительном enforced режиме;
Policy from config file: targeted – обозначает что используется политика SELinux targeted.

/usr/sbin/getenforce
Enforcing – указывает на то что SELinux активирован и правила политики принудительные;
Permissive – указывает на то что SELinux активирован,
но правила политики не принудительные enforced и используются только правила DAC;
Disabled – указывает на то, что SELinux отключен.


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

Проверяем инсталляцию пакетов SELinux:
rpm -qa | grep selinux
rpm -q policycoreutils
rpm -qa | grep setroubleshoot

Убедитеть в том, что установлены следующие пакеты: selinux-policy-targeted, selinux-policy, libselinux,
libselinux-python, libselinux-utils, policycoreutils, setroubleshoot, setroubleshoot-server,
setroubleshoot-plugins.

Отсутствующие пакеты можно установить с помощью команды:
yum install package-name
Для начала ставим SELINUX=permissive в конфигурационном файле /etc/selinux/config.
1 1

Каждый файл файловой системы должен быть промаркирован контекстом SELinux перед запуском!
Без этого ограниченным доменам может быть отказано в доступе,
что может привести к некорректной загрузке операционной системы.

Маркировка файлов произойдет во время следующей перезагрузки системы:
shutdown -r now

Убедитесь что SELinux не запрещает действия во время последней загрузки системы, для этого выполните команду:
grep "SELinux is preventing" /var/log/messages
Вывод должен быть пустой, это означает что всё в порядке, и SELinux не запрещает действия.
После того как вы убедились, что сообщений о запретах в логах нет,
пропишите параметр SELINUX в enforcing (файл /etc/selinux/config):
3 1

Вы можете ссылаться на любую политику, расположенную в каталоге /etc/selinux. Могут использоваться три основные политики:
targeted - защищает основные системные сервисы, например, веб-сервер, DHCP, DNS, но не трогает все остальные программы.
strict - самая строгая политика, управляет не только сетевыми службами, но и программами пользователя.
mls - содержит не только правила, но и различные уровни безопасности.
Она позволяет реализовать многоуровневую систему безопасности на основе SELinux.

После этого операционную систему следует перезапустить:
shutdown -r now

Далее проверяем значение Enforcing командой getenforce:
/usr/sbin/getenforce

Если SELINUX работает, то будет SELINUX=enforcing.
Top