Настройка SELinux

Руководство по настройке и управлению SELinux в CentOS.
/ Системное администрирование Системные настройки CentOS

Настройка SELinux: Руководство по настройке и управлению SELinux в CentOS

SELinux (Security-Enhanced Linux) — это система обеспечения безопасности, встроенная в ядро Linux, которая предоставляет механизм поддержки политики безопасности к доступу к ресурсам. SELinux предоставляет более гибкое и жесткое управление безопасностью, чем традиционный назначение прав доступа. В данном руководстве приведены основные шаги по настройке и управлению SELinux в операционной системе CentOS.

Введение в SELinux

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

Состояния SELinux

SELinux может находиться в одном из трех состояний:

  1. Enforcing (Принудительный режим) - SELinux принудительно применяет политику безопасности и блокирует доступ, не соответствующий правилам
  2. Permissive (Разрешающий режим) - SELinux не блокирует действия, но все же ведет журнал о нарушениях политики безопасности
  3. Disabled (Отключен) - SELinux отключен и не используется для контроля доступа

Проверка состояния SELinux

Чтобы проверить текущее состояние SELinux, выполните следующую команду:

sestatus

Включение и отключение SELinux

Если необходимо изменить состояние SELinux, следуйте этим шагам:

Откройте файл конфигурации SELinux:

    sudo nano /etc/selinux/config

Найдите параметр `SELINUX`, который может быть установлен в `enforcing`, `permissive` или `disabled`. Измените значение по необходимости:


                      

Сохраните файл и перезагрузите систему для применения изменений:

    sudo reboot

Управление политиками безопасности

Политики SELinux можно управлять с помощью утилиты `semanage`. Это позволяет изменять типы контекста и домены, назначенные файлам и процессам.

Установка пакета policycoreutils

Для использования `semanage` нужно убедиться, что пакет policycoreutils установлен:

sudo yum install policycoreutils-python-utils

Изменение контекста файла

Чтобы изменить контекст файла, используйте команду `chcon`:

sudo chcon -t httpd_sys_content_t /var/www/html/index.html

В этом примере контекст типа `httpd_sys_content_t` назначается файлу `index.html` для доступа его через веб-сервер Apache.

Просмотр контекста файлов

Для просмотра текущего контекста файлов используют команду `ls -Z`:

ls -Z /var/www/html

Подразумеваемые правила назначения контекста

Чтобы восстановить контекст файлов к значениям по умолчанию, используйте команду `restorecon`:

sudo restorecon -Rv /var/www/html

Создание и управление модулями SELinux

Когда стандартная политика SELinux не покрывает все потребности, могут потребоваться дополнительные модули политики. Создать и загрузить такой модуль можно следующим образом:

Создайте файл именем `my_module.te` с следующими правилами SELinux:

module my_module 1.0;
require {
    type httpd_t;
    type httpd_sys_content_t;
    class file { read write };
}
# Разрешить httpd_t читать и писать файл html
allow httpd_t httpd_sys_content_t:file { read write };

Скомпилируйте и загрузите модуль:

checkmodule -M -m -o my_module.mod my_module.te
semodule_package -o my_module.pp -m my_module.mod
sudo semodule -i my_module.pp

Заключение

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

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

Поиск