sid код что это
Sid код что это
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами установили домен Active Directory на Windows Server 2019. Одним из краеугольных понятий в AD является идентификатор безопасности компьютера SID, о нем и пойдет речь. Мы разберем, какие они бывают у сервера и рабочей станции, а так же научимся определять SID компьютера, буквально за минуту.
Сколько у компьютера SID-ов?
Существует два типа SID у компьютера:
В обоих случаях у вас будет два абсолютно разных SID. Первый дескриптор безопасности у вас генерируется при установке системы, второй если вы вводите его в домен AD. И так, у меня есть тестовый домен root.pyatilistnik.org. Есть клиентская станция с Windows 10 1803. Для того, чтобы вам показать разницу и оба SID идентификатора на моей тестовой Windows 10, мы воспользуемся утилитой Марка Русиновича PsGetSid из инструментария Sysinternals (Скачать PsGetSid можно по ссылке https://docs.microsoft.com/en-us/sysinternals/downloads/psgetsid). Распаковываете архив с утилитой, открываете командную строку от имени администратора и переходите с помощью cd в каталог с утилитой PsGetSid.
Первым делом я выведу имя компьютера, через команду hostname. В моем примере, это W10-CL01.
Далее я выведу локальный SID компьютера, через утилиту PsGetSid:
В итоге я получил SID for W10-CL01\w10-cl01:S-1-5-21-7706586-876249769-275126362. Обратите внимание, что перед идентификатором безопасности идет имя компьютера, это сразу говорит, что он локальный.
И команда указанная выше, показывает вам доменный SID рабочей станции. SID for ROOT\w10-cl01$:S-1-5-21-233550040-578987154-4094747311-1602. Обратите внимание, что перед идентификаторам идет имя домена ROOT\.
Нюансы идентификаторов безопасности на рабочих станциях
Некоторое время назад, Марк Руссинович, очень известный человек в мире Microsoft, написал замечательную статью, про мифы дублирования SID, где показал на практике свои мысли, но после прочтения статьи у некоторых людей оставалась в голове путаница или вопросы, \ бы хотел немного уточнить по статье (Ссылка на нее https://blogs.technet.microsoft.com/mark_russinovich/2009/11/15/sid/).
Предположим, что вы клонируете нужную вам виртуальную машину или хост. Если вы не обезличиваете систему, с помощью Sysprep, то у вас все полученные клоны систем, будут иметь один локальный SID компьютера. Если мы говорим про окружение в виде рабочей группы в локальной сети, то ни каких проблем с доступом или конфликтом с доступом к ресурсам вы не увидите. Но вот в случае с доменным SID, такое не получится, он должен быть уникальным в пределах Active Directory, в противном случае, у вас будут конфликты между двумя объектами. Убедитесь, что после клонирования и обезличивания у вас разные SID, полученные от мастера RID.
Например, если вы попытаетесь восстановить безопасный канал между контроллером домена и клонированной машиной у которой дублирующий идентификатор безопасности, то она в домен попадет, но выкинет из него первую рабочую станцию и еще кучу различного и разного, глючного поведения.
Методы определения сида компьютера
Хочу отметить, что данную команду вы должны выполнять либо на контроллере домена или же на рабочей станции, где установлены консоли администрирования и утилиты из пакета RSAT.
тут так же будет запрошен SID учетной записи «Администратор». Если компьютер доменный, то нам поможет командлет Get-ADComputer. Запускаем оснастку PowerShell и вводим команду:
Как видите методов очень много. Видел я метод и получения сида из реестра Windows, в ветке
Смена SID при клонировании и массовом развёртывании
Привет, Хабр! Упомянутая в заголовке тема всё ещё порождает множественные дискуссии и недопонимание между системными администраторами. В своей статье я постараюсь ответить на следующие вопросы:
В основу рассуждений была взята популярная статья Марка Руссиновича (доступна также на русском языке), которую довольно часто неправильно интерпретируют (судя по комментариям и «статьям-ответам»), что приводит к неприятным последствиям. Добро пожаловать под кат.
Что такое SID, его типы и чем отличается Machine SID от Domain SID?
В первую очередь, важно различать SID компьютера (Machine SID) и SID домена (Domain SID), которые являются независимыми и используются в разных операциях.
Machine SID и Domain SID состоят из базового SID’а (base SID) и относительного SID’а (Relative SID = RID), который «приклеивается» в конец к базовому. Базовый SID можно рассматривать как сущность, в рамках которой можно определить группы и аккаунты. Машина (компьютер) является сущностью, в рамках которой определяются локальные группы и аккаунты. Каждой машине присваивается machine SID, и SID’ы всех локальных групп и аккаунтов включают в себя этот Machine SID с добавлением RID в конце. Для примера:
Machine SID для машины с именем DEMOSYSTEM | S-1-5-21-3419697060-3810377854-678604692 |
DEMOSYSTEM\Administrator | S-1-5-21-3419697060-3810377854-678604692-500 |
DEMOSYSTEM\Guest | S-1-5-21-3419697060-3810377854-678604692-501 |
DEMOSYSTEM\CustomAccount1 | S-1-5-21-3419697060-3810377854-678604692-1000 |
DEMOSYSTEM\CustomAccount2 | S-1-5-21-3419697060-3810377854-678604692-1001 |
Именно SID’ы (а не имена) хранятся в токенах доступа (access tokens) и дескрипторах безопасности (security descriptors), и именно SID’ы используются при проверке возможности доступа к объектам системы Windows (в том числе, например, к файлам).
На машине вне домена используются локальные SID’ы, описанные выше. Соответственно, при соединении с машиной удалённо используется локальная аутентификация, поэтому даже имея 2 или более машин с одинаковым machine SID в одной сети вне домена, проблем с логином и работой внутри системы не будет, т.к. SID’ы в операциях удалённой аутентификации попросту не используются. Единственный случай, в котором возможны проблемы, это полное совпадение имени пользователя и пароля на двух машинах – тогда, например, RDP между ними может глючить.
Когда машина добавляется в домен, в игру вступает новый SID, который генерируется на этапе добавления. Machine SID никуда не девается, так же как и локальные группы, и пользователи. Этот новый SID используется для представления аккаунта машины в рамках домена. Для примера:
Domain SID для домена BIGDOMAIN | S-1-5-21-124525095-708259637-1543119021 |
BIGDOMAIN\DEMOSYSTEM$ (аккаунт машины (computer account)) | S-1-5-21-124525095-708259637-1543119021-937822 |
BIGDOMAIN\JOHNSMITH (аккаунт пользователя (user account)) | S-1-5-21-124525095-708259637-1543119021-20937 |
Таким образом, машина DEMOSYSTEM теперь имеет два независимых SID’а:
• Machine SID, определяющая машину как сущность, в рамках которой заданы группы и аккаунты (первая строчка в первой таблице).
• SID аккаунта машины (computer account SID) в рамках домена BIGDOMAIN (вторая строчка во второй таблице).
Основная суть в том, что SID’ы должны быть уникальны в пределах окружения (authority), к которому они применимы. Другими словами, если машине DEMOSYSTEM присвоен machine SID S-1-5-21-3419697060-3810377854-678604692-1000, то неважно, что у другой машины в той же сети будет идентичный machine SID, т.к. этот SID используется только локально (в пределах машины DEMOSYSTEM). Но в пределах домена BIGDOMAIN computer SID у обоих машин должен быть уникальным для корректной работы в этом домене.
Смена SID при клонировании или развёртывании
В применении к продукту Acronis Snap Deploy 5 (основное предназначение — массовое развёртывание систем из мастер-образа), в котором функциональность смены SID-а присутствовала с самой первой версии, это означает, что мы, как и многие пользователи, ошибочно пошли на поводу у устоявшегося мнения, что менять SID нужно.
Однако исходя из вышесказанного, ничего страшного в развёртывании (или клонировании) машины без изменения Machine SID вовсе нет, в случае если это развёртывание происходит до добавления машины в домен. В противном случае — возникнут проблемы.
Из этого правила есть одно исключение: нельзя клонировать машину, если в дальнейшем роль этого клона планируется повышать (promote) до уровня домена контроллера. В этом случае Machine SID домен контроллера будет совпадать с computer SID в созданном домене, что вызовет проблемы при попытке добавления оригинальной машины (из которой производилось клонирование) в этот домен. Это, очевидно, относится только к серверному семейству Windows.
Проблемы, связанные со сменой SID
Пересмотреть точку зрения на функциональность смены SID нас подтолкнул выпуск новой версии Windows. При первом тестовом развёртывании образа Windows 10 со сменой SID на получившейся машине обнаружилось, что кнопка Start перестала нажиматься (и это оказалось только вершиной «айсберга»). Если же развёртывать тот же образ без смены SID, то такой проблемы не возникает.
Основная причина в том, что эта опция вносит изменения практически во всю файловую систему развёртываемой машины. Изменения вносятся в реестр Windows, в разрешения NTFS (NTFS permissions) для каждого файла, в SID’ы локальных пользователей (так как SID пользователя включает в себя в том числе и machine SID; подробнее тут) и т.д.
В случае с Windows 10 большая часть ключей реестра не могла быть модифицирована («Error code = C0000005. Access violation» и другие ошибки) и, как следствие, наша функция смены SID’а отрабатывала не до конца, что и приводило к трагической гибели практически нерабочей копии Windows 10.
Было принято решение убрать эту опцию в случае, если в мастер-образе мы находим Windows 10 (или Windows Server 2016). Решение было принято на основе теоретических выкладок описанных выше плюс, естественно, было подтверждено практикой при тестировании недавно вышедшего обновления Acronis Snap Deploy 5 во множестве комбинаций: с и без переименования машин после развёртывания, с добавлением в домен и рабочую группу, развёртывание из мастер-образов снятых от разных состояний мастер-машины (она была добавлена в домен или рабочую группу в разных тестах) и т.д.
Использование Sysprep
Начиная с Windows NT клонирование (развертывание) ОСи с использованием только NewSID никогда не рекомендовалось самим Microsoft. Вместо этого рекомендуется использовать родную утилиту Sysprep (см. KB314828), которая, помимо смены SID’а, также вносит большое число других изменений, и с каждой новой версией Windows их становится только больше. Вот небольшой (неполный) список основных вносимых изменений:
Таким образом, клонирование/развертывание без использования Sysprep может повлиять (читай «скорее всего, сломает») на функциональность Windows Update, Network Load Balancing, MSDTC, Vista и выше Key Manager Activation (KMS), который завязан на CMID (не путать с Machine SID), также изменяемый Sysprep’ом, и т.д.
Итого
Повторяя TL;DR из начала статьи, основной вывод можно сделать такой: для подготовки образа машины к клонированию/развёртыванию следует использовать sysprep в подавляющем большинстве случаев.
Кирилл
Поговорим о SID :smoke:
Что такое SID?
(Security ID — SID).
В сети я видел десятки определений,которые словно списаны как на диктанте у какого то отличника в классе.
Но мои долгие странствия в Сети привели меня к выводу,что это куда более интересная и информативная штуковина.
И сдается мне что определение дано не верно,но никто особо не пытается понять что к чему и это заблуждение проросло в сети,как мокрица на гряде.
Давние труды Рихтера и Кларка отчасти помогли мне разобраться с этой задачей.
Давайте попробуем «прочитать» SID.
В этом нам поможет редактор реестра или командная строка (cmd) с замечательной командой WHOAMI.
(Команда доступна в операционных системах Windows, начиная с Vista.)
Три способа выполнения WhoAmI:
Синтаксис 1:
WHOAMI [/UPN | /FQDN | /LOGONID]
Синтаксис 3:
WHOAMI /ALL [/FO ] [/NH]
Описание:
Эту программу можно использовать для получения сведений об имени
пользователя и группе, а также о соответствующих идентификаторах
безопасности (SID), привилегиях, идентификаторах входа (ID) текущего
пользователя (токене доступа) на локальном компьютере, т.е. для
определения текущего пользователя. Если параметр не указан, имя
пользователя отображается в формате NTLM (домен\пользователь).
Параметры:
/UPN Отображение имени пользователя в формате
имени участника-пользователя (UPN).
/FQDN Отображение имени пользователя в формате
полного доменного имени (FQDN).
/USER Отображение сведений о текущем пользователе
вместе с идентификатором безопасности (SID).
/GROUPS Отображение для текущего пользователя членства
в группах, типа учетной записи, идентификаторов
безопасности (SID) и атрибутов.
/PRIV Отображение привилегий безопасности текущего
пользователя.
/LOGONID Отображение идентификатора текущего пользователя.
/ALL Отображение имени пользователя, членства
в группах, идентификаторов безопасности
(SID) и привилегий для токена доступа
текущего пользователя.
/FO Формат вывода.
Допустимые значения TABLE, LIST, CSV.
Заголовки столбцов в формате CSV
не отображаются. Формат по умолчанию: TABLE.
/NH Указывает, что строка заголовков столбцов
не отображается при выводе.
Допускается только для форматов TABLE и CSV.
/? Вывод справки по использованию.
Примеры:
WHOAMI
WHOAMI /UPN
WHOAMI /FQDN
WHOAMI /LOGONID
WHOAMI /USER
WHOAMI /USER /FO LIST
WHOAMI /USER /FO CSV
WHOAMI /GROUPS
WHOAMI /GROUPS /FO CSV /NH
WHOAMI /PRIV
WHOAMI /PRIV /FO TABLE
WHOAMI /USER /GROUPS
WHOAMI /USER /GROUPS /PRIV
WHOAMI /ALL
WHOAMI /ALL /FO LIST
WHOAMI /ALL /FO CSV /NH
WHOAMI /?
Группа Тип SID
Атрибуты
, Включенная группа
SafeZone-ПК\Debugger Users Псевдоним S-1-5-21
-2590260165-669464418-3280256147-1003 Обязательная группа, Включены по умолчанию
, Включенная группа
BUILTIN\Администраторы Псевдоним S-1-5-32
-544 Обязательная группа, Включены по умолчанию
, Включенная группа, Владелец группы
BUILTIN\Пользователи Псевдоним S-1-5-32
-545 Обязательная группа, Включены по умолчанию
, Включенная группа
NT AUTHORITY\ИНТЕРАКТИВНЫЕ Хорошо известная группа S-1-5-4
Обязательная группа, Включены по умолчанию
, Включенная группа
КОНСОЛЬНЫЙ ВХОД Хорошо известная группа S-1-2-1
Обязательная группа, Включены по умолчанию
, Включенная группа
NT AUTHORITY\Прошедшие проверку Хорошо известная группа S-1-5-11
Обязательная группа, Включены по умолчанию
, Включенная группа
NT AUTHORITY\Данная организация Хорошо известная группа S-1-5-15
Обязательная группа, Включены по умолчанию
, Включенная группа
ЛОКАЛЬНЫЕ Хорошо известная группа S-1-2-0
Обязательная группа, Включены по умолчанию
, Включенная группа
NT AUTHORITY\Проверка подлинности NTLM Хорошо известная группа S-1-5-64
-10 Обязательная группа, Включены по умолчанию
, Включенная группа
Обязательная метка\Высокий обязательный уровень Метка S-1-16-1
2288 Обязательная группа, Включены по умолчанию
я смог определить что sid пользователя,под учетной записью которого я вошел в систему (safezone-пк\fire) имеет значение S-1-5-21-2590260165-669464418-3280256147-1000.
Вот на этом мы и проведем наш практикум,который позволит более корректно дать определение SID и понять его значение.
Умные люди давно придумали такую схему:
S-R-I-S-S
Код агента идентификатора определяет агент, являющийся основанием SID, и обычно таких агентом является локальная операционная система или домен под управлением Windows.
В нашем случае этот код равен 5.
Коды субагентов идентифицируют попечителей, уполномоченных агентом, который выдал SID, а RID — не более, чем средство создания уникальных SID на основе общего базового SID (от англ. common based SID).
В Windows NT SID использовался для идентификации компьютера в сети, вследствие чего для обеспечения уникальности идентификатор SID, генерируемый программой установки Windows Setup, содержит один фиксированный (21) и три генерируемых случайным образом (числа после «S-1-5-21») кода субагентов.
Теперь еще кое что.
Неплохо было бы ознакомиться с RID.
Вот тут кстати напомню о том,почему я засомневался в информации из Гугля по поводу SID.
SID каждой локальной учетной записи формируется на основе SID компьютера с добавлением RID.
А ведь SID может не только формироваться,но и быть фиксированным.
Теперь смотрим мой SID:
S-1-5-21-2590260165-669464418-3280256147-1000
Читаем:
Принадлежность объекта к идентификатору безопасности SID(s)-версия SID=1-создан OS Windows-далее случайно сгенерированный код RID,который обеспечит мою уникальность как объекта SID-моя учетная запись под кодом SID является первой из созданных на этом компьютере,так же из приведенной далее ссылки я вижу что мой SID относится к группе Администраторы.
Итак,на мой взгляд Марк дал самое точное определение для SID.
SID представляет собой числовое значение переменной длины, формируемое из номера версии структуры SID, 48-битного кода агента идентификатора и переменного количества 32-битных кодов субагентов и/ или относительных идентификаторов (relative identifiers, RID). Код агента идентификатора (identifier authority value) определяет агент, выдавший SID. Таким агентом обычно является локальная система или домен под управлением Windows. Коды субагентов идентифицируют попечителей, уполномоченных агентом, который выдал SID, a RID — не болше чем средство создания уникальных SID на основе общего базового SID (common-based SID). Поскольку длина SID довольно велика и Windows старается генерировать случайные значения для каждого SID, то и вероятность появления двух одинаковых SID практически равна нулю.
Так же по этой ссылке можно ознакомиться с известными идентификаторами Windows.
Идентификаторы безопасности
Область применения
В этом разделе для ИТ-специалистов описываются идентификаторы безопасности и их работа в отношении учетных записей и групп Windows операционной системы.
Что такое идентификаторы безопасности?
Идентификатор безопасности (SID) используется для уникальной идентификации директора или группы безопасности. Принципы безопасности могут представлять любую сущность, которая может быть аутентификацией операционной системы, например учетную запись пользователя, учетную запись компьютера или поток или процесс, который выполняется в контексте безопасности пользователя или учетной записи компьютера.
Каждая учетная запись, группа или процесс, запущенный в контексте безопасности учетной записи, имеет уникальный SID, выданный органом, например контроллером Windows домена. Он хранится в базе данных безопасности. Система создает SID, который определяет определенную учетную запись или группу во время создания учетной записи или группы. Когда SID был использован в качестве уникального идентификатора для пользователя или группы, он никогда не может быть использован для идентификации другого пользователя или группы.
При каждом входе пользователя система создает маркер доступа для этого пользователя. Маркер доступа содержит ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС пользователя, права пользователя и СИД для любых групп, к которой принадлежит пользователь. Этот маркер обеспечивает контекст безопасности для любых действий, выполняемых пользователем на этом компьютере.
Помимо уникально созданных ИИИ, определенных для домена, которые назначены определенным пользователям и группам, существуют хорошо известные СИД, которые определяют общие группы и общих пользователей. Например, СИД «Все» и «Мир» определяют группу, включаемую всех пользователей. Известные SID-системы имеют значения, которые остаются неизменными во всех операционных системах.
SiDs — это фундаментальный строительный блок Windows безопасности. Они работают с определенными компонентами технологий управления авторизацией и доступом в инфраструктуре безопасности операционных систем Windows Server. Это помогает защитить доступ к сетевым ресурсам и обеспечивает более безопасную вычислительную среду.
Содержимое в этом разделе относится к компьютерам, на которые запущены поддерживаемые версии операционной системы Windows, как это обозначено в списке Applies To в начале этой темы.
Работа идентификаторов безопасности
Пользователи ссылаются на учетные записи с помощью имени учетной записи, но операционная система внутренне ссылается на учетные записи и процессы, которые работают в контексте безопасности учетной записи с помощью идентификаторов безопасности (SID). Для учетных записей домена, SID директора безопасности создается путем согласовывания SID домена с относительным идентификатором (RID) для учетной записи. SiDs являются уникальными в пределах их области (домена или локального), и они никогда не будут повторно.
Операционная система создает SID, который определяет определенную учетную запись или группу во время создания учетной записи или группы. Sid для локальной учетной записи или группы создается местным управлением безопасности (LSA) на компьютере и хранится с другими сведениями учетной записи в безопасной области реестра. Sid для учетной записи домена или группы создается органом безопасности домена и хранится в качестве атрибута объекта User или Group в службах домена Active Directory.
Для каждой локальной учетной записи и группы sid является уникальным для компьютера, на котором он был создан. Нет двух учетных записей или групп на компьютере никогда не имеют одного и того же SID. Кроме того, для каждой учетной записи домена и группы sid является уникальным в пределах предприятия. Это означает, что SID для учетной записи или группы, созданной в одном домене, никогда не будет соответствовать SID для учетной записи или группы, созданной в любом другом домене предприятия.
SID всегда остаются уникальными. Органы безопасности никогда не выпускают один и тот же SID дважды и никогда не будут повторно использовать SID-данные для удаленных учетных записей. Например, если пользователь с учетной записью пользователя в домене Windows покидает свою работу, администратор удаляет ее учетную запись Active Directory, в том числе sid, который идентифицирует учетную запись. Если позже она возвращается на другую работу в одной и той же компании, администратор создает новую учетную запись, а операционная система Windows Server создает новый SID. Новый SID не соответствует старому; поэтому доступ пользователя со старой учетной записи не передается на новую учетную запись. Две ее учетные записи представляют две совершенно разные принципы безопасности.
Архитектура идентификатора безопасности
Идентификатор безопасности — это структура данных в двоичном формате, которая содержит переменное количество значений. Первые значения в структуре содержат сведения о структуре SID. Остальные значения расположены в иерархии (аналогично номеру телефона), и они идентифицируют орган по выдаче SID (например, «NT Authority»), домен sid-issuing и определенного доверителя безопасности или группу. На следующем изображении иллюстрируется структура SID.
Отдельные значения SID описаны в следующей таблице.
Comment | Описание |
---|---|
Редакция | Указывает версию структуры SID, которая используется в определенном SID. |
Управление идентификатором | Определяет самый высокий уровень полномочий, которые могут выдавать SID-коды для определенного типа доверителем безопасности. Например, значение авторитета идентификатора в группе SID для всех — 1 (World Authority). Значение авторитета идентификатора в SID для определенной учетной записи Windows Server или группы — 5 (NT Authority). |
Subauthorities | >содержит наиболее важную информацию в SID, которая содержится в серии из одного или более значений subauthority. Все значения до, но не включая, последнее значение в серии совместно идентифицируют домен в предприятии. Эта часть серии называется идентификатором домена. Последнее значение в серии, которое называется относительным идентификатором (RID), определяет определенную учетную запись или группу по отношению к домену. |
Компоненты SID легче визуализировать при преобразовании SID из двоичного в формат строки с помощью стандартной нотации:
В этой нотации компоненты SID представлены, как показано в следующей таблице.
Comment | Описание |
---|---|
S | Указывает, что строка является SID |
R | Указывает уровень пересмотра |
X | Указывает значение авторитета идентификатора |
Y | Представляет ряд значений подавторности, где n — это число значений |
Наиболее важные сведения SID содержатся в серии значений подавторитета. Первая часть серии (-Y1-Y2-Y** n-1) — идентификатор домена. Этот элемент SID становится значительным в предприятии с несколькими доменами, так как идентификатор домена отличает идентификаторы SID, которые выданы одним доменом, от СИД, которые выданы всеми другими доменами предприятия. Нет двух доменов в корпоративном идентификаторе одного и того же домена.
Последний элемент из серии значений subauthority (-Yn)— это относительный идентификатор. Она отличает одну учетную запись или группу от всех других учетных записей и групп в домене. Нет двух учетных записей или групп в любом домене с одинаковым относительным идентификатором.
Например, SID для встроенной группы администраторов представлен в стандартизированной нотации SID в качестве следующей строки:
Этот SID имеет четыре компонента:
Уровень пересмотра (1)
Значение авторитета идентификатора (5, NT Authority)
Идентификатор домена (32, Builtin)
Относительный идентификатор (544, Администраторы)
SiD-коды для встроенных учетных записей и групп всегда имеют одно и то же значение идентификатора домена: 32. Это значение определяет домен Builtin, который существует на каждом компьютере, на котором работает версия операционной системы Windows Server. Никогда не нужно отличать встроенные учетные записи и группы одного компьютера от встроенных учетных записей и групп другого компьютера, так как они локальны в области. Они локализованы на одном компьютере, или в случае контроллеров домена для сетевого домена они локальны для нескольких компьютеров, которые действуют как один.
Встроенные учетные записи и группы должны отличаться друг от друга в области домена Builtin. Таким образом, sid для каждой учетной записи и группы имеет уникальный относительный идентификатор. Относительное значение идентификатора 544 уникально для встроенной группы администраторов. Ни одна другая учетная запись или группа в домене Builtin не имеет SID с конечным значением 544.
Sid для администраторов Contoso\Domain имеет:
Уровень пересмотра (1)
Орган идентификатора (5, NT Authority)
Идентификатор домена (21-10043363348-1177238915-6820033330, Contoso)
Относительный идентификатор (512, Администраторы домена)
Sid для администраторов Contoso\Domain отличается от SID для других групп администраторов домена в том же предприятии идентификатором домена: 21-1004336348-1177238915-68200333330. Ни один другой домен в предприятии не использует это значение в качестве идентификатора домена. Sid для администраторов Contoso\Domain отличается от СИД для других учетных записей и групп, созданных в домене Contoso относительным идентификатором 512. Ни одна другая учетная запись или группа в домене не имеет SID с конечным значением 512.
Распределение относительного идентификатора
Когда учетные записи и группы хранятся в базе данных учетных записей, управляемой локальным диспетчером учетных записей безопасности (SAM), система может создать уникальный относительный идентификатор для каждой учетной записи и группы, которую она создает на отдельном компьютере. Sam на отдельном компьютере может отслеживать относительные значения идентификатора, которые он использовал ранее, и убедиться, что он никогда не использует их снова.
Однако в сетевом домене создание уникальных относительных идентификаторов является более сложным процессом. Windows Серверные сетевые домены могут иметь несколько контроллеров домена. Каждый контроллер домена хранит сведения об учетной записи Active Directory. Это означает, что в сетевом домене существует столько же копий базы данных учетных записей, сколько контроллеров домена. Кроме того, каждая копия базы данных учетных записей является основной копией. Новые учетные записи и группы можно создавать на любом контроллере домена. Изменения, внесенные в Active Directory на одном контроллере домена, реплицированы во все другие контроллеры домена в домене. Процесс репликации изменений в одной мастер-копии базы данных учетной записи во все остальные мастер-копии называется операцией multimaster.
Процесс создания уникальных относительных идентификаторов — это одноуголовная операция. Одному контроллеру домена назначена роль мастера относительного идентификатора (RID), и он выделяет последовательность относительные идентификаторы каждому контроллеру домена в домене. Когда новая учетная запись домена или группа создается в реплике одного контроллера домена Active Directory, ему назначен SID. Относительный идентификатор для нового SID взят из выделения контроллером домена относительных идентификаторов. Когда его предложение относительных идентификаторов начинает работать низко, контроллер домена запрашивает еще один блок от мастера RID.
Каждый контроллер домена использует каждое значение в блоке относительных идентификаторов только один раз. Мастер RID выделяет каждый блок относительных значений идентификатора только один раз. Этот процесс гарантирует, что каждая учетная запись и группа, созданные в домене, имеет уникальный относительный идентификатор.
Идентификаторы безопасности и уникальные идентификаторы глобального масштаба
Когда создается новый пользователь домена или учетная запись группы, Active Directory хранит SID учетной записи в свойстве ObjectSID объекта User или Group. Он также назначает новому объекту глобальный уникальный идентификатор (GUID), который является 128-битным значением, уникальным не только на предприятии, но и во всем мире. GUID назначены каждому объекту, созданному Active Directory, а не только объектам user и Group. GUID каждого объекта хранится в свойстве ObjectGUID.
Active Directory использует внутренние GUID-интерфейсы для идентификации объектов. Например, GUID — это одно из свойств объекта, которое публикуется в глобальном каталоге. Поиск глобального каталога GUID объекта Пользователя дает результаты, если у пользователя есть учетная запись где-то на предприятии. На самом деле поиск любого объекта с помощью ObjectGUID может быть самым надежным способом поиска объекта, который необходимо найти. Значения других свойств объектов могут изменяться, но свойство ObjectGUID никогда не меняется. Когда объекту назначен GUID, оно сохраняет это значение для жизни.
Если пользователь перемещается из одного домена в другой, он получает новый SID. Sid для группового объекта не меняется, так как группы остаются в домене, где они были созданы. Однако если люди перемещаются, их учетные записи могут перемещаться вместе с ними. Если сотрудник перемещается из Северной Америки в Европу, но остается в одной компании, администратор предприятия может переместить объект Пользователя сотрудника из, например, Contoso\NoAm в Contoso\Europe. Если администратор делает это, объекту User для учетной записи необходим новый SID. Часть идентификатора домена sid, выданная в NoAm, является уникальной для NoAm; таким образом, sid для учетной записи пользователя в Европе имеет другой идентификатор домена. Относительная часть идентификатора SID уникальна по отношению к домену; так что если домен изменяется, то изменяется и относительный идентификатор.
Когда объект Пользователя перемещается из одного домена в другой, для учетной записи пользователя и хранения в свойстве ObjectSID должен быть создан новый SID. Перед тем, как новое значение будет записано в свойство, предыдущее значение копируется в другое свойство объекта Пользователя, SIDHistory. Это свойство может иметь несколько значений. Каждый раз, когда объект Пользователя перемещается в другой домен, новый SID создается и хранится в свойстве ObjectSID, а в списке старых SID в SIDHistoryдобавляется другое значение. При успешной проверке подлинности пользователя служба проверки подлинности домена запрашивает Active Directory для всех СИД, связанных с пользователем, включая текущий SID пользователя, старые СИД пользователя и СИД для групп пользователей. Все эти СИД возвращаются клиенту проверки подлинности и включаются в маркер доступа пользователя. Когда пользователь пытается получить доступ к ресурсу, любой из СИД в маркере доступа (в том числе один из SID в SIDHistory), может разрешить или запретить доступ к пользователю.
Если вы разрешаете или отказываете пользователям в доступе к ресурсу на основе их заданий, то следует разрешить или запретить доступ к группе, а не к отдельному лицу. Таким образом, при смене рабочих мест или переходе в другие отделы можно легко настроить доступ, удалив их из определенных групп и добавив их в другие.
Однако, если вы разрешаете или отказываете отдельному пользователю в доступе к ресурсам, возможно, вы хотите, чтобы доступ этого пользователя не менялся независимо от того, сколько раз изменяется домен учетной записи пользователя. Свойство SIDHistory позволяет это сделать. При изменении доменов пользователем нет необходимости изменять список управления доступом (ACL) на любом ресурсе. Если ACL имеет старый SID пользователя, но не новый, старый SID по-прежнему находится в маркере доступа пользователя. Он перечислены среди sid для групп пользователя, и пользователю предоставляется или отказано в доступе на основе старого SID.
Хорошо известные SID
Значения определенных SID-данных являются постоянными во всех системах. Они создаются при установке операционной системы или домена. Они называются хорошо известными СИД, так как они определяют общих пользователей или общие группы.
Существуют универсальные хорошо известные СИИ, которые имеют значение во всех безопасных системах, которые используют эту модель безопасности, включая операционные системы, не Windows. Кроме того, существуют хорошо известные СИИ, которые имеют значение только Windows операционных системах.
В следующей таблице перечислены универсальные хорошо известные СИИ.
Значение | Универсальный Well-Known SID | Идентификаторы |
---|---|---|
S-1-0-0 | Null SID | Группа без участников. Это часто используется, когда значение SID неизвестно. |
S-1-1-0 | World | Группа, включаемая всех пользователей. |
S-1-2-0 | Локальные | Пользователи, которые подключаются к терминалам, подключенным к системе локально (физически). |
S-1-2-1 | Консоли Logon | Группа, включаемая пользователей, которые вошли в физическую консоль. |
S-1-3-0 | ID владельца-создателя | Идентификатор безопасности, который должен быть заменен идентификатором безопасности пользователя, создавшего новый объект. Этот SID используется в наследуемых acEs. |
S-1-3-1 | ID группы создателей | Идентификатор безопасности, который должен быть заменен пользовательским интерфейсом основной группы пользователя, создавшего новый объект. Используйте этот SID в наследуемых acEs. |
S-1-3-2 | Сервер владельца-создателя | |
S-1-3-3 | Сервер группы Creator | |
S-1-3-4 | Права владельца | Группа, представляюющая текущего владельца объекта. Когда ACE, несущий этот SID, применяется к объекту, система игнорирует неявные разрешения READ_CONTROL WRITE_DAC для владельца объекта. |
S-1-4 | Non-unique Authority | Sid, представляю для себя орган идентификатора. |
S-1-5 | NT Authority | Sid, представляю для себя орган идентификатора. |
S-1-5-80-0 | Все службы | Группа, которая включает все процессы службы, настроенные в системе. Членство контролируется операционной системой. |
В следующей таблице перечислены предопределяемые константы полномочий идентификатора. Первые четыре значения используются с универсальными хорошо известными SID-данными, а последнее — с известными siD-данными в Windows операционных системах, указанных в списке Applies To.
Управление идентификаторами | Значение | Префикс строки SID |
---|---|---|
SECURITY_NULL_SID_AUTHORITY | 0 | S-1-0 |
SECURITY_WORLD_SID_AUTHORITY | 1 | S-1-1 |
SECURITY_LOCAL_SID_AUTHORITY | 2 | S-1-2 |
SECURITY_CREATOR_SID_AUTHORITY | 3 | S-1-3 |
Следующие значения RID используются с универсальными хорошо известными СИД. Столбец авторитета идентификатора показывает префикс органа идентификатора, с которым можно объединить RID для создания универсального общеизвестного SID.
Управление относительным идентификатором | Значение | Управление идентификаторами |
---|---|---|
SECURITY_NULL_RID | 0 | S-1-0 |
SECURITY_WORLD_RID | 0 | S-1-1 |
SECURITY_LOCAL_RID | 0 | S-1-2 |
SECURITY_CREATOR_OWNER_RID | 0 | S-1-3 |
SECURITY_CREATOR_GROUP_RID | 1 | S-1-3 |
Орган предварительного идентификации security_NT_AUTHORITY (S-1-5) создает идентификаторы SID, которые не являются универсальными и имеют смысл только в установках операционных систем Windows, указанных в списке Applies To в начале этой темы. В следующей таблице перечислены известные СИД.
Следующие RID относительно каждого домена.
RID | Десятичная величина | Идентификаторы |
---|---|---|
DOMAIN_USER_RID_ADMIN | 500 | Учетная запись административного пользователя в домене. |
DOMAIN_USER_RID_GUEST | 501 | Учетная запись гостевого пользователя в домене. Пользователи, у которых нет учетной записи, могут автоматически войти в эту учетную запись. |
DOMAIN_GROUP_RID_USERS | 513 | Группа, которая содержит все учетные записи пользователей в домене. Все пользователи автоматически добавляются в эту группу. |
DOMAIN_GROUP_RID_GUESTS | 514 | Учетная запись группового гостя в домене. |
DOMAIN_GROUP_RID_COMPUTERS | 515 | Группа «Компьютер домена». Все компьютеры в домене являются членами этой группы. |
DOMAIN_GROUP_RID_CONTROLLERS | 516 | Группа контроллера домена. Все контроллеры домена в домене являются членами этой группы. |
DOMAIN_GROUP_RID_CERT_ADMINS | 517 | Группа издателей сертификатов. Компьютеры с службами сертификатов Active Directory являются членами этой группы. |
DOMAIN_GROUP_RID_SCHEMA_ADMINS | 518 | Группа администраторов схемы. Члены этой группы могут изменять схему Active Directory. |
DOMAIN_GROUP_RID_ENTERPRISE_ADMINS | 519 | Группа администраторов предприятия. Члены этой группы имеют полный доступ ко всем доменам в лесу Active Directory. Enterprise администраторы отвечают за операции на уровне лесов, такие как добавление или удаление новых доменов. |
DOMAIN_GROUP_RID_POLICY_ADMINS | 520 | Группа администраторов политики. |
В следующей таблице приводится пример СИИ, используемых для формирования известных СИД для локальных групп.
RID | Десятичная величина | Идентификаторы |
---|---|---|
DOMAIN_ALIAS_RID_ADMINS | 544 | Администраторы домена. |
DOMAIN_ALIAS_RID_USERS | 545 | Все пользователи в домене. |
DOMAIN_ALIAS_RID_GUESTS | 546 | Гости домена. |
DOMAIN_ALIAS_RID_POWER_USERS | 547 | Пользователь или набор пользователей, которые рассчитывают относиться к системе как к своему персональному компьютеру, а не как к рабочей станции для нескольких пользователей. |
DOMAIN_ALIAS_RID_BACKUP_OPS | 551 | Локализованная группа, которая используется для управления назначением прав пользователя на резервное копирование и восстановление файлов. |
DOMAIN_ALIAS_RID_REPLICATOR | 552 | Локализованная группа, которая отвечает за копирование баз данных безопасности с основного контроллера домена на контроллеры резервного копирования домена. Эти учетные записи используются только системой. |
DOMAIN_ALIAS_RID_RAS_SERVERS | 553 | Локализованная группа, которая представляет удаленный доступ и серверы, работающие в службе проверки подлинности в Интернете (IAS). Эта группа разрешает доступ к различным атрибутам объектов Пользователя. |
Изменения в функциональных возможностях идентификатора безопасности
В следующей таблице описываются изменения в реализации SID в Windows операционных системах, указанных в списке.
Изменение | Версия операционной системы | Описание и ресурсы |
---|---|---|
Большинство файлов операционной системы принадлежат идентификатору безопасности TrustedInstaller (SID) | Windows Server 2008, Windows Vista | Целью этого изменения является предотвращение автоматической замены файлов операционной системы в качестве администратора или учетной записи LocalSystem. |
Реализованы ограниченные проверки SID | Windows Server 2008, Windows Vista | При ограничении SID присутствуют, Windows выполняет две проверки доступа. Во-первых, это обычная проверка доступа, а вторая — та же проверка доступа к ограничивающим SID-данным в маркере. Для доступа к объекту необходимо пройти обе проверки доступа. |
SiD-функции
Все SID-данные о возможностях, о чем известно операционной системе, хранятся в Windows реестре в путиHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SecurityManager\CapabilityClasses\AllCachedCapabilities. К этому расположению будут добавлены Windows возможности, добавленные в Windows или сторонними приложениями.
Примеры ключей реестра, взятых из Windows 10 версии 1909, 64-Enterprise версии
В статье AllCachedCapabilities можно увидеть следующие клавиши реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SecurityManager\CapabilityClasses\AllCachedCapabilities\capabilityClass_DevUnlock HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SecurityManager\CapabilityClasses\AllCachedCapabilities\capabilityClass_DevUnlock_Internal HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SecurityManager\CapabilityClasses\AllCachedCapabilities\capabilityClass_Enterprise HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SecurityManager\CapabilityClasses\AllCachedCapabilities\capabilityClass_General HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SecurityManager\CapabilityClasses\AllCachedCapabilities\capabilityClass_Restricted HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SecurityManager\CapabilityClasses\AllCachedCapabilities\capabilityClass_Windows