- Security-Enhanced Linux
-
SELinux (англ. Security-Enhanced Linux — Linux с улучшенной безопасностью) — реализация системы принудительного контроля доступа, которая может работать параллельно с классической дискреционной системой контроля доступа. Входит в стандартное ядро Linux. Также для функционирования SELinux требуются модифицированные версии некоторых утилит (ls, и тд), которые обеспечивают поддержку новых функций ядра, и поддержка со стороны файловой системы.
Оставаясь в рамках дискреционной системы контроля доступа, ОС имеет фундаментальное ограничение в плане разделения доступа процессов к ресурсам — доступ к ресурсам основывается на правах доступа пользователя. Это классические права rwx на трех уровнях — владелец, группа-владелец и остальные.
В SELinux права доступа определяются самой системой при помощи специально определенных политик. Политики работают на уровне системных вызовов и применяются самим ядром (но можно реализовать и на уровне приложения). SELinux действует после классической модели безопасности Linux. Иными словами, через SELinux нельзя разрешить то, что запрещено через права доступа пользователей/групп. Политики описываются при помощи специального гибкого языка описания правил доступа. В большинстве случаев правила SELinux «прозрачны» для приложений, и не требуется никакой их модификации. В состав некоторых дистрибутивов входят готовые политики, в которых права могут определяться на основе совпадения типов процесса (субъекта) и файла (объекта) — это основной механизм SELinux. Две других формы контроля доступа — доступ на основе ролей и на основе многоуровневой системы безопасности (например, ДСП (для служебного пользования), секретно, совершенно секретно, ОВ (особой важности)).
Самый простой для работы и поддержки с точки зрения поддержки тип политики — так называемая «целевая» политика, разработанная в рамках проекта
Кроме «целевой» политики, в состав некоторых дистрибутивов входит политика с многоуровневой моделью безопасности (с поддержкой модели Bell LaPadula).
Третий вариант политики — «строгий». Тут действует принцип «что не разрешено, то запрещено» (принцип наименьших прав). Политика основывается на Reference Policy от компании Tresys.
SELinux был разработан Агентством национальной безопасности США и затем был передан разработчикам открытого кода.
- «NSA Security-enhanced Linux is a set of patches to the Linux kernel and some utilities to incorporate a strong, flexible mandatory access control (MAC) architecture into the major subsystems of the kernel. It provides a mechanism to enforce the separation of information based on confidentiality and integrity requirements, which allows threats of tampering and bypassing of application security mechanisms to be addressed and enables the confinement of damage that can be caused by malicious or flawed applications. It includes a set of sample security policy configuration files designed to meet common, general-purpose security goals.»
SELinux включён в состав ядра (начиная с версии 2.6).
Содержание
Возможности
- Разные политики в зависимости от поставленных задач
- Четкая реализация политик
- Поддержка приложений, запрашивающих политику и исполнение контроля доступа этих приложений (для примера, задача, запущенная в cron, с корректным контекстом)
- Независимые специфичные политики и интернациональные языковые политики SELinux
- Независимые специфичные форматы меток безопасности и их содержание
- Индивидуальные метки и рычаги управления для объектов ядра и сервисов (демонов)
- Кеширование доступных решений для эффективности
- Возможность изменения политик
- Различные меры для защищенности целостности системы и конфиденциальности данных
- Очень гибкие политики
- Управление процессом инициализации, наследованние прав, запуск программ
- Управление файловыми системами, папками, файлами и открытыми дескрипторами
- Управление сокетами, сообщениями (ядра и системы) и сетевыми интерфейсами
Реализации
SELinux доступен с коммерческой поддержкой, как часть Red Hat Enterprise Linux начиная с версии 4.
В сообществе поддерживаемые дистрибутивы Linux:
- Fedora Core начиная с версии 2
- Hardened Gentoo
- Ubuntu
- openSUSE c 11.1
Другие системы
SELinux представляет одну из нескольких возможных подходов ограничения каких-либо действий, которые могут делать установленное ПО.
Система AppArmor делает примерно тоже самое, что и SELinux. Одно важное различие между этими системами это их идентификаторы на файловой системе. Это значит что, например, файл, который недоступен, может быть доступен с AppArmor через жесткую ссылку. С SELinux доступ будет запрещен. С другой стороны, недоступные данные могут быть доступными, когда приложение обновляет файл (а это часто используется), перезаписывая его, а AppArmor будет продолжать отказывать в доступе к данным. В обоих случаях, политика по умолчанию "no access" позволяет избежать этих проблем.
См. также
-
- Компьютерная безопасность
- Агентство_национальной_безопасности_(США)
- Сравнение дистрибутивов Linux
- AppArmor
Ссылки
- Веб-сайт SELinux (Управление Национальной Безопасности США)
- Пресс-релиз УНБ США: УНБ делится улучшениями безопасности
- Страница проекта SELinux на сайте FreshMeat
- SELinux (UnOfficial) FAQ
- Демонстрационная машина SELinux (Fedora-based)
- Демонстрационная машина SELinux (Debian-based)
- Демонстрационная машина SELinux (Gentoo-based)
- SEBSD
- SEDarwin
- Перевод на русский man-страниц базовых утилит SELinux и man-страниц описания основных политик
- Анатомия SELinux. Архитектура и реализация developerWorks,Тим Джонс, 23.10.2008
- О SELinux от главы проекта SELinux Дэна Уолша (Dan Walsh) в своём блоге на LiveJournal
Wikimedia Foundation. 2010.