Гид по моделям управления доступом: DAC, MAC, RBAC, ABAC

Для тех кто тестирует сложные системы с разными ролевыми моделями прав доступа.

1️⃣ DAC (Discretionary Access Control) — Дискреционное управление доступом Это база. Самая распространенная модель, используемая в Linux по умолчанию. Суть: Владелец ресурса сам решает, кому и какие права дать. Как это работает в Linux: Стандартные права rwx (read, write, execute) для Владельца (Owner), Группы (Group) и Остальных (Others). Демонстрация:

[ИЗОБРАЖЕНИЕ 1: Визуализация DAC в Linux] В примере выше мы видим файл finance.txt. Команда ls -l показывает права 750 (-rwxr-x—). Владелец finance_user может делать все. Члены группы finance_group могут только читать и запускать. Остальным доступ закрыт. С помощью команды chmod 750 finance.txt владелец сам установил эти права. 2️⃣ MAC (Mandatory Access Control) — Мандатное управление доступом Более строгая модель, где система (а не владелец) принимает решение. Суть: Права доступа определяются административной политикой безопасности. Владелец не может изменить права, если политика этого не позволяет. Доступ дается на основе “контекстов безопасности”. Как это работает в Linux: Реализуется через подсистемы ядра, такие как SELinux или AppArmor. Демонстрация:

[ИЗОБРАЖЕНИЕ 2: Визуализация MAC на примере SELinux] Здесь мы видим файл sensitive.dat с контекстом SELinux highly_confidential_t. Процесс untrusted_app пытается получить к нему доступ, но SELinux блокирует его, так как политика не разрешает этому приложению работать с такими файлами. Обрати внимание на команду ls -Z sensitive.dat, которая показывает контексты безопасности. 3️⃣ RBAC (Role-Based Access Control) — Управление доступом на основе ролей Гибкая модель для больших систем, где права привязываются к ролям, а не к пользователям. Суть: Доступ предоставляется ролям (например, Админ, Веб-мастер). Пользователям назначаются роли. Как это работает в Linux: Традиционно реализуется через группы пользователей и файл /etc/sudoers.

Демонстрация: [ИЗОБРАЖЕНИЕ 3: Визуализация RBAC в Linux] В примере пользователь User Bob входит в группу Web Admin Group, которая имеет роль Web Server Admin Role. Это дает ему доступ к файлам веб-сайта в /var/www/. User Alice входит в группу DB Admin Group и имеет доступ к БД. Команда groups bob и /etc/sudoers показывают, как группы мапятся на права sudo. 4️⃣ ABAC (Attribute-Based Access Control) — Управление доступом на основе атрибутов Самая современная и гибкая модель, использующая набор атрибутов для принятия решения. Суть: Доступ определяется политикой, которая учитывает атрибуты субъекта (пользователь, роль), объекта (файл, БД, уровень конфиденциальности) и контекста (время, место, IP-адрес).

Демонстрация: [ИЗОБРАЖЕНИЕ 4: Визуализация ABAC] Диаграмма показывает, как Policy Engine анализирует атрибуты: User Bob (роль: аналитик, сеть: офис) хочет выполнить Read над Finance.DB (confidential). Система сравнивает эти атрибуты с базой политик. Если Bob попытается сделать это из публичного Wi-Fi, доступ будет ЗАПРЕЩЕН, даже если он аналитик и имеет права. Это уровень гибкости, недоступный другим моделям. Резюме Эксперта: DAC: Для повседневного использования и большинства файлов. MAC: Для критически важных систем, требующих защиты от взлома приложений (рекомендую AppArmor для простоты, SELinux для параноиков). RBAC: Для организации прав в командах и на серверах с четкой иерархией. ABAC: Для сложных, динамических сред с высокими требованиями к безопасности контекста (например, доступ только в рабочее время из офиса).

#Linux

Гид по моделям управления доступом: DAC, MAC, RBAC, ABAC | Сетка — социальная сеть от hh.ru Гид по моделям управления доступом: DAC, MAC, RBAC, ABAC | Сетка — социальная сеть от hh.ru Гид по моделям управления доступом: DAC, MAC, RBAC, ABAC | Сетка — социальная сеть от hh.ru Гид по моделям управления доступом: DAC, MAC, RBAC, ABAC | Сетка — социальная сеть от hh.ru