Перед началом вам необходимо изучить следующие концепции:
Предметы: процессы или пользователи.
Объекты: файлы или файловые системы.
Тип исполнения: в SELinux все субъекты и объекты имеют идентификатор типа, заканчивающийся на _t. «Применение типов - это понятие, согласно которому в системе обязательного контроля доступа доступ регулируется посредством разрешения на основе набора правил субъект-доступ-объект.
В SELinux принудительное применение типов реализовано на основе меток субъектов и объектов. SELinux сам по себе не имеет правил, которые говорят / bin / bash может выполнить / bin / ls. Вместо этого у него есть правила, похожие на «Процессы с меткой user_t могут выполнять обычные файлы с меткой bin_t».”(Источник https: // wiki.Gentoo.org / wiki / SELinux / Type_enforcement)
Дискреционный контроль доступа (DAC): DAC - это система владения и разрешений, которую мы используем в Linux для управления доступом к таким объектам, как файлы или каталоги. Дискреционный контроль доступа не имеет ничего общего с SELinux и представляет собой другой уровень безопасности. Для получения дополнительной информации о DAC посетите Linux Permissions Explained.
Обязательный контроль доступа (MAC): это тип контроля доступа, который ограничивает доступ субъектов к взаимодействию с объектами. В отличие от DAC с MAC пользователи не могут менять политики.
Субъекты и объекты имеют контекст безопасности (атрибуты безопасности), который контролируется SELinux и администрируется в соответствии с политиками безопасности, созданными с помощью правил, которые должны применяться.
Контроль доступа на основе ролей (RBAC): это тип управления доступом, основанный на ролях, его можно комбинировать как с MAC, так и с DAC. Политики RBAC упрощают управление многими пользователями в организации в отличие от DAC, которое может быть получено в отдельных назначениях разрешений, это упрощает аудит, настройку и обновление политик.
Принудительный режим: SELinux ограничивает доступ субъектов к объектам на основе политик.
Разрешительный режим: SELinux регистрирует только незаконную активность.
Возможности SELinux включают (список Википедии):
- Четкое разделение политики и правоприменения
- Четко определенные интерфейсы политик
- Поддержка приложений, запрашивающих политику и обеспечивающих контроль доступа (например,, crond выполнение заданий в правильном контексте)
- Независимость от конкретных политик и языков политик
- Независимость от конкретных форматов и содержимого защитных этикеток
- Индивидуальные метки и элементы управления для объектов и служб ядра
- Поддержка изменений политики
- Отдельные меры защиты целостности системы (доменного типа) и конфиденциальности данных (многоуровневая безопасность)
- Гибкая политика
- Контроль инициализации и наследования процессов, а также выполнения программы
- Контроль файловых систем, каталогов, файлов и открытия файловые дескрипторы
- Управление сокетами, сообщениями и сетевыми интерфейсами
- Контроль за использованием «возможностей»
- Кэшированная информация о решениях доступа через Access Vector Cache (AVC)
- По умолчанию-запретить политика (все, что явно не указано в политике, запрещено).
Источник: https: // ru.википедия.org / wiki / Security-Enhanced_Linux # Возможности
Примечание: пользователи разные на SELinux и passwd.
Настройка SELinux на Debian 10 Buster
В моем случае SELinux был отключен в Debian 10 Buster. Сохранение включенного SELinux - один из основных шагов по обеспечению безопасности устройства Linux. Чтобы узнать статус SELinux на вашем устройстве, выполните команду:
/ # sestatus
Я обнаружил, что SELinux был отключен, чтобы включить его, вам нужно установить некоторые пакеты до, после подходящее обновление, запустите команду:
/ # apt установить selinux-basics selinux-policy-default
Если требуется, нажмите Y продолжить процесс установки. Запустить подходящее обновление после завершения установки.
Чтобы включить SELinux, выполните следующую команду:
/ # selinux-activate
Как видите, SELinux был правильно активирован. Чтобы применить все изменения, необходимо перезагрузить систему в соответствии с инструкциями.
Команду getenforce можно использовать для изучения статуса SELinux, если он находится в разрешающем или принудительном режиме:
/ # getenforce
Разрешающий режим можно заменить, установив параметр 1 (разрешающий - 0). Вы также можете проверить режим в файле конфигурации с помощью команды меньше:
/ # меньше / etc / selinux / config
Выход:
Как видите, в файлах конфигурации показан разрешающий режим. Нажмите Q бросить.
Чтобы увидеть контекст безопасности файла или процесса, вы можете использовать флаг -Z:
/ # ls -Z
Формат этикетки пользователь: роль: тип: уровень.
semanage - инструмент управления политиками SELinux
semanage - это инструмент управления политиками SELinux. Он позволяет управлять логическими значениями (которые позволяют изменять процесс на ходу), ролями и уровнями пользователей, сетевыми интерфейсами, модулями политик и т. Д. Semanage позволяет настраивать политики SELinux без необходимости компилировать исходники. Semanage обеспечивает связь между ОС и пользователями SELinux и определенными контекстами безопасности объектов.
Для получения дополнительной информации о semanage посетите страницу руководства по адресу: https: // linux.умри.сеть / человек / 8 / semanage
Заключение и примечания
SELinux - это дополнительный способ администрирования доступа процессов к системным ресурсам, таким как файлы, разделы, каталоги и т. Д. Это позволяет управлять огромными привилегиями в соответствии с ролью, уровнем или типом. Его включение является обязательной мерой безопасности, и при использовании важно помнить о его уровне безопасности и перезагружать систему после включения или отключения (отключение не рекомендуется вообще, за исключением конкретных тестов). Иногда доступ к файлу блокируется, несмотря на предоставленные разрешения системы или ОС, потому что SELinux запрещает это.
Я надеюсь, что вы нашли эту статью о SELinux полезной как введение в это решение безопасности, продолжайте следить за LinuxHint, чтобы получить больше советов и обновлений по Linux и сети.
Статьи по Теме:
- SELinux в Ubuntu Учебное пособие
- Как отключить SELinux на CentOS 7
- Контрольный список повышения безопасности Linux
- Профили AppArmor в Ubuntu