İngilizce dilinde oku

Aracılığıyla paylaş


NewSID v4.10

Tarafından Mark Russinovich

Yayımlanma Tarihi: 1 Kasım 2006

Not: NewSID kullanımdan kaldırılmıştır ve artık indirilemez. Lütfen Mark Russinovich'in blog gönderisine bakın: NewSID Retirement and the Machine SID Duplication Myth

ÖNEMLİ

SID'ler konusunda Microsoft, NewSID kullanılarak hazırlanan görüntüleri desteklemez, yalnızca SysPrep kullanılarak hazırlanan görüntüleri destekleriz. Microsoft, NewSID'yi tüm dağıtım kopyalama seçenekleri için test etmemiştir.

Microsoft'un resmi ilkesi hakkında daha fazla bilgi için lütfen aşağıdaki Bilgi Bankası makalesine bakın:

Giriş

Birçok kuruluş Windows'un toplu dağıtımlarını gerçekleştirmek için disk görüntüsü kopyalamayı kullanır. Bu teknik, tam olarak yüklenmiş ve yapılandırılmış bir Windows bilgisayarının disklerini diğer bilgisayarların disk sürücülerine kopyalamayı içerir. Bu diğer bilgisayarlar etkili bir şekilde aynı yükleme işleminden geçmiş gibi görünür ve hemen kullanılabilir.

Bu yöntem, diğer dağıtım yaklaşımlarında saatlerce çalışma ve zorluk tasarrufu sağlarken, kopyalanan her sistemin aynı Bilgisayar Güvenlik Tanımlayıcısı 'na (SID) sahip olması önemli bir soruna sahiptir. Bu durum Çalışma Grubu ortamlarında güvenliği tehlikeye atabilir ve birden çok özdeş bilgisayar SID'sine sahip ağlarda çıkarılabilir medya güvenliği de tehlikeye girebilir.

Windows topluluğundan gelen talep, birkaç şirketin bir sistem kopyalandıktan sonra bilgisayarın SID'sini değiştirebilecek programlar geliştirmesine yol açmıştır. Ancak, Symantec'in SID Değiştiricisi veSymantec'in Ghost Walker'ı yalnızca her şirketin üst düzey ürününün bir parçası olarak satılır. Ayrıca, her ikisi de bir DOS komut isteminden çalışır (Altiris'in değiştiricisi NewSID'ye benzer).

NewSID , bir bilgisayarın SID'sini değiştiren, geliştirdiğimiz bir programdır. Ücretsizdir ve bir Win32 programıdır, yani daha önce kopyalanmış sistemlerde kolayca çalıştırılabilir.

Bu programı kullanmadan önce lütfen bu makalenin tamamını okuyun.

Sürüm Bilgileri:

  • Sürüm 4.0, Windows XP ve sihirbaz stilindeki bir arabirim olan .NET Server için destek sunar; uygulamak istediğiniz SID'yi, Kayıt Defteri sıkıştırmasını ve ayrıca bir bilgisayarı yeniden adlandırma seçeneğini belirtmenize olanak tanır (bu da hem NetBIOS hem de DNS adlarının değişmesine neden olur).
  • Sürüm 3.02, eski SID'ye sahip bir anahtarı yeni SID'ye yeniden adlandırırken NewSid'in geçersiz değer türlerine sahip varsayılan değerleri doğru şekilde kopyalamadığı bir hatayı düzeltir. NT aslında SAM'de belirli zamanlarda bu tür geçersiz değerleri kullanır. Bu hatanın belirtisi, hesap bilgileri yetkili bir kullanıcı tarafından güncelleştirildiğinde erişimin reddedildiğini bildiren hata iletileriydi.
  • Sürüm 3.01, Microsoft Transaction Server tarafından oluşturulan erişilemez bir Kayıt Defteri anahtarı için geçici bir çözüm ekler. NewSID geçici çözüm olmadan erken çıkar.
  • Sürüm 3.0, NewSID'yi başka bir bilgisayardan uygulanacak SID'yi alması için yönlendiren bir SID eşitleme özelliği getirir.
  • Sürüm 2.0'ın otomatik mod seçeneği vardır ve bilgisayar adını da değiştirelim.
  • Sürüm 1.2, bazı dosya sistemi güvenlik tanımlayıcılarının güncelleştirilmediği 1.1 sürümünde kullanıma sunulan bir hatayı düzeltir.
  • Sürüm 1.1, yalnızca belirli yüklemeleri etkileyen nispeten küçük bir hatayı düzeltmektedir. Ayrıca dosya ve yazıcı paylaşımlarının izin ayarlarıyla ilişkili SID'leri değiştirecek şekilde güncelleştirildi.

Kopyalama ve Alternatif Dağıtım Yöntemleri

Şirket ortamlarında toplu Windows dağıtımları (genellikle yüzlerce bilgisayar) gerçekleştirmenin en popüler yollarından biri disk kopyalama tekniğini temel alır. Sistem yöneticisi, şirket içinde kullanılan temel işletim sistemini ve eklenti yazılımını bir şablon bilgisayara yükler. Makineyi şirket ağında işlem için yapılandırdıktan sonra, şablon bilgisayarın sürücülerini onlarca veya yüzlerce bilgisayara kopyalamak için otomatik disk veya sistem yineleme araçları (Symantec'in Hayaleti, PowerQuest'inGörüntü Sürücüsü ve Altiris'RapiDeploy gibi) kullanılır. Bu kopyalara daha sonra benzersiz adların atanması gibi son ayarlamalar verilir ve ardından şirket çalışanları tarafından kullanılır.

Bir diğer popüler dağıtım yolu da Microsoft sysdiff yardımcı programını (Windows Resource Kit'in bir parçası) kullanmaktır. Bu araç, sistem yöneticisinin her bilgisayarda tam yükleme (genellikle betikli katılımsız yükleme) gerçekleştirmesini gerektirir ve ardından sysdiff , eklenti yazılım yükleme görüntülerinin uygulamasını otomatikleştirir.

Yükleme atlandığından ve disk kesimi kopyalama dosya kopyalamadan daha verimli olduğundan, kopyalanmış tabanlı bir dağıtım, karşılaştırılabilir bir sysdiff yüklemesi üzerinden onlarca saat tasarruf edebilir. Ayrıca, sistem yöneticisinin katılımsız yükleme veya sysdiff kullanmayı ya da yükleme betikleri oluşturup hatalarını ayıklamayı öğrenmesi gerekmez. Bu tek başına çalışma saatlerinden tasarruf sağlar.

SID Yineleme Sorunu

Kopyalamayla ilgili sorun, microsoft tarafından yalnızca çok sınırlı bir anlamda desteklenmesidir. Microsoft, kopyalama sistemlerinin yalnızca Windows Kurulumu'nun GUI bölümüne ulaşılamadan önce yapılması durumunda desteklendiğini belirtmiştir. Yükleme bu noktaya ulaştığında bilgisayara bir ad ve benzersiz bir bilgisayar SID'si atanır. Bu adımdan sonra bir sistem kopyalanırsa, kopyalanan makinelerin tümü aynı bilgisayar SID'lerine sahip olur. Yalnızca bilgisayar adını değiştirmek veya bilgisayarı farklı bir etki alanına eklemek, bilgisayar SID'sini değiştirmez. Adın veya etki alanının değiştirilmesi, yalnızca bilgisayar daha önce bir etki alanıyla ilişkilendirildiyse etki alanı SID'sini değiştirir.

Kopyalamanın neden olabileceği sorunu anlamak için öncelikle bilgisayardaki tek tek yerel hesapların SID'lere nasıl atandığını anlamak gerekir. Yerel hesapların SID'leri bilgisayarın SID'sini ve ekli RID'yi (Göreli Tanımlayıcı) oluşturur. RID sabit bir değerden başlar ve oluşturulan her hesap için bir artırılır. Bu, örneğin bir bilgisayardaki ikinci hesaba bir kopyadaki ikinci hesapla aynı RID'nin verileceği anlamına gelir. Sonuç, her iki hesabın da aynı SID'ye sahip olmasıdır.

Etki alanı hesaplarının Etki Alanı SID'sini temel alan SID'leri olduğundan, etki alanı tabanlı bir ortamda yinelenen SID'ler sorun oluşturmaz. Ancak, Microsoft Bilgi Bankası'nın "Windows NT'nin Yüklü Sürümlerini Diske Çoğaltma" Q162001 makalesine göre, Çalışma Grubu ortamı güvenliği yerel hesap SID'lerini temel alır. Bu nedenle, iki bilgisayarda aynı SID'ye sahip kullanıcılar varsa, Çalışma Grubu kullanıcıları ayırt edemeyecektir. Bir kullanıcının erişimi olan dosyalar ve Kayıt Defteri anahtarları da dahil olmak üzere tüm kaynaklar, diğeri de erişecektir.

Yinelenen SID'lerin sorunlara neden olabileceği başka bir örnek, NTFS ile biçimlendirilmiş çıkarılabilir medyanın bulunduğu ve yerel hesap güvenlik özniteliklerinin dosyalara ve dizinlere uygulandığı yerdir. Böyle bir medya aynı SID'ye sahip farklı bir bilgisayara taşınırsa, aksi takdirde dosyalara erişemeyen yerel hesaplar, hesap kimliklerinin güvenlik özniteliklerindekilerle eşleşmesi durumunda bunu yapabilir. Bilgisayarlar farklı SID'lere sahipse bu mümkün değildir.

Mark'ın yazdığı "NT Dağıtım Seçenekleri" başlıklı makale, Windows NT Magazine'in Haziran sayısında yayımlandı. Yinelenen SID sorununu daha ayrıntılı bir şekilde ele alır ve Microsoft'un kopyalamaya ilişkin resmi tutumunu sunar. Ağınızda yinelenen SID sorunu olup olmadığını görmek için PsGetSid kullanarak makine SID'lerini görüntüleyin.

Newsıd

NewSID , bilgisayarın SID'sini değiştirmek için geliştirdiğimiz bir programdır. İlk olarak bilgisayar için rastgele bir SID oluşturur ve Kayıt Defteri'nde ve dosya güvenliği tanımlayıcılarında bulduğu mevcut bilgisayar SID'sinin örneklerini güncelleştirmeye devam eder ve oluşumları yeni SID ile değiştirir. NewSID'nin çalışması için yönetici ayrıcalıkları gerekir. İki işlevi vardır: SID'yi değiştirme ve bilgisayar adını değiştirme.

NewSID'nin otomatik çalıştırma seçeneğini kullanmak için komut satırında "/a" belirtin. "/a" anahtarından sonra yeni adı ekleyerek bilgisayarın adını otomatik olarak değiştirmeye de yönlendirebilirsiniz. Örnek:

newsid /a [newname]

NewSID'nin sormadan çalışmasını sağlayın, bilgisayar adını "newname" olarak değiştirin ve her şey yolunda giderse bilgisayarı yeniden başlatmasını sağlayın.

Not: NewSID'yi çalıştırmak istediğiniz sistem IIS çalıştırıyorsa Yönetici NewSID'yi çalıştırmadan önce IIS Yönetici hizmetini durdurmanız gerekir. IIS Yönetici hizmetini durdurmak için şu komutu kullanın: net stop iisadmin /y

NewSID'nin rastgele bir sid oluşturmak yerine farklı bir bilgisayardan alınması gerektiğini belirtmenizi sağlayan SID eşitleme özelliği. Bir İVB'nin etki alanıyla ilişkisi diğer Etki Alanı Denetleyicileriyle (DC) aynı bilgisayar SID'sine sahip olduğu belirlendiğinden, bu işlev bir Yedekleme Etki Alanı Denetleyicisi'ni (İVB) yeni bir Etki Alanına taşımayı mümkün kılar. "SID'yi Eşitle" düğmesini seçip hedef bilgisayarın adını girmeniz yeterlidir. Hedef bilgisayarın Kayıt Defteri anahtarlarının güvenlik ayarlarını değiştirme izinlerine sahip olmanız gerekir. Bu, genellikle bu özelliği kullanmak için etki alanı yöneticisi olarak oturum açmanız gerektiği anlamına gelir.

NewSID'yi çalıştırdığınızda Kayıt Defteri boyutunun büyüyeceğini unutmayın, bu nedenle maksimum Kayıt Defteri boyutunun büyümeye uyum sağlayacağından emin olun. Bu büyümenin sistem performansı üzerinde algılanabilir bir etkisi olmadığını tespit ettik. Kayıt Defteri'nin büyümesi, geçici güvenlik ayarları NewSID tarafından uygulandığından parçalanmış olmasıdır. Ayarlar kaldırıldığında Kayıt Defteri sıkıştırılmaz.

Önemli: NewSID'yi kapsamlı bir şekilde test etmiş olsak da, bunu kendi riskinizle kullanmanız gerektiğini unutmayın. Dosya ve Kayıt Defteri ayarlarını değiştiren tüm yazılımlarda olduğu gibi, NewSID'yi çalıştırmadan önce bilgisayarınızı tamamen yedeklemeniz kesinlikle önerilir.

İVB'leri taşıma

Bir İVB'yi bir etki alanından diğerine taşımak istediğinizde izlemeniz gereken adımlar şunlardır:

  1. Taşımak istediğiniz İVB'yi önyükleyin ve oturum açın. BDC'nin SID'sini, İVB'yi taşımak istediğiniz etki alanının PDC'siyle eşitlemek için NewSID kullanın.
  2. SID'yi (İVB) değiştirdiğiniz sistemi yeniden başlatın. İVB'nin ilişkili olduğu etki alanının zaten etkin bir PDC'si olduğundan, yeni etki alanında BDC olarak önyüklenir.
  3. İVB, Sunucu Yöneticisi bir iş istasyonu olarak gösterilir, bu nedenle İVB'yi yeni etki alanına eklemek için "Etki Alanına Ekle" düğmesini kullanın. Eklerken İVB radyo düğmesini belirttiğinizden emin olun.

Nasıl çalışır?

NewSID , mevcut bilgisayar SID'sini okuyarak başlar. Bilgisayarın SID'si, SECURITY\SAM\Domains\Account altında Kayıt Defteri'nin SECURITY kovanında depolanır. Bu anahtar F adlı bir değere ve V adlı bir değere sahiptir. V değeri, bilgisayar SID'sinin verilerinin sonuna eklenmiş olduğu ikili bir değerdir. NewSID , bu SID'nin standart bir biçimde olmasını sağlar (üç 32 bit yetkili alanının önünde 3 32 bit alt kimlik doğrulaması).

Ardından, NewSID bilgisayar için yeni bir rastgele SID oluşturur. NewSID'nin nesli, bir bilgisayar SID'sini oluşturan 3 alt kimlik doğrulama değerinin 96 bit değerinin yerini alan, gerçekten rastgele bir 96 bit değer oluşturmak için büyük sıkıntılar çeker.

Bilgisayarın SID değiştirmesinin üç aşaması izlenmiştir. İlk aşamada, SECURITY ve SAM Kayıt Defteri kovanları, anahtar değerlerinde eski bilgisayar SID'sinin oluşumları ve anahtarların adları için taranır. SID bir değerde bulunduğunda yeni bilgisayar SID'si ile değiştirilir ve SID bir ad içinde bulunduğunda anahtar ve alt anahtarları, eskinin yerine yeni SID'nin değiştirilmesi dışında aynı ada sahip yeni bir alt anahtara kopyalanır.

Son iki aşama, güvenlik tanımlayıcılarının güncelleştirilmesini içerir. Kayıt defteri anahtarları ve NTFS dosyalarıyla ilişkilendirilmiş güvenlik vardır. Güvenlik tanımlayıcıları, kaynağın hangi hesabın sahibi olduğunu tanımlayan bir girdiden, hangi grubun birincil grup sahibi olduğunu tanımlayan bir girdiden, kullanıcılar veya gruplar tarafından izin verilen eylemleri belirten isteğe bağlı bir girdi listesinden (İsteğe Bağlı Erişim Denetim Listesi - DACL olarak bilinir) ve belirli kullanıcılar veya gruplar tarafından gerçekleştirilen eylemlerin sistem Olay Günlüğü'nde (Sistem Erişim Denetim Listesi - SACL) hangi eylemlerin oluşturulacağını belirten isteğe bağlı bir girdi listesinden oluşur. Bir kullanıcı veya grup, bu güvenlik tanımlayıcılarında SID'leri ile tanımlanır ve daha önce de belirttiğim gibi, yerel kullanıcı hesaplarının (Yönetici istrator, Guest gibi yerleşik hesaplar dışında) SID'leri bilgisayar SID'si ve RID'den oluşur.

Güvenlik tanımlayıcısı güncelleştirmelerinin ilk bölümü, bilgisayardaki tüm NTFS dosya sistemi dosyalarında gerçekleşir. Her güvenlik tanımlayıcısı, bilgisayar SID'sinin oluşumları için taranır. NewSID bir tane bulduğunda, yeni bilgisayar SID'si ile değiştirir.

Güvenlik tanımlayıcısı güncelleştirmelerinin ikinci bölümü Kayıt Defteri'nde gerçekleştirilir. İlk olarak, NewSID'nin yalnızca yüklenenleri değil tüm kovanları taradığından emin olması gerekir. Her kullanıcı hesabının, kullanıcı oturum açtığında HKEY_CURRENT_USER olarak yüklenen ancak değilken kullanıcının profil dizininde diskte kalan bir Kayıt Defteri kovanı vardır. NewSID, depolandıkları dizinleri işaret eden HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList anahtarını numaralandırarak tüm kullanıcı kovan konumlarının konumlarını tanımlar. Ardından bunları HKEY_LOCAL_MACHINE altında RegLoadKey kullanarak Kayıt Defteri'ne yükler ve eski bilgisayar SID'sini ararken her güvenlik tanımlayıcısını inceleyerek kayıt defterinin tamamını tarar. Güncelleştirmeler, dosyalar için olduğu gibi ve tamamlandığında gerçekleştirilirNewSID, yüklemiş olduğu kullanıcı kovanlarını kaldırır. Son adım olarak NewSID , oturum açmış durumdaki kullanıcının kovanını ve öğesini içeren HKEY_USERS anahtarını tarar. Varsayılan kovan. Bir kovan iki kez yüklenemediğinden bu gereklidir, bu nedenle NewSID diğer kullanıcı kovanlarını yüklerken oturum açan kullanıcı kovanı HKEY_LOCAL_MACHINE yüklenmez.

Son olarak, NewSID'nin yeni hesap SID'lerine başvurmak için ProfileList alt anahtarlarını güncelleştirmesi gerekir. Bu adım, hesap SID'leri yeni bilgisayar SID'sini yansıtacak şekilde değiştirildikten sonra Windows NT'nin profilleri kullanıcı hesaplarıyla doğru şekilde ilişkilendirmesini sağlamak için gereklidir.

NewSID , kendisine şu ayrıcalıkları vererek sistemdeki her dosyaya ve Kayıt Defteri anahtarına erişebilmesini ve bunları değiştirebilmesini sağlar: Sistem, Yedekleme, Geri Yükleme ve Sahipliği Alma.