Číst v angličtině

Sdílet prostřednictvím


NewSID v4.10

Od Mark Russinovich

Publikováno: 1. listopadu 2006

Poznámka: NewSID byl vyřazen a už není k dispozici ke stažení. Podívejte se prosím na blogový příspěvek Marka Russinovicha: NewSID Retirement and the Machine SID Duplication Myth

DŮLEŽITÉ

Pokud jde o identifikátory SID, Microsoft nepodporuje image, které jsou připravené pomocí NewSID, podporujeme pouze image připravené nástrojem SysPrep. Microsoft neotestoval NewSID pro všechny možnosti klonování nasazení.

Další informace o oficiálních zásadách společnosti Microsoft najdete v následujícím článku znalostní báze Knowledge Base:

Úvod

Mnoho organizací používá klonování imagí disku k provádění hromadných zavedení Windows. Tato technika zahrnuje kopírování disků plně nainstalovaného a nakonfigurovaného počítače s Windows na diskové jednotky jiných počítačů. Zdá se, že tyto další počítače skutečně prošly stejným procesem instalace a jsou okamžitě k dispozici pro použití.

I když tato metoda šetří hodiny práce a potíže s jinými přístupy k zavedení, má hlavní problém, že každý klonovaný systém má identický identifikátor zabezpečení počítače (SID). Tento fakt ohrožuje zabezpečení v prostředích pracovní skupiny a vyměnitelné zabezpečení médií může být ohroženo také v sítích s několika identickými identifikátory SID počítače.

Poptávka od komunity Systému Windows vede několik společností k vývoji programů, které mohou po klonování systému změnit identifikátor SID počítače. Symantec's SID Changer andSymantec's Ghost Walker se však prodává pouze jako součást špičkového produktu každé společnosti. Oba se navíc spouštějí z příkazového řádku DOS (changer Altiris je podobný NewSID).

NewSID je program, který jsme vyvinuli, který mění identifikátor SID počítače. Je zdarma a je to program Win32, což znamená, že lze snadno spustit v systémech, které byly dříve klonovány.

Než tento program použijete, přečtěte si celý článek.

Informace o verzi:

  • Verze 4.0 zavádí podporu pro systém Windows XP a .NET Server, rozhraní ve stylu průvodce, umožňuje určit identifikátor SID, který chcete použít, komprimace registru a také možnost přejmenovat počítač (což má za následek změnu názvů NetBIOS i DNS).
  • Verze 3.02 opraví chybu, kdy NewSid při přejmenování klíče se starým identifikátorem SID na nový identifikátor SID správně nekopíruje výchozí hodnoty s neplatnými typy hodnot. NT ve skutečnosti používá takové neplatné hodnoty v určitých časech v SAM. Příznakem této chyby byly chybové zprávy, které hlásí odepření přístupu při aktualizaci informací o účtu autorizovaným uživatelem.
  • Verze 3.01 přidává pracovní postup pro nepřístupný klíč registru vytvořený serverem Microsoft Transaction Server. Bez funkce NewSID by se předčasně ukončil.
  • Verze 3.0 zavádí funkci synchronizace identifikátoru SID, která směruje NewSID k získání identifikátoru SID, který se má použít z jiného počítače.
  • Verze 2.0 má možnost automatizovaného režimu a změníme také název počítače.
  • Verze 1.2 opravuje chybu, která byla zavedena ve verzi 1.1, kdy se některé popisovače zabezpečení systému souborů neaktualizovaly.
  • Verze 1.1 opraví relativně menší chybu, která ovlivnila pouze některé instalace. Aktualizoval se také tak, aby změnil identifikátory SID přidružené k nastavení oprávnění sdílených složek a tiskáren.

Klonování a alternativní metody zavedení

Jedním z nejoblíbenějších způsobů provádění hromadných zavedení Windows (obvykle stovek počítačů) v podnikových prostředích je založená na technice klonování disků. Správce systému nainstaluje základní operační systém a doplňkový software používaný ve společnosti do počítače šablony. Po konfiguraci počítače pro provoz v podnikové síti se k kopírování jednotek počítače šablony na desítky nebo stovky počítačů použijí automatizované nástroje pro disky nebo duplikace systému (například Ghost Symantec, ImageDrive a Altiris'RapiDeploy). Tyto klony se pak dostanou do finálních úprav, například přiřazení jedinečných názvů, a pak je používají zaměstnanci společnosti.

Dalším oblíbeným způsobem zavádění je použití nástroje Microsoft sysdiff (součást sady Windows Resource Kit). Tento nástroj vyžaduje, aby správce systému provedl úplnou instalaci (obvykle skriptovanou bezobslužnou instalaci) na každém počítači a poté sysdiff automatizuje aplikaci instalačních imagí doplňku softwaru.

Vzhledem k tomu, že se instalace přeskočí a kopírování sektorů disků je efektivnější než kopírování souborů, klonované zavedení může ušetřit desítky hodin oproti srovnatelné instalaci sysdiff. Kromě toho správce systému nemusí zjistit, jak používat bezobslužnou instalaci nebo sysdiff, nebo vytvářet a ladit instalační skripty. To sama šetří hodiny práce.

Problém s duplikací identifikátoru SID

Problém s klonováním spočívá v tom, že ho Microsoft podporuje pouze v omezeném smyslu. Společnost Microsoft uvedla, že klonování systémů je podporováno pouze v případě, že se provádí před dosažením části grafického uživatelského rozhraní instalačního programu systému Windows. Když instalace dosáhne tohoto bodu, přiřadí se počítači název a jedinečný identifikátor SID počítače. Pokud je systém naklonován po tomto kroku, budou všechny klonované počítače mít identické identifikátory SID počítače. Všimněte si, že změna názvu počítače nebo přidání počítače do jiné domény nezmění identifikátor SID počítače. Změna názvu nebo domény změní identifikátor SID domény pouze v případě, že byl počítač dříve přidružený k doméně.

Abyste pochopili problém, který může klonování způsobit, je nejprve nutné pochopit, jak jsou jednotlivé místní účty v počítači přiřazené identifikátory SID. Identifikátory SID místních účtů se skládají ze identifikátoru SID počítače a připojeného identifikátoru RID (Relativní identifikátor). Identifikátor RID začíná pevnou hodnotou a pro každý vytvořený účet se zvýší o jednu. To znamená, že druhý účet na jednom počítači bude mít například stejný identifikátor RID jako druhý účet na klonu. Výsledkem je, že oba účty mají stejný identifikátor SID.

Duplicitní identifikátory SID nejsou problém v prostředí založeném na doméně, protože účty domény mají identifikátor SID založený na identifikátoru SID domény. Ale podle článku znalostní báze Microsoft Knowledge Base Q162001,"Do Not Disk Duplicate Installed Versions of systém Windows NT", je v zabezpečení prostředí pracovní skupiny založen na identifikátorech SID místního účtu. Pokud tedy dva počítače mají uživatele se stejným identifikátorem SID, pracovní skupina nebude moct rozlišovat mezi uživateli. Všechny prostředky, včetně souborů a klíčů registru, ke kterým má jeden uživatel přístup, bude i druhý.

Další instance, kde duplicitní identifikátory SID můžou způsobit problémy, je místo, kde je vyměnitelné médium formátované systémem NTFS a u souborů a adresářů se použijí atributy zabezpečení místního účtu. Pokud se takové médium přesune do jiného počítače, který má stejný identifikátor SID, pak místní účty, které jinak nebudou mít přístup k souborům, můžou být schopny, pokud se jejich ID účtu shodují s id v atributech zabezpečení. To není možné, pokud mají počítače různé identifikátory SID.

V červnovém vydání časopisu systém Windows NT Magazine byl publikován článek Mark s názvem "NT Rollout Options" (Možnosti zavedení NT). Podrobněji popisuje duplicitní problém se identifikátorem SID a představuje oficiální postoj Microsoftu k klonování. Pokud chcete zjistit, jestli v síti máte duplicitní problém se identifikátory SID, použijte PsGetSid k zobrazení identifikátorů SID počítače.

NewSID

NewSID je program, který jsme vyvinuli pro změnu identifikátoru SID počítače. Nejprve vygeneruje náhodný identifikátor SID pro počítač a pokračuje aktualizací instancí existujícího identifikátoru SID počítače, který najde v registru a v popisovačích zabezpečení souborů, přičemž nahradí výskyty novým identifikátorem SID. NewSID vyžaduje ke spuštění oprávnění správce. Má dvě funkce: změnu identifikátoru SID a změnu názvu počítače.

Pokud chcete použít možnost automatického spuštění NewSID, zadejte na příkazovém řádku "/a". Můžete ho také nasměrovat tak, aby automaticky změnil název počítače zahrnutím nového názvu za přepínač "/a". Příklad:

newsid /a [newname]

Bylo by spuštěno NewSID bez výzvy, změňte název počítače na "newname" a restartujte počítač, pokud všechno funguje dobře.

Poznámka: Pokud systém, na kterém chcete spustit NewSID, je spuštěna služba IIS Správa musíte službu IIS Správa zastavit před spuštěním NewSID. Pomocí tohoto příkazu zastavte službu IIS Správa: net stop iisadmin /y

Funkce synchronizace identifikátoru SID newSID, která umožňuje určit, že místo náhodného generování by se měl nový identifikátor SID získat z jiného počítače. Tato funkce umožňuje přesunout záložní řadič domény (BDC) do nové domény, protože vztah služby BDC k doméně je identifikovaný stejným identifikátorem SID počítače jako ostatní řadiče domény. Jednoduše zvolte tlačítko Synchronizovat identifikátor SID a zadejte název cílového počítače. Abyste mohli tuto funkci používat, musíte mít oprávnění ke změně nastavení zabezpečení klíčů registru cílového počítače, což obvykle znamená, že musíte být přihlášeni jako správce domény.

Všimněte si, že když spustíte NewSID , že velikost registru se zvětšuje, proto se ujistěte, že maximální velikost registru bude obsahovat růst. Zjistili jsme, že tento růst nemá žádný vliv na výkon systému. Důvodem, proč registr roste, je, že se fragmentuje, protože se použijí dočasná nastavení zabezpečení pomocí NewSID. Při odebrání nastavení není registr komprimován.

Důležité: Mějte na paměti, že zatímco jsme důkladně otestovali NewSID, musíte ho použít na vlastní nebezpečí. Stejně jako u jakéhokoli softwaru, který mění nastavení souboru a registru, důrazně doporučujeme před spuštěním NewSID kompletně zálohovat počítač.

Přesunutí služby BDC

Tady jsou kroky, které byste měli provést, když chcete přesunout službu BDC z jedné domény do jiné:

  1. Spusťte BDC, který chcete přesunout a přihlásit. Pomocí NewSID můžete synchronizovat identifikátor SID služby BDC s primárním řadičem domény, do které chcete řadič domény přesunout.
  2. Restartujte systém, pro který jste změnili identifikátor SID (BDC). Vzhledem k tomu, že doména, ke které je služba BDC přidružená, už má aktivní primární řadič domény, spustí se ve své nové doméně jako BDC.
  3. Služba BDC se v Správce serveru zobrazí jako pracovní stanice, takže pomocí tlačítka Přidat do domény přidejte službu BDC do nové domény. Při přidávání nezapomeňte zadat přepínač BDC.

Jak to funguje

NewSID začíná čtením identifikátoru SID existujícího počítače. Identifikátor SID počítače je uložený v podregistru ZABEZPEČENÍ registru v části SECURITY\SAM\Domains\Account. Tento klíč má hodnotu S a hodnotu s názvem V. Hodnota V je binární hodnota, která má v něm vložený identifikátor SID počítače na konci svých dat. NewSID zajišťuje, že je tento identifikátor SID ve standardním formátu (3 32bitové dílčí ověřování předchází třem 32bitovým polím autority).

V dalším kroku NewSID vygeneruje nový náhodný identifikátor SID pro počítač. Generování NewSID má velkou bolest, aby vytvořil skutečně náhodnou 96bitovou hodnotu, která nahrazuje 96bitové hodnoty 3 dílčích ověřování, které tvoří identifikátor SID počítače.

Následují tři fáze nahrazení identifikátoru SID počítače. V první fázi se podregistry registru SECURITY a SAM prohledávají výskyty identifikátoru SID starého počítače v hodnotách klíčů a také názvy klíčů. Když se identifikátor SID najde v hodnotě, nahradí se novým identifikátorem SID počítače a když se identifikátor SID najde v názvu, klíč a jeho podklíče se zkopírují do nového podklíče, který má stejný název s výjimkou nového identifikátoru SID, který nahradí starý identifikátor SID.

Poslední dvě fáze zahrnují aktualizaci popisovačů zabezpečení. Klíče registru a soubory NTFS mají přidružené zabezpečení. Popisovače zabezpečení se skládají z položky, která určuje, který účet vlastní prostředek, což je skupina vlastníkem primární skupiny, volitelný seznam položek, které určují akce povolené uživateli nebo skupinami (označovaný jako volitelný seznam řízení přístupu – DACL) a volitelný seznam položek, které určují, které akce prováděné určitými uživateli nebo skupinami budou generovat položky v systémovém protokolu událostí (Seznam řízení přístupu systému - SACL). Uživatel nebo skupina jsou v těchto popisovačích zabezpečení identifikovány svými IDENTIFIKÁTORy SID a jak jsme uvedli dříve, místní uživatelské účty (jiné než předdefinované účty, jako jsou Správa istrator, Host atd.), mají identifikátory SID počítače a identifikátory RID.

První část aktualizace popisovače zabezpečení probíhá ve všech souborech systému souborů NTFS v počítači. Při každém popisovači zabezpečení se vyhledá výskyty identifikátoru SID počítače. Když NewSID najde, nahradí ho identifikátorem SID nového počítače.

Druhá část aktualizací popisovače zabezpečení se provádí v registru. Za prvé, NewSID musí zajistit, aby kontroluje všechny podregistry, nejen ty, které jsou načteny. Každý uživatelský účet má podregistr registru, který se načte jako HKEY_CURRENT_USER při přihlášení uživatele, ale zůstane na disku v adresáři profilu uživatele, pokud nejsou. NewSID identifikuje umístění všech umístění hive uživatele výčetm HKEY_LOCAL_MACHINE\Software\Microsoft\systém Windows NT\CurrentVersion\ProfileList klíč, který odkazuje na adresáře, ve kterých jsou uloženy. Pak je načte do registru pomocí RegLoadKey v části HKEY_LOCAL_MACHINE a prohledá celý registr a prozkoumá každý popisovač zabezpečení při hledání původního identifikátoru SID počítače. Aktualizace se provádějí stejně jako u souborů a po dokončení NewSID uvolní uživatele, podregistruje ho načtený. Jako poslední krok NewSID zkontroluje klíč HKEY_USERS , který obsahuje podregistr aktuálně přihlášeného uživatele a také klíč . Výchozí podregistr. To je nezbytné, protože hive nelze načíst dvakrát, takže přihlášený uživatel hive se nenačte do HKEY_LOCAL_MACHINE , když NewSID načítá podregistry jiných uživatelů.

Nakonec newSID musí aktualizovat podklíče ProfileList tak, aby odkazy na nové identifikátory SID účtu. Tento krok je nezbytný k tomu, aby systém Windows NT po změně identifikátorů SID nového počítače správně přidružil profily k uživatelským účtům.

NewSID zajišťuje, aby mohl přistupovat ke všem souborům a klíči registru v systému a upravovat je tím, že sám sobě poskytuje následující oprávnění: Systém, zálohování, obnovení a převzetí vlastnictví.