- SELinix (Security-Enhanced Linux)
- – реализация дополнительной защиты в системе Linux, которая работает параллельно с классической системой контроля доступа.
Contents
Общие сведенья
Классическая система контроля доступа Linux предполагает ограничение доступа к ресурсам системы на основании прав доступа пользователя (классические Read-Write-eXecute права) на трех уровнях – owner-group-other (владелец-группа-остальные).
SELinux работает после классической системы контроля доступа на уровне системных вызовов ядра и позволяет контролировать доступ к ресурсам на уровне процессов, вне зависимости от владельца процесса.
В CentOS/RedHat 6/7 SELinux включена по умолчанию и порой может вызвать затруднения в настройке и обслуживании системы. Это связано с тем, что некоторые программы до сих пор не поддерживают механизм безопасности SELinux, а для некоторых необходимо выполнять дополнительные настройки политик безопасности SELinux.
Например, проблемы возникают в WEB приложениях, которые сохраняют и модифицируют файлы данных на сервере или работают с локальной базой данной (WordPress, Drupal, Symfony, Laravel и т.д.). Для таких приложений необходимо задавать дополнительные разрешения.
Для выявления проблем, связанных с политикой безопасности SELinux, иногда приходится отключать систему защиты. Это можно сделать двумя способами: на постоянной основе и временно.
После подтверждения проблемы рекомендуется создать или модифицировать политику безопасности SELinux и опять включить систему защиты.
Проверка состояния SELinux
Для проверки состояния расширенной системы безопасности необходимо воспользоваться командой:
Если система безопасности включена и работает в стандартном режиме, то вывод будет следующий (обратите внимание на параметры SELinux status и Current mode):
Если система безопасности временно отключена (Current mode: permissive):
И если SELinux выключена в системе:
Временное отключение SELinux
Для временного отключения SELinux необходимо выполнить одну из следующих команд от имени администратора:
Для включения SELinux:
или (зависит от версии OS)
или перегрузить систему.
Полное отключение SELinux
Для выключения SELinux на уровне ядра на постоянной основе необходимо изменить файл конфигурации SELinux:
заменив в нем SELINUX=enforcing на SELINUX=disabled
Для применения изменений и выключения SELinux, после внесения изменений в конфигурационный файл, необходимо выполнить перезагрузку сервера!