NewSID версии 4.10
Марк Руссинович
Опубликовано: 1 ноября 2006 г.
Примечание. NewSID устарел и больше недоступен для скачивания. См. запись блога Марк Руссиновича: NewSID Retirement and the Machine SID Дублирование
В отношении идентификаторов SID корпорация Майкрософт не поддерживает образы, подготовленные с помощью NewSID, мы поддерживаем только образы, подготовленные с помощью SysPrep. Корпорация Майкрософт не проверила NewSID для всех параметров клонирования развертывания.
Дополнительные сведения о официальной политике Майкрософт см. в следующей статье базы знаний:
Многие организации используют клонирование дискового образа для выполнения массовых развертываний Windows. Этот метод включает копирование дисков полностью установленного и настроенного компьютера Windows на диски других компьютеров. Эти другие компьютеры, как представляется, прошли тот же процесс установки и сразу же доступны для использования.
Хотя этот метод экономит часы работы и сбой над другими подходами развертывания, она имеет основную проблему, что каждая клонированная система имеет идентичный идентификатор безопасности компьютера (SID). Этот факт компрометирует безопасность в средах рабочей группы, а съемные носители также могут быть скомпрометированы в сетях с несколькими одинаковыми идентификаторами БЕЗОПАСНОСТИ компьютеров.
Спрос от сообщества Windows привел несколько компаний к разработке программ, которые могут изменить идентификатор безопасности компьютера после клонированных систем. Тем не менее, Symantec SID Changer и Symantec Призрак Уокер продаются только в рамках высококачественного продукта каждой компании. Кроме того, они оба запускаются из командной строки DOS (переменный altiris похож на NewSID).
NewSID — это программа, разработанная нами, которая изменяет идентификатор безопасности компьютера. Это бесплатная программа Win32, что означает, что ее можно легко запускать в системах, которые ранее клонировались.
Прежде чем использовать эту программу, ознакомьтесь со всей этой статьей.
Сведения о версии:
- Версия 4.0 содержит поддержку Windows XP и .NET Server, интерфейса в стиле мастера, позволяет указать идентификатор безопасности, который требуется применить, сжатие реестра, а также возможность переименовать компьютер (что приводит к изменению имен NetBIOS и DNS).
- Версия 3.02 исправляет ошибку, из-за которой NewSid неправильно копирует значения по умолчанию с недопустимыми типами значений при переименовании ключа со старым идентификатором БЕЗОПАСНОСТИ на новый идентификатор безопасности. NT фактически использует такие недопустимые значения в определенное время в SAM. Симптомом этой ошибки было сообщение об ошибках, сообщаемых об отказе доступа, когда сведения об учетной записи были обновлены авторизованным пользователем.
- Версия 3.01 добавляет работу для недоступного раздела реестра, созданного сервером транзакций Майкрософт. Без обхода NewSID уйдет преждевременно.
- Версия 3.0 представляет функцию синхронизации sid-sync, которая направляет NewSID для получения идентификатора безопасности для применения с другого компьютера.
- Версия 2.0 имеет параметр автоматического режима, и давайте также изменим имя компьютера.
- Версия 1.2 исправляет ошибку, введенную в версии 1.1, где некоторые дескрипторы безопасности файловой системы не были обновлены.
- Версия 1.1 исправляет относительно незначительные ошибки, которые повлияли только на определенные установки. Он также был обновлен, чтобы изменить идентификаторы SID, связанные с параметрами разрешений для общих папок файлов и принтеров.
Одним из самых популярных способов массового развертывания Windows (обычно сотни компьютеров) в корпоративных средах является метод клонирования дисков. Системный администратор устанавливает базовую операционную систему и программное обеспечение надстройки, используемое в компании на компьютере шаблона. После настройки компьютера для работы в корпоративной сети для копирования дисков или системных средств дублирования (таких как Призрак Symantec, Диск образов PowerQuestи Altiris'RapiDeploy) используются для копирования дисков компьютера шаблона на десятки или сотни компьютеров. Затем эти клоны получают окончательные настройки, такие как назначение уникальных имен, а затем используются сотрудниками компании.
Другим популярным способом развертывания является служебная программа microsoft sysdiff (часть набора ресурсов Windows). Для этого средства требуется, чтобы системный администратор выполнял полную установку (обычно сценарий автоматической установки) на каждом компьютере, а затем sysdiff автоматизирует приложение образов установки программного обеспечения надстроек.
Так как установка пропускается, и так как копирование сектора дисков является более эффективным, чем копирование файлов, развертывание на основе клонирования может сохранять десятки часов за сравнимую установку sysdiff. Кроме того, системный администратор не должен узнать, как использовать автоматическую установку или sysdiff, а также создавать и отлаживать сценарии установки. Это в одиночку экономит часы работы.
Проблема с клонированием заключается в том, что она поддерживается только корпорацией Майкрософт в очень ограниченном смысле. Корпорация Майкрософт заявила, что клонирование систем поддерживается только в том случае, если оно сделано до достижения части графического интерфейса программы установки Windows. Когда установка достигает этой точки, компьютер назначает имя и уникальный идентификатор безопасности компьютера. Если система клонирована после этого шага, все клонированные компьютеры будут иметь одинаковые идентификаторы безопасности компьютеров. Обратите внимание, что только изменение имени компьютера или добавление компьютера в другой домен не изменяет идентификатор безопасности компьютера. Изменение имени или домена изменяет идентификатор безопасности домена только в том случае, если компьютер был связан с доменом.
Чтобы понять проблему, из-за которой клонирование может вызвать, сначала необходимо понять, как назначаются отдельные локальные учетные записи на компьютере. Идентификаторы идентификаторов локальных учетных записей состоят из идентификатора безопасности компьютера и добавленного RID (относительный идентификатор). ФУНКЦИЯ RID начинается с фиксированного значения и увеличивается на одну для каждой созданной учетной записи. Это означает, что вторая учетная запись на одном компьютере, например, будет указана та же функция RID, что и вторая учетная запись в клоне. Результатом является то, что обе учетные записи имеют одинаковый идентификатор безопасности.
Повторяющиеся идентификаторы SID не являются проблемой в среде на основе домена, так как учетные записи домена имеют идентификатор БЕЗОПАСНОСТИ на основе идентификатора безопасности домена. Но в соответствии со статьей базы знаний Майкрософт Q162001 "Не дублировать установленные версии Windows NT", в системе безопасности среды рабочей группы используется локальные идентификаторы безопасности учетных записей. Таким образом, если у двух компьютеров есть пользователи с одинаковым идентификатором безопасности, группа работы не сможет различать пользователей. Все ресурсы, включая файлы и разделы реестра, к которым у одного пользователя есть доступ, а также другие.
Другой экземпляр, в котором повторяющиеся идентификаторы SID могут вызвать проблемы, в которых есть съемный носитель, отформатированный с ПОМОЩЬЮ NTFS, и атрибуты безопасности локальной учетной записи применяются к файлам и каталогам. Если такой носитель перемещается на другой компьютер с одинаковым идентификатором безопасности, локальные учетные записи, которые в противном случае не смогут получить доступ к файлам, могут иметь возможность, если идентификаторы учетных записей совпадают с идентификаторами учетных записей в атрибутах безопасности. Это не возможно, если компьютеры имеют разные идентификаторы SID.
Статья Марк написала под названием "Параметры развертывания NT" , опубликована в июньском выпуске Windows NT Magazine. В нем подробно рассматривается проблема с дублирующимся идентификатором безопасности и представлена официальная позиция Майкрософт по клонирование. Чтобы узнать, есть ли у вас проблема с повторяющимся идентификатором безопасности в сети, используйте PsGetSid для отображения идентификаторов siD компьютера.
NewSID — это программа, разработанная для изменения идентификатора безопасности компьютера. Сначала он создает случайный идентификатор безопасности для компьютера и переходит к обновлению экземпляров существующего идентификатора безопасности компьютера, который он находит в реестре и в дескрипторах безопасности файлов, заменяя вхождения новым идентификатором БЕЗОПАСНОСТИ. NewSID требует прав администратора для выполнения. Она имеет две функции: изменение идентификатора безопасности и изменение имени компьютера.
Чтобы использовать параметр автоматического запуска NewSID, укажите "/a" в командной строке. Вы также можете настроить автоматическое изменение имени компьютера, включив новое имя после переключателя "/a". Например:
newsid /a [newname]
У вас будет запуск NewSID без запроса, измените имя компьютера на newname и перезагрузите компьютер, если все идет нормально.
Примечание. Если система, в которой вы хотите запустить NewSID, выполняет IIS Администратор необходимо остановить службу IIS Администратор перед запуском NewSID. Используйте эту команду, чтобы остановить службу IIS Администратор: net stop iisadmin /y
Функция синхронизации sid-synchroning newSID, которая позволяет указать, что вместо случайного создания идентификатора безопасности должен быть получен с другого компьютера. Эта функция позволяет переместить контроллер домена резервного копирования (BDC) в новый домен, так как связь BDC с доменом определяется тем же идентификатором компьютера, что и другие контроллеры домена (DCs). Просто нажмите кнопку "Синхронизировать sid" и введите имя целевого компьютера. Необходимо иметь разрешения на изменение параметров безопасности разделов реестра целевого компьютера, что обычно означает, что для использования этой функции необходимо войти в систему в качестве администратора домена.
Обратите внимание, что при запуске NewSID размер реестра будет увеличиваться, поэтому убедитесь, что максимальный размер реестра будет соответствовать росту. Мы обнаружили, что этот рост не имеет заметного влияния на производительность системы. Причина роста реестра заключается в том, что он становится фрагментирован как временные параметры безопасности применяются NewSID. При удалении параметров реестр не сжимается.
Важно отметить, что, хотя мы тщательно проверили NewSID, вы должны использовать его в вашем собственном риске. Как и в любом программном обеспечении, которое изменяет параметры файла и реестра, настоятельно рекомендуется полностью создать резервную копию компьютера перед запуском NewSID.
Ниже приведены шаги, которые необходимо выполнить, когда требуется переместить BDC из одного домена в другой:
- Загрузите BDC, который вы хотите переместить и войти в систему. Используйте NewSID для синхронизации идентификатора безопасности BDC с PDC домена домена, в который требуется переместить BDC.
- Перезагрузите систему, для которой вы изменили идентификатор безопасности (BDC). Так как домен, с которым теперь связан BDC, уже имеет активный PDC, он будет загружаться в качестве BDC в новом домене.
- BDC будет отображаться как рабочая станция в диспетчер сервера, поэтому нажмите кнопку "Добавить в домен", чтобы добавить BDC в новый домен. При добавлении обязательно укажите переключатель BDC.
NewSID начинается с чтения существующего идентификатора безопасности компьютера. Идентификатор безопасности компьютера хранится в кусте БЕЗОПАСНОСТИ реестра в разделе SECURITY\SECURITY\SAM\Domains\Account. Этот ключ имеет значение с именем F и значением с именем V. Значение V — это двоичное значение, которое содержит идентификатор безопасности компьютера, внедренный в него в конце данных. NewSID гарантирует, что этот идентификатор безопасности находится в стандартном формате (32-разрядные подзаборы, предшествующие трем 32-разрядным полям центра).
Затем NewSID создает новый случайный идентификатор безопасности для компьютера. Создание NewSID принимает большие боли, чтобы создать действительно случайное 96-разрядное значение, которое заменяет 96-разрядные значения 3 вложенных значений, составляющих идентификатор безопасности компьютера.
Следуйте трем этапам замены идентификатора безопасности компьютера. На первом этапе hives реестра SECURITY и SAM проверяются на наличие идентификатора безопасности старого компьютера в значениях ключей, а также имена ключей. Если идентификатор безопасности найден в значении, он заменяется новым идентификатором безопасности компьютера, а при обнаружении идентификатора безопасности в имени ключ и его подраздел копируются в новый подраздел, имеющий то же имя, что и новый идентификатор безопасности, заменяющий старый.
Последние два этапа включают обновление дескрипторов безопасности. Разделы реестра и файлы NTFS связаны с ними безопасностью. Дескрипторы безопасности состоят из записи, которая определяет, какая учетная запись владеет ресурсом, который является владельцем основной группы, необязательным списком записей, которые указывают действия, разрешенные пользователями или группами (известный как список дискреционных контроль доступа list - DACL), а также необязательный список записей, определяющих действия, выполняемые определенными пользователями или группами, будут создавать записи в системном журнале событий (система список контроль доступа — SACL). Пользователь или группа определяются в этих дескрипторах безопасности с их идентификаторами SID, и, как я уже говорил ранее, локальные учетные записи пользователей (кроме встроенных учетных записей, таких как Администратор istrator, Guest и т. д.), имеют свои идентификаторы БЕЗОПАСНОСТИ компьютера, а также RID.
Первая часть обновлений дескриптора безопасности происходит во всех файловых файлах файловой системы NTFS на компьютере. Каждый дескриптор безопасности проверяется для вхождения идентификатора безопасности компьютера. Когда NewSID находит его, он заменяет его новым идентификатором безопасности компьютера.
Вторая часть обновлений дескриптора безопасности выполняется в реестре. Во-первых, NewSID должен убедиться, что он сканирует все кусты, а не только те, которые загружены. У каждой учетной записи пользователя есть куст реестра, загруженный как HKEY_CURRENT_USER при входе пользователя, но он остается на диске в каталоге профилей пользователя, если они не находятся. NewSID определяет расположения всех расположений hive пользователя, перечисляя ключ HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList , указывающий на каталоги, в которых они хранятся. Затем он загружает их в реестр с помощью RegLoadKey в HKEY_LOCAL_MACHINE и сканирует весь реестр, проверяя каждый дескриптор безопасности в поиске старого идентификатора безопасности компьютера. Обновления выполняются так же, как и для файлов, и по завершении работы NewSID выгрузит загруженный пользователем объект. На последнем шаге NewSID сканирует ключ HKEY_USERS , который содержит куст текущего пользователя, вошедшего в систему, а также ключ. Hive по умолчанию. Это необходимо, так как hive не может быть загружен дважды, поэтому вход пользователя hive не будет загружен в HKEY_LOCAL_MACHINE , когда NewSID загружает другие пользовательские кусты.
Наконец, NewSID должен обновить вложенные ключи ProfileList , чтобы ссылаться на новые идентификаторы учетных записей. Этот шаг необходим, чтобы windows NT правильно связывать профили с учетными записями пользователей после изменения идентификаторов учетных записей, чтобы отразить новый идентификатор безопасности компьютера.
NewSID гарантирует, что он может получить доступ к каждому разделу файла и реестра в системе, предоставив себе следующие привилегии: система, резервное копирование, восстановление и владение.