Дескрипторы безопасности и управление доступом

Из этой статьи вы узнаете про ещё один компонент безопасности операционной системы Windows, а именно про дескрипторы безопасности.










Дескрипторы безопасности




Выше мы смотрели на механизмы которые позволяют точно идентифицировать объекты. И эти объекты, после идентификации, могут выполнять какие-то действия в системе. Если провести аналогию с реальным миром, то SID и Уровень целостности должны быть записаны в вашем паспорте (маркере доступа). Вы пытаетесь зайти на какой-то секретный объект и охранник проверяет ваш паспорт (маркер доступа) и свой список (дескриптор безопасности) тех кто может заходить на этот объект. Получается, маркеры доступа должны быть у тех, кто хочет что-то сделать. А дескрипторы безопасности нужны тем объектам с которыми хотят что-то сделать.




Дескриптор безопасности — это информация, связанная с объектом, которая определяет, кто и какие действия с объектом может выполнять.




В дескриптор безопасности входят:




  • Номер версии модели монитора безопасности SRM.
  • Дополнительные флаги.
  • SID владельца объекта.
  • Избирательный список управления доступом — DACL. Это список, кто и какой доступ имеет к объекту.
  • Системный список управления доступом — SACL. Это список операций которые должны регистрироваться в журнале аудита безопасности.




ACL состоит из субъектов доступа (кто может обращаться к объекту) и набора прав для каждого субъекта (писать, читать, исполнять). DACL — указывает какой доступ имеет определенный субъект к этому объекту. SACL — указывает какие события нужно заносить в журнал аудита безопасности.




Практика




Давайте посмотрим дескриптор безопасности какого-нибудь процесса. Заметьте, дескриптор безопасности процесса определяет кто может что-то сделать с этим процессом, а не то что может сделать сам процесс. Посмотреть на дескриптор безопасности можно из Process Explorer. Я выбираю любой процесс svhost (процесс какой-то службы), открываю его свойства. Затем перехожу на вкладку «Securuty» и внизу нажимаю кнопку «Permision«:




Права объекта «Процесс»




В примере выше к этому процессу имеют доступ только локальные администраторы. При этом читать и писать в процесс они не могут, но имеют «Особые разрешения«.




Если погрузиться дальше, нажимаем кнопку «Дополнительно«, далее два раза щелкаем по группе «Администраторы«, и в открывшемся окне нажимаем ссылку «Отображение дополнительных разрешений«. Вы увидите такую ACE запись (записи в ACL называются ACE):




Просмотр дополнительных прав




То есть Администраторы могут запрашивать информацию о процессе.




Вот еще некоторые сведения о DACL:




  • Владельцы объекта имеют возможность редактировать DACL записи. То есть могут дать себе полные права, или дать права к этому файлу другому пользователю.
  • Запрещающие правила ACL всегда имеют приоритет над разрешающими.




Если открыть свойства файла или папки, перейти на вкладку «Безопасность«, а затем нажать кнопку «Дополнительно«. И перейти на вкладку «Действующие права доступа«, то можно выбрать пользователя и проверить его права доступа к этому файлу или каталогу:




Аудит прав файла или папки




Динамическое управление доступом (DAC)




В дополнение к перечисленному выше стоит упомянуть ещё одну технологию — динамическое управление доступом.




Механизм избирательного управления доступом, описанный выше был еще с первой версии Windows NT. Но начиная с Windows 8 и Server 2012 появилось динамическое управление доступом (DAC). Оно рассчитано на домен.




Суть в том что в маркер доступа стало возможно добавлять различные атрибуты учетных записей домена. Например город в котором работает сотрудник.







Дополнительно к этому на файлы и каталоги стало возможно навешивать различные теги.




Благодаря расширению маркера доступа и тегам, DAC позволяет настраивать гибкие правила. Например, можно настроить такое поведение, чтобы сотрудник из Москвы мог прочитать файлы только с определённым тегом.




DAC не заменяет DACL, а лишь дополняет его. Так что если DACL запрещало доступ к файлу, то с помощью DAC открыть доступ мы не сможем. Получится лишь ограничить доступ ещё сильнее, оставив доступ только у тех, кому он действительно нужен.




Вот ещё примеры действий, которые можно совершить используя DAC:




  • дать доступ пользователю к файлу только с определенного компьютера, при этом с других компьютеров у него не будет доступа;
  • открыть доступ к файлу сотруднику, если у него соответствующая должность;
  • дать доступ пользователю из определённого города, к файлу с определённым тегом.




Конфигурация DAC определяется в Active Directory и распространяется через групповые политики. Для этого был расширен протокол Kerberos. Подробнее про DAC может посмотреть в этом видео.








Вернуться к оглавлению



2021-10-05T14:21:51
Администрирование Windows