Управление доступом.
Метки: ACL | DAC | DTE | MAC | RBAC
Четверг, 18 июня 2009 г.
Просмотров: 2448
Хотя многопользовательская природа Linux и оставшихся Unix-систем рассматривается как изрядно сильная, она все еще далека от совершенства. Самая эффективная концепция в мире компьютерной безопасности заключается в предоставлении пользователю минимальных привилегий.
Unix же не соответствует этому правилу, потому что предоставляет максимальный контроль над системой одному пользователю (root) или процессу с полномочиями root. Во многих случаях даже обычным пользователям часто предоставляются чрезмерные полномочия. Например, зачем пользователю, который зарегистрировался в системе только для чтения почты, возможность компиляции исходного кода или запуска фоновых демонов?
В некоторой степени данная проблема решается употреблением групп и SUDO. В этом случае администратор может определить для каждого пользователя действия, которые он может реализовывать с полномочиями root.
В последние годы было проведено много исследований в области гибкого управления доступом. Надо отметить, что все эти методы предназначены для квалифицированных пользователей и требуют специальной настройки.
Однако в результате можно получить защищенную систему, способную выстоять даже при постоянных атаках. Начнем с обзора стандартных моделей доступа Unix.
Дискретное управление доступом (Discretionary Access Control, DAC).
DAC - это формальное имя стандартной системы пользователей и прав доступа, которая признана всеми Unix-пользователями. В этой системе доступ к объекту (например, к файлу) контролируется владельцем данного объекта с помощью прав доступа.
Владелец может контролировать не только тех пользователей, которым положен доступ к объекту, но и контролировать режимы доступа (например, чтение, запись, выполнение).
Мандатное управление доступом (Mandatory Access Control, MAC).
В МАС-системе доступ к объекту контролируется не владельцем, а администратором системы. По сути, это еще одна система со всемогущей учетной записью администратора вместо распределения задач по администрированию между отдельными пользователями. MAC - это только теоретическая модель, на которой базируются некоторые другие системы управления доступом.
Модель тип-домен (Domain Type Enforcement, DTE).
DTE - это одна из реализаций MAC, основанная на концепции минимальных привилегий: процессу должны быть предоставлены минимально необходимые привилегии (то есть только те, которые реально обязательны процессу). В DTE объекты (файлы) формируют типы, а субъекты (процессы) - домены.
Таблица DDT (Domain Definition Table - таблица определения домена) описывает, как домены и типы могут взаимодействовать друг с другом.
Списки управления доступом (Access Control Lists, ACL).
Unix-системах права доступа файлов определены режимами файлов:
8 битов задают, кто может получить доступ к этому файлу, и определяют режимы доступа. Так как для прав доступа применяется 9 битов, то это позволяет создать три класса пользователей (владелец, группа, остальные) и три класса доступа (чтение, запись, выполнение).
Файловые системы ext2 и ext3 (обе в настоящее время используются в Linux-системах) поддерживают расширенные атрибуты файлов (Extended Attributes, EA), позволяющие задать дополнительные параметры в виде пары имя: значение для каждого файла.
Расширенные атрибуты могут употребляться для обслуживания прав доступа для дополнительных групп пользователей, что дает возможность создавать списки управления доступом (ACL). ACL надо считать расширением традиционной модели прав доступа.
Управление доступом на основе ролей (Role-based Access Control, RBAC).
В RBAC-системе каждому пользователю назначены одна или несколько определенных ролей (роль и UID - это не одно и то же), которые он может реализовывать в системе, то есть некоторые действия, которые разрешены этому пользователю.
Например, администратор может создать роль для администрирования DNS-сервером, позволяя пользователю, которому назначена эта роль, создавать и изменить файлы зон и запускать/перезапускать named. Привилегии, предоставленные роли, жестко контролируются в соответствии с моделью минимальных привилегий.