Преимущества использования SELinux Состояния и режимы SELinux Настройка существующих политик
Окружение
SELinux обеспечивает следующие преимущества:
Все процессы и файлы помечены. Правила политики SELinux определяют, как процессы взаимодействуют с файлами, а также как процессы взаимодействуют друг с другом. Доступ разрешен только в том случае, если существует правило политики SELinux, которое специально это разрешает;
SELinux обеспечивает детальный контроль доступа. Выходя за рамки традиционных разрешений UNIX, которые контролируются по усмотрению пользователя и основаны на идентификаторах пользователей и групп Linux, решения о доступе SELinux основываются на всей доступной информации, такой как пользователь SELinux, роль, тип и опционально уровень безопасности;
Политика SELinux определяется администратором и применяется во всей системе;
SELinux может смягчить атаки повышения привилегий. Процессы работают в доменах и, следовательно, отделены друг от друга. Правила политики SELinux определяют, как процессы получают доступ к файлам и другим процессам. Если процесс скомпрометирован, злоумышленник имеет доступ только к обычным функциям этого процесса и к файлам, к которым процесс был настроен для доступа. Например, если скомпрометирован Apache HTTP Server, злоумышленник не может использовать этот процесс для чтения файлов в домашних каталогах пользователей, если только не было добавлено или настроено определенное правило политики SELinux, разрешающее такой доступ;
SELinux может обеспечивать конфиденциальность и целостность данных, а также защищать процессы от ненадежных входных данных;
SELinux разработан для улучшения существующих решений безопасности, а не для замены антивирусного ПО, безопасных паролей, брандмауэров или других систем безопасности. Даже при использовании SELinux важно продолжать следовать хорошим практикам безопасности, таким как обновление ПО, использование трудно угадываемых паролей и брандмауэров.
SELinux может работать в одном из трех режимов: принудительном, разрешающем или отключенном.
Принудительный режим является режимом работы по умолчанию и рекомендуется к использованию. В принудительном режиме SELinux работает нормально, применяя загруженную политику безопасности ко всей системе.
В разрешающем режиме система действует так, как будто SELinux применяет загруженную политику безопасности, включая маркировку объектов и создание записей об отказе в доступе в журналах, но на самом деле не запрещает никаких операций. Хотя разрешающий режим не рекомендуется для производственных систем, он может быть полезен для разработки и отладки политики SELinux.
Использовать отключенный режим настоятельно не рекомендуется, поскольку система не только перестает применять политику SELinux, но и прекращает маркировку постоянных объектов, таких как файлы, что затрудняет последующее включение SELinux.
Используйте утилиту setenforce для переключения между принудительным и разрешающим режимами. Изменения, внесенные с помощью, setenforce не сохраняются при перезагрузках.
Для перехода в принудительный режим введите команду (с правами администратора):
sudo setenforce 1
Для перехода в разрешающий режим введите команду:
sudo setenforce 0
Для проверки текущего режима работы SELinux используйте утилиту getenforce:
getenforce Enforcing
getenforce Permissive
Для перехода в принудительный режим введите команду:
Можно установить отдельные домены в разрешающий режим, пока система работает в принудительном режиме. Например, чтобы сделать домен httpd_t разрешающим выполните команду:
httpd_t
sudo semanage permissive -a httpd_t
Обратите внимание, что разрешающие домены являются инструментом, который может поставить под угрозу безопасность вашей системы. Рекомендуется использовать разрешающие домены с осторожностью, например, при отладке определенного сценария.
Можно изменять части политики SELinux во время выполнения с помощью булевых значений, даже не имея никаких знаний о написании политики SELinux. Это позволяет вносить изменения, например, разрешать службам доступ к томам NFS, без перезагрузки или перекомпиляции политики SELinux. Следующая процедура демонстрирует перечисление булевых значений SELinux и их настройку для достижения требуемых изменений в политике.
NFS-монтирования на стороне клиента помечаются контекстом по умолчанию, определенным политикой для томов NFS. Контекст по умолчанию использует тип nfs_t. Кроме того, общие ресурсы Samba, смонтированные на стороне клиента, помечаются контекстом по умолчанию, определенным политикой. Этот контекст по умолчанию использует тип cifs_t. Можно включить или отключить логические значения, чтобы контролировать, каким службам разрешен доступ к типам nfs_t и cifs_t.
nfs_t
cifs_t
Чтобы разрешить службе сервера Apache HTTP (httpd) получать доступ к томам NFS и CIFS и совместно использовать их, выполните следующие действия:
При желании установите пакет selinux-policy-devel, чтобы получить более понятные и подробные описания логических значений SELinux в выводе команды semanage boolean -l.
semanage boolean -l
semanage boolean -l | grep 'nfs\|cifs' | grep httpd httpd_use_cifs (off , off) Разрешить httpd доступ к файловым системам cifs httpd_use_nfs (off , off) Разрешить httpd доступ к файловым системам nfs
getsebool -a | grep 'nfs\|cifs' | grep httpd httpd_use_cifs --> выкл. httpd_use_nfs --> выкл.
setsebool httpd_use_nfs on setsebool httpd_use_cifs on
Используйте setsebool -P, чтобы изменения сохранялись при перезапусках. Команда setsebool -P требует перестроения всей политики, и это может занять некоторое время в зависимости от конфигурации.
setsebool -P
getsebool -a | grep 'nfs\|cifs' | grep httpd httpd_use_cifs --> вкл. httpd_use_nfs --> вкл.
Дата последнего изменения: 14.11.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.