>SDDL: Учимся описывать безопасность.

>

image Я уже дважды обещал рассказать о страшных и жутко непонятных строках вида D:(A;;CCLCSWLOCRRC;;;AU), то есть о SDDL (Security Descriptor Definition Language). Но сначала, конечно же, о том, что это такое и зачем это нужно. Думаю, многим известно, что практически к каждому объекту в современном мире Windows прикреплен некий Security Descriptor, который описывает параметры безопасности, связанные с данным объектом, как то: кто владеет объектом, кто и каким образом может получить доступ к объекту, и что об этом доступе следует записать в журнал аудита. Security Descriptor представляет из себя некую бинарную строку, которую человеку читать можно, но сложно. Для того, чтобы облегчить чтение дескриптора, возможно и был придуман этот язык SDDL. Впрочем, для языка эта структура слишком проста – научиться «разговаривать» на этом языке достаточно просто, хотя и не слишком-то необходимо. А вот читать его и писать на нем хотя бы со словарем я считаю полезным. Иногда еще встречаются ситуации, когда это умение облегчает жизнь. Например, команды SC sdshow/sdset используют именно его. В этом же формате умеет выводить разрешения на объекты файловой системы cacls (Vista и выше) и Get-ACL (PowerShell). Да и мой пост, с которого все это началось, тоже делает такое умение полезным.

Итак, приступим. Представим себе, что мы встретились-таки со строкой вида, указанного выше. Благодаря тому, что Вы прочитали весь предыдущий поток сознания, Вы уже в курсе, что это можно прочесть. Понятное дело, что, раз это можно читать, то можно и разбить на некоторые секции, скажем, «смысловые группы». Этими группами являются:

1. Заголовок (Header). Он содержит флаги, показывающие, как данная строка соотносится с наследованием. То есть, разрешено ли оно, или нет, а также – что именно и как наследуется.

2. DACL (D:) – список собственно разрешений

3. SACL (S:) – список атрибутов аудита

4. Primary Group (G:) – оставлена для совместимости. Не используется до тез пор, пока Вы не работаете с Services for UNIX/Mac.

5. Owner (O:) – отображает владельца объекта.

Соответственно, каждый элемент заголовка сопровождается группой двухсимвольных лексем или SID’ом.

Владелец и Primary Group само собой отображаются в виде SID. Некоторые хорошо известные SID’ы отображаются как акронимы. Например, BA = Built-in Administrators. DACL & SACL представляют из себя строки, которые в свою очередь тоже состоят из различных кусков. Эти куски, заключенные в круглые скобки – ACE, которые (Вы мне не поверите!!! =) ) также дробятся на части. Эти части уже неделимы (разве что на те самые лексемы), отделяются точкой с запятой и содержат следующие параметры:

— Тип ACE (Allow, Deny, AUdit)

— Флаги ACE (наследование и настройки аудита)

— Разрешения

— Тип объекта (в виде GUID)

— Унаследованный тип объекта

— Trustee (кто бы сказал, как это нормально перевести ;). В общем это участник безопасности — пользователь, группа, и так далее)

В общем-то, все не так уж сложно: если иметь под рукой словарь, ссылку на который я дам позже – в следующем выпуске, в котором мы рассмотрим пару примеров чтения дескриптора.

Реклама

>SDDL: Учимся описывать безопасность.: 0 комментариев

  1. KomatoZo

    >Обычно то, что является группой или пользователем я называю участником безопасности (тоже MS-овское), но тут это может быть не только User/Group и к «лицу» может отношения и вовсе не иметь. А субъект — хорошо — занес в записную книжку. =)

    Нравится

  2. Артём

    >угу. Я потому и говорю, что «лицо» — это не очень удачный термин. И слово «доверенное» мне тоже не очень нравится. Если мы используем в DACL для него не разрешения, а запреты — какое же оно после этого доверенное?Но это официальный термин, который используется в интерфейсе всех продуктов.

    Нравится

  3. KomatoZo

    >Ну термин участник тебе чем не нравится? То, что в МС с локализованной терминологией туго я в курсе, нам тут даже рассылали опросник как-то. Так что может и сдвинется. Даже можно сказать — уже двигаются. =)

    Нравится

  4. Артём

    >да нет, я не спорю. Участник — приемлемо. Особенно, если оно кем-то уже где-то использовалось. Уж всяко намного лучше, чем лицо =)ЗЫ. «участник безопасности» — 147 результатов в Яндексе»субъект безопасности» — 1009 результатов в Яндексе»Доверенное лицо» — 342 тыс. Но это уже не так интересно.

    Нравится

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s