Управление основными настройками SELinux#
Security-Enhanced Linux (SELinux) — это дополнительный уровень безопасности системы, определяющий, какие процессы могут получать доступ к тем или иным файлам, каталогам и портам. Эти разрешения определены в политиках SELinux. Политика — это набор правил, которыми руководствуется механизм безопасности SELinux.
SELinux имеет два возможных состояния:
Включено.
Выключено.
Когда SELinux включен, он содержит два режима:
Принудительный.
Разрешающий.
В принудительном режиме SELinux применяет загруженные политики. SELinux запрещает доступ на основе правил политики SELinux и разрешает только явно разрешенные взаимодействия. Принудительный режим является самым безопасным режимом SELinux и является режимом по умолчанию после установки.
В разрешающем режиме SELinux не применяет загруженные политики. SELinux не запрещает доступ, но сообщает о действиях, нарушающих правила, в журнал /var/log/audit/audit.log. Разрешающий режим является режимом по умолчанию во время установки. Разрешающий режим также полезен, например, при устранении неполадок.
Обеспечение требуемого состояния SElinux#
По умолчанию SELinux работает в принудительном режиме.
Примечание
Рекомендуем поддерживать систему в принудительном режиме. В целях отладки установите SELinux в разрешающий режим.
Чтобы изменить состояние и режим SELinux в системе, следуйте сценарию:
Отобразите текущий режим SELinux:
getenforceЧтобы временно установить SELinux:
Для принудительного режима:
setenforceДля разрешающего режима:
setenforce Permissive
Примечание
После перезагрузки режим SELinux устанавливается на значение, указанное в файле конфигурации /etc/selinux/config.
Настройка политики для SELinux, функционирующего в принудительном режиме#
В следующих разделах описываются файлы конфигурации и политики SELinux, а также связанные файловые системы, расположенные в каталоге /etc/.
Конфигурационный файл /etc/sysconfig/selinux#
Существует два способа настроить SELinux: с помощью средства настройки уровня безопасности (system-config-securitylevel) и вручную отредактировать файл конфигурации (/etc/sysconfig/selinux).
Файл /etc/sysconfig/selinux является основным конфигурационным файлом для включения или отключения SELinux, а также для настройки того, какую политику применять в системе и каким образом.
Примечание
Файл /etc/sysconfig/selinux содержит символическую ссылку на фактический файл конфигурации /etc/selinux/config.
Параметры конфигурации, доступные для настройки:
SELINUX=<enforcing|permissive>— определяет состояние SELinux верхнего уровня в системе:enforcing— политика безопасности SELinux применяется принудительно;permissive— система SELinux выводит предупреждения, но не применяет политику. Это полезно для целей отладки и устранения неполадок. В разрешающем режиме будет регистрироваться больше отказов, так как субъекты смогут продолжить действия, в противном случае запрещенные в принудительном режиме. Например, обход дерева каталогов приведет к появлению нескольких сообщенийavc: deniedдля каждого прочитанного уровня каталога, где ядро в принудительном режиме остановило бы начальный обход и предотвратило появление дальнейших сообщений об отказе;
Примечание
Действия, выполняемые при отключенном SELinux, могут привести к тому, что файловая система больше не будет иметь надлежащего контекста безопасности, определенного политикой. Запуск
fixfiles relabelперед включением SELinux приведет к переименованию файловой системы, чтобы SELinux работал правильно при включении. Дополнительные пробелы в конце строки конфигурации или в виде дополнительных строк в конце файла могут привести к неожиданному поведению. На всякий случай удалите ненужные пробелы.SELINUXTYPE=<targeted|strict>— указывает, какая политика в данный момент применяется SELinux:targeted— защищены только целевые сетевые демоны;Примечание
Cледующие демоны защищены целевой политикой по умолчанию:
dhcpd,httpd,named,nscd,ntpd,portmap,snmpd,squid, иsyslogd. Остальная часть системы работает в доменеunconfined_t.Файлы политик для этих демонов можно найти в файле
/etc/selinux/targeted/src/policy/domains/program.Принудительное применение политики для этих демонов можно включить или выключить, используя логические значения, управляемые средством настройки уровня безопасности (
system-config-securitylevel). Переключение логического значения для целевого демона отключает переход политики для демона, который предотвращает, например,initпереходdhcpdиз доменаunconfined_tв домен, указанный вdhcpd. Доменunconfined_tпозволяет субъектам и объектам с этим контекстом безопасности работать под стандартной защитой SberLinux OS Core.strict— полная защита SELinux для всех демонов. Контексты безопасности определяются для всех субъектов и объектов, и каждое отдельное действие обрабатывается сервером принудительного применения политики.
Каталог /etc/selinux/#
Каталог /etc/selinux/ является основным местом расположения всех файлов политики, а также основного файла конфигурации. Пример содержимого каталога /etc/selinux/:
-rw-r--r-- 1 root root 448 Sep 22 17:34 config
drwxr-xr-x 5 root root 4096 Sep 22 17:27 strict
drwxr-xr-x 5 root root 4096 Sep 22 17:28 targeted
Два подкаталога, strict/ и targeted/, являются конкретными каталогами, в которых содержатся файлы политики с одинаковыми именами (strict и targeted). Политика strict защищает основные системные сервисы, например, веб-сервер, DHCP, DNS, но не трогает все остальные программы. Политика targeted - управляет не только сетевыми службами, но и программами пользователя.
Чтобы режим SELinux сохранялся при перезагрузке, измените переменную SELINUX в файле конфигурации /etc/selinux/config. Пример строки для переключения SELinux в принудительный режим:
SELINUX=enforcing
Внимание
Отключение SELinux снижает безопасность системы. Вместо этого отключите SELinux, добавив параметр selinux=0 в командную строку ядра.