none
Наследование прав доступа и флаги дескриптора безопасности RRS feed

  • Вопрос

  • Решил разобраться в том как работает наследование прав и зашёл в тупик.

    Я знаю что у дескриптора безопасности (Security Descriptor, SD) есть флаги, определяющие будет ли производиться наследование наследуемых ACE из родительского объекта. В справке MSDN указано что таким флагом является SE_DACL_PROTECTED. НО при присутствии этого флага механизм наследования производит наследование ACE. (При его отсутствии тоже)

    Вариант блокировки наследования я выявил только при наличии флага SE_RM_CONTROL_VALID. SE_RM_CONTROL_VALID устанавливается при установке DACL в SD защищаемого объекта, используя функцию SetNamedSecurityInfo (либо её аналоги) с флагом PROTECTED_DACL_SECURITY_INFORMATION. Флаг же SE_DACL_PROTECTED устанавливается в любом случае установки DACL в SD защищаемого объекта (тестировал только файлы).

    Вопрос: зачем вообще нужен флаг SE_DACL_PROTECTED?

    Вопрос: где посмотреть "current inheritance settings", которые применяются при отсутствии в функции SetNamedSecurityInfo флагов PROTECTED_DACL_SECURITY_INFORMATION и UNPROTECTED_DACL_SECURITY_INFORMATION?

    Для получения данных о DACL использовал утилиту accesschk от Руссиновича. DACL'ы менял с помощью самописных прог на c++, VS2005, WinXP SP3.


    • Изменено Hollow Lake 25 апреля 2016 г. 12:13 флаг->флаги
    25 апреля 2016 г. 12:11

Ответы

  • К сожалению, простым рядовым Пользователям, такая информация тем более от Майкрософт, недоступна. Вся доступная информация, только в Библиотеке MSDN.

    Да, я Жук, три пары лапок и фасеточные глаза :))

    • Помечено в качестве ответа ЖукMVP, Moderator 29 апреля 2016 г. 19:27
    29 апреля 2016 г. 19:27
    Модератор

Все ответы

  • Дать больше информации, чем в Библиотеках MSDN, TechNet, не представляется возможным.

    Начните например со статьи "Перечисление SecurityDescriptorControlFlags".


    Да, я Жук, три пары лапок и фасеточные глаза :))

    26 апреля 2016 г. 11:49
    Модератор
  • Ну-с, вокруг флагов я перерыл всё. Противоречий внутри ТЕОРИИ я не нашёл. Проблема в том что либо я неверно понял, либо ТЕОРИЯ и ПРАКТИКА расходятся. Описание флага SE_RM_CONTROL_VALID "Indicates that the resource control manager bits in the security descriptor are valid" При чём тут ресурс менеджер? Более того, в старой оффлайн справке такого флага вообще нет. На других форумах все молчат. Кроме как на официальных MS ресурсах мне не ответят, а знакомых которые занимаются безопасностью в Win у меня нет.
    26 апреля 2016 г. 13:31
  • Не совсем ясна ваша цитата: "... При чём тут ресурс менеджер? ...", разве строка "Indicates that the resource control manager bits in the security descriptor are valid" не переводится как: "
    Указывает, что управляющие биты диспетчера ресурсов в дескрипторе безопасности являются действительными"?

    Да, я Жук, три пары лапок и фасеточные глаза :))

    26 апреля 2016 г. 15:05
    Модератор
  • Дело в том что биты диспетчера ресурсов устанавливаются в выравнивающем поле Sbz1. А флаги управления находятся в поле Control. Про влияние битов resource manager'а на наследование не нашёл ничего. Нашёл функцию SetSecurityDescriptorRMControl, но это всё то же самое, чтобы руками не лезли менять. В локальной справке нашёл:
    resource manager - The component of the smart card subsystem that manages access to multiple readers and smart cards.
    Возможно есть ещё другой менеджер ресурсов, не относящийся к обслуживанию смарт-карт. Меня, впрочем, устроит информация что "это так задумано", но чтобы это была официальная информация от MS и полностью описывало возможные последствия действий. Ибо я могу с лёгкостью не заметить побочные эффекты этих флагов и действий по их выставлению.
    27 апреля 2016 г. 1:40
  • К сожалению, простым рядовым Пользователям, такая информация тем более от Майкрософт, недоступна. Вся доступная информация, только в Библиотеке MSDN.

    Да, я Жук, три пары лапок и фасеточные глаза :))

    • Помечено в качестве ответа ЖукMVP, Moderator 29 апреля 2016 г. 19:27
    29 апреля 2016 г. 19:27
    Модератор