Windows Server 2012 Developer Preview Flexible Single Master Operations (FSMO) Rolleri
Merhabalar, Windows Server 8 ile ilgili yeni bir makalede yine birlikteyiz.Her makalede, Beta olan Windows Server 8 üzerindeki hem yeni bileşenleri hem de geçmişden günümüze devam eden özellikleri inceliyorduk.Bu bölümde, Windows Server 8 üzerindeki Flexible Single Master Operations (FSMO) rollerini açıklayacağız.
Active Directory sisteminin işleyişini yöneten beş farklı rol tanımlanmıştır.Her birinin görevi farklı olan bu roller, sadece Domain Controller sunucuları üzerinde yer alır.Her bir Domain Controller bir role sahip olabileceği gibi, birden fazla rol veya tamamınıda sahip olabilir.Ortama ilk kurulan Forest Root Domain Controller bu beş role de sahiptir.Bu beş rolü daha detaylı olarak inceleyelim.
Windows Server 2000 den beri, ikisi tüm forest’ta görevli birer tane; üçü de her domainde görevli birer tane; toplam beş tane operations master rolü vardır. Schema Master ve Domain Naming Master rolleri forest’ta sadece bir tane olan roller iken PDC Emulator, RID Master ve Infrastructure Master rolleri forest’ta her domain’de bir DC üzerinde yer alabilir.Kısaca FSMO olarak isimlendireceğimiz, rollerinin hepsini aynı Domain Controller üzerinde tanımlayabileceğimiz gibi her rolün ayrı bir Domain Controller tarafından da üstlenilmesini sağlayabiliriz. Elbetteki ilerleyen kısımlarda operations master rollerinin en uygun yerleşimi ile ilgili de çeşitli tavsiyelerde de bulunacağız.
Operations master rolleri Active Directory Domain Services içerisindeki yapılan değişikliklerde rol üstlenmek sureti ile değişikliklerin ayarlanmasını kontrol eden bir Domain Controller’dır.Her rol için sadece o rolü üstlenen Domain Controller, Active Directory içinde değişiklikleri gerçekleştirebilir. Active Directory hangi Domain Controller’ın hangi rolü üstlendiğine dair bilgileri de kendi içerisinde tutar.Eğer bir Operations Master devre dışı kalır ise söz konusu rol, başka bir Domain Controller’a aktarılmalıdır.
Active Directory beş tane Operations Master’ı üzerinde barındırır.Bunlar forest tabanlı ve domain tabanlı olarak iki gruba ayrılmıştır.Şimdi tüm masterların görevlerini ve sorun yaşadıkları zaman nasıl çözebileceğimize bakalım.
- Forest Wide Operations Master Rolleri
- Schema Master
- Domain Naming Master
- Domain Wide Operations Master Rolleri
- Relative Identifier Master (RID Master)
- Primary Domain Controller Emulator (PDC Emulator)
- Infrastracture Master
Schema Master
Schema master rolünü üstlenen Domain Controller, Active Directory Schema veritabanını günceller. Schema, bütün Active Directory nesnelerinin ana listesini içerir.Schema Master rolüne sahip olan Domain Controller, Active Directory şemasına yazma yetkisine sahiptir.Bu arada şema’da değişiklik yapma yetkisi yalnızca Schema Admins grubuna ait kullanıcılar tarafından yapılır.Eğer bu rolde bir sorun varsa şema üzerinde değşiklik yapılamaz.Şema’da yapılan değişikliklere en güzel örnek Exchange Server kurulumudur.
Active Directory Schema, Active Directory’de yer alabilecek tüm nesnelerin tanımlarını içerir. Active Directory’de herhangi bir nesne oluşturacağımız zaman ilgili nesnenin ne gibi özelliklerinin olacağı Active Directory şemasında belirlenmiştir.Şemanın tüm foresttaki her Domain Controller üzerinde aynı olma zorunluluğu mevcuttur (tabiki belirli bir replikasyon süresi tamamlandıktan sonra). Forest’ta schema update’leri sadece schema master rolüne sahip olan Domain Controller üzerinden yapılabilir.Schema’ya yapılan update işleminin öneminden dolayı schema master makinasından Active Directory schema’ya erişim engellenmiştir.Schema’ya yeni sınıf, nesne veya öznitelik eklemek için Active Directory’deki root domain’de bulunan “schema admins“ grubuna dahil olmak gereklidir. Active Directory Schema konsolunu yüklemek için;
1)Çalıştır’a gelinerek, regsvr32 schmmgmt.dll yazılır.“DllRegisterServer in schmmgmt.dll succeeded “ mesajı gelir.
2)MMC konsolu açılarak, Add/Remove Snap-in’den Active Directory Schema seçilip eklenir.
3)Daha sonra konsol üzerinde Active Directory Schema’ya sağ tuş ile tıklanır.Operations Master seçeneğini seçip gelen ekranda rolün hangi sunucuda olduğunu görebiliriz.
Domain Naming Master
Domain Naming Master rolüne sahip olan bilgisayar Active Directory Forest’ı içinde aşağıda belirteceğimiz işlemleri yapma yetkisi olan tek Domain Controller’dır.
- Active Directory Forest’ına yeni bir domain ekleme.
- Active Directory Forest’ından bir domain’i çıkartma.
- Diğer Active Directory veritabanlarına nesne referanslarının atanması veya diğer veritabanlarından bu bilgilerin silinmesi.
Yeni domain eklerken veya varolan bir domain’i kaldırırken Domain Naming Master rolünü üstlenmiş olan Domain Controller ile haberleşilmesi gerekir.Bunun nedeni ise, CN=Partitions, CN=Configuration, DC=<domain> bölümüne yazabilme hakkı sadece Domain Naming Master rolünü üstlenen Domain Controller’da vardır. Domain’leri oluşturmak için böyle bir kontrol olmasaydı, iki tane ayrı bilgisayardan aynı anda aynı isimli bir Active Directory domain’i oluşturulabilmesi gibi yanlış sonuçlar doğabilirdi.
Domain Naming Master rolünün varsayılan sahibi forest root domain’inde ilk kurulan Domain Controller’dır.Domain Naming Master rolünü üstlenecek Domain Controller’da dikkat edilmesi gereken en önemli husus ise ilgili Domain Controller’ın aynı zamanda Global Catalog sunucusu olması gerekliliğidir.Bunun nedeni herhangi bir domain nesnesi oluşturulacağı zaman Domain Naming Master kendi üzerindeki Active Directory veritabanına bakarak aynı isimde bir başka nesne olup olmadığını kontrol eder.Eğer aynı isimli bir başka nesne varsa yeni nesne için başka bir isim önerir. Örneğin, forest’ta varolan herhangi bir domain’in ismi Jordian.net olsun ve biz Jordian.com.tr isminde bir domain’i kurmaya çalışırsak, Domain Naming Master bunu anlayarak dcpromo çalışırken bize yeni bir isim önerecektir.Örneğin, Jordian0 gibi.
Active Directory‘de yeni bir domain oluştururken eğer Domain Naming Master aynı zamanda Global Catalog sunucusu değil ise dcpromo.exe işlemi yarıda kesilebilir.
1)Domain Naming Master rolünün sahibini görebilmek için Active Directory Domains and Trusts konsoluna sağ tıklayıp operations master seçilir.
2)Herhangi bir Domain Controller’ı Global Catalog yapmak istediğimizde ise bu işlemi Active Directory Sites and Services konsolu aracılığı ile yapabiliriz.
Primary Domain Controller Emulator (PDC Emulator)
Active Directory’de Operations Master rolüne sahip bilgisayarlar arasında üzerinde en çok yük olan FSMO rolüdür.Bu yüzden Primary Domain Controller Emulator (PDC Emulator) makinasını seçerken dikkatli davranmak gerekir.Primary Domain Controller’ın görevlerini aşağıda görebilirsiniz;
- “Mixed-mode” bir domainimiz varsa ortamdaki NT4.0 Backup Domain Controller’lara Primary Domain Controller’lık yapmak ve Active directory veritabanını NT4’lerin anlayabileceği formata dönüştürerek bilgilerin sağlıklı olarak NT SAM veritabanıında yer almasını sağlar.
- Windows 9x’ler ve NT’ler domain password değişiklikleri için ağ üzerinden Primary Domain Controller makinasını ararlar. Dolayısı ile eğer PDC Emulator online değil ise Windows 9x’ler ve NT’ler password değiştiremezler.
- PDC Emulator aynı zamanda Domain Master Browser olarak da çalışır.Bu servis eskiden beri bigisayar ağlarımızda kullanılan bir Windows NT Server teknolojisi olduğu ve çok detaylı olduğu için, master browser algoritmasından burada çok bahsetmeyeceğiz.Basit olarak söyleyebiliriz ki, Windows’ta masaüstünde gördüğümüz “My Network Places” pencelerindeki domain ve bilgisayar isimleri, bu servis aracılığı ile kullanımımıza sunulur.
- Active Directory’de tüm Domain Controller’lar kendilerine gelen domain password değişikliklerini hemen Primary Domain Controller Emulator makinasına gönderirler.Bir kullanıcı yeni şifresi ile oturum açmaya çalıştığında, oturum talebi istek paketini alan Domain Controller, şifre değişikliğini transfer etmemiş olabilir.Böyle bir durumda kullanıcıya, oturum açılaması ile ilgili bir hata mesajını göndermeden önce PDC Emulator makinasına giderek şifresini kontrol eder, eğer kullanıcının şifresi değişmiş ise bu değişikliği kendisine alır ve kullanıcının kimliği doğrulanır.Bu sayede istenmeyen, yetkisiz oturum açma hata mesajlarının da önüne geçilmeye çalışılır.Active Directory’de bu gibi Domain Controller’lar arasındaki standart replikasyon zamanını beklemeden yapılan ve genelde Primary Domain Controller’a gönderilen replikasyon işlemlerine “urgent replication (ani replikasyon)” diyoruz.
- Kullanıcı hesabı “lock edilmiş (Hatalı logon denemeleri sonucu domain policy’leri sayesinde kilitlenmiş)” bir kullanıcı için gelen kimlik doğrulama isteği de öncelikle Primary Domain Controller tarafından kontrol edilir.Her Domain Controller kitlenmiş hesabı “unlock (kilidin kaldırılması)” ettiği zaman bunu Primary Domain Controller’a bildirir.Kimlik doğrulama isteği iptal edilmeden önce yapılan bu kontrol, replikasyon gecikmelerinden doğabilecek sorunları ortadan kaldırır.
- Group Policy konsolları PDC Emulator üzerinden açılır.Böylelikle aynı anda farklı Domain Controller’lar üzerinden yapılan değişikliklerin tamamının Group Policy’lere işlenmesi sağlanır.Ancak göz ardı etmemek gereken bir işlem elbetteki aynı Group Policy ayarının değiştirilmesi durumunda en son yapılan ayarın geçerli olacağıdır.
- Primary Domain Controller Emulator bilgisayarı, aynı zamanda domain içinde time server olarak da çalışır.Logon olan Domain Controller’lar kendi sistem saatlerinin, kendi domain’lerindeki PDC bilgisayarı ile eşitlerler. Böylece bir forest’ta tüm bilgisayarların sistem saatlerinin birbirine eşit olması sağlanır.Bu da sistem saatlerini de kullanarak çalışan Kerberos logon protokolünün güvenlik görevlerini eksiksiz yapabilmesini sağlar.
Yukarıda belirttiğimiz görevlerinden dolayı PDC Emulator bilgisayarı çok önemlidir. Bu rol ve diğer iki rol (RID Master ve Infrastructure Master) Active Directory User and Computers bölümüne sağ tıklayıp Operations Master seçildiğinde görülebilir.
Relative Identifier Master (RID Master)
Windows Server 2008’de bildiğiniz üzere herhangi bir Domain Controller’da, security principal olarak isimlendirmiş olduğumuz nesneler oluşturulabilir.Kullanıcı, bilgisayar veya grup hesapları vb. Gibi.Bu imkan ise,giriş kısmında da belirttiğimiz gibi bazı sorunları da beraberinde getirmektedir.Hatırlayacak olursak Security Identifier’ler (SID) tüm domainde sadece bir kere kullanılabilirler, ancak ortamdaki tüm Domain Controller’larda nesneler oluşturabileceğimize göre, SID numaralarında bazı çakışmalar olabilmesi ihtimali vardır.
Windows NT domain’lerinde SID’ler sadece PDC tarafından oluşturulduğu için, gerçekleşmesi mümkün olmayan bu sorunu engellemek için Windows Server 8’de RID Master rolünden faydalanılır.SID’ler domain SID + RID’den oluşturulurlar.Domain SID’i, bir domain içindeki tüm Active Directory nesnelerinde aynı olmak zorunda olduğundan, SID’lerin tekil olması esasında RID’lerin tekil olmasından kaynaklanır.
İşte bu yüzden Active Directory’de her Domain Controller kendi üzerinde bir nesne oluştururken, nesneye vereceği SID’i oluşturmak için kullanabileceği RID aralığını periyodik olarak RID Master rolüne sahip bilgisayardan alır.Olaya teknik açıdan bakarsak, aslında her Domain Controller’ın üzerinde iki tane RID aralığı tanımlıdır.Bunlardan birisi yaratılan security principal’lar için kullanılan aralık diğeri ise ilk aralık bittiği zaman kullanılacak olan bölümdür.Her Domain Controller’da 500 RID’lik bir havuz bulunur.Bunun %80’i kullanıldığı zaman, Domain Controller tekrar RID master ile haberleşerek yeni bir 500’lük havuz alır.Domain Controller’lar sahip oldukları RID aralığını Active Directory içerisinde “DN: CN=Rid Set,CN=RootDC,OU=domain controllers,DC=SMAKBULOGLU,DC=COM” kısmında tutar.
RID master kendi üzerinde gelecek ilk RID aralığının başlangıç RID’ini tutmaktadır.Aynı zamanda son verilecek olan RID’de belirlidir.Algoritmaya göre Active Directory’de domain başına yaklaşık 1 milyar RID düşmektedir.Hali hazırda yapılan testlerde Active Directory 40 milyon civarındaki nesne sayısı ile sorunsuz olarak çalıştığı anlaşılmıştır.Dolayısı ile her domain’e yetecek kadar RID fazla fazla mevcuttur.
Farklı Forest’lar altındaki (Intra-forest) domainler arası security principal’ların taşıma işlemleri esnasında SID’lerin tekil olmasını sağlamak da RID masterın işleri arasındadır.
Infrastructure Master
Infrastructure Master aslında sadece birden çok Active Directory domain ortamlarında ihtiyacımız olan bir FSMO rolüdür.Yani, hep tavsiye edildiği gibi Active Directory dizaynımızı tek bir domain ile bitirebilmiş isek o zaman sorun yok.Ancak güvenlik politikalarındaki farklar ya da şirket içi politik ihtiyaçlar gibi nedenlerle birden fazla sayıda domain’imiz varsa o zaman mecburen Infrastructure Master rolüne ihtiyacımız vardır.
Infrastructure Master nesnelerin domainler arası referanslarını update etmekten sorumludur.Bu ne demek? Şöyle açıklayalım. Aynı foresta iki domainimiz olsun.
- Senaryo – 1
Serhad kullanıcısı kendi domainin’deki herhangi bir grubun üyesi iken Domain Controller’ların birisinden gidip adını değiştirsek, bu değişiklik o Domain Controller’da hemen işlenerek grup üyelik listesi yenilenir.Burada zaten herhangi bir sorun yok, olması beklenen bir durumdur.
- Senaryo – 2
Active Directory forest’ımızda smakbuloglu.com ve egitim.smakbuloglu.com domain’lerimiz olsun. smakbuloglu.com domainindeki bir kullanıcıyı egitim.smakbuloglu.com domainindeki “MCITP” grubunun üyesi olsun.Şimdi eğer gidip smakbuloglu.com domainindeki Serhad kullanıcısının ismini değiştirdiğimi ve SerhadM yaptığımı kabul edelim.Egitim.smakbuloglu.com domainindeki bir Domain Controller’dan gidip Active Directory Users and Computers konsolunun açtığımızda ve MCITP grubunun üyelerini listelediğimizde karşımıza gelen listede SerhadM gelmesini sağlayan Infrastructure Master’dır.Kendisi bu değişikliği tüm Domain Controller’lara replike ederek her yerde bilginin aynı kalmasını sağlar.Aynı zamanda tahmin edersiniz ki, aynı şekilde bir Organizational Unit içinden bir diğer Organizational Unit‘e atama yaptığımızda nesnenin LDAP ismi değişir.Bunu da güncel tutmak Infrastructure Master’ın işidir.
Kısaca kullanıcı ve grup nesneleri farklı domainler’de ise bunların birbirlerine referanslarının güncellenmesi işlemi Infrastructure Master’ın işidir.Ancak burada dikkat edilmesi gereken çok önemli bir nokta var.Eğer Infrastructure Master ve Global Catalog sunucusu aynı bilgisayarda bulunuyorsa, Infrastructure Master herşeyi zaten bildiği için asla bir update işlemine girmez. Dolayısı ile nesnelerin referansları da güncelleme olmaz.Bu durumda her ne kadar Infrastructure Master ve Global Catalog aynı makinada olmamalı ise de bu işlemlerin performansını artırmak için, bu iki role sahip bilgisayarı aynı Windows Server 8 site’ı içine konuşlandırmanızı şiddetle tavsiye ederiz.
Windows Server 8 ile ilgili bir makalenin daha sonuna geldik.Bu bölümde, Operations Master rollerini açıkladık.Bir sonraki makalede ise bu rolleri farklı Domain Controller sunucuları üzerine nasıl transfer edebileceğimizi anlatacağız.