Active Directory, Microsoft tarafından özellikle Windows Server ve Client bilgisayar sistemleri için tasarlanmış olan içerisinde sunucu, client bilgisayar, kullanıcı ve yazıcı gibi bilgileri tutan bir dizin servisidir. Tabi bahsi geçen verileri tuttuğu için aynı bir veritabanıdır. Bu servis içerisinde yer alan Group Policy yönetim aracı ile çeşitli kısıtlamalar yapabilir veya tek bir noktadan istediğimiz uygulamanın dağıtımını gerçekleştirebiliriz. Kaynakların kontrolü ve yönetiminin merkezileştirilmesi açısından büyük kolaylık sağladığı için çok tercih edilen bir servistir.
Active Directory ilk olarak Windows Server 2000 ile hayatımıza girdi. Zamanla 2003, 2008 ve 2012 sistemlerinde kendini geliştirerek günümüzdeki halini almıştır. Tüm sorgulama ve değişiklik işlemleri ile veritabanı yönetimi gibi işlemler ESE (Extensible Storage Engine) isimli veritabanı motoru tarafından yürütülür.
Active Directory servisi, Domain Controller olarak adlandırılan sunucu veya sunucular üzerinde tutulur. İlgili servisin varsayılan konumu “%systemroot%NTDS” şeklindededir. Veritabanı dosya ismi ise ntds.dit (New Technology Directory Service-Directory Information Tree)’ tir. Bununla birlikte tüm işlemlerin geçici olarak yer aldığı, değişikliklerin veritabanına yazılmadan önce çeşitli sebeplerden ötürü saklandığı ve transaction log olarak adlandırılan edb.log isimli dosya da, Active Directory servisinin çalışmasında kritik rol oynar. Bir diğer önemli veritabanı bileşeni ise ESE checkpoint olarak adlandırabileceğimiz ebd.chk dosyasıdır. Bu dosyanın görevi edb.log a yazılan değişiklik bilgisinin “ntds.dit“ içerisine, düzgün ve tutarlı olarak yazılıp yazılamadığını konrol etmektir.
Active Directory Özellikleri;
- Yönetilebilirlik
- Ölçeklenebilirlik
- Genişletilebilirlik
- Güvenlik Entegrasyonu
- Diğer Dizin Servisleriyle Birlikte Çalışabilme
- Güvenli Kimlik Doğrulama ve Yetkilendirme
- Group Policy ile Yönetim
- Dns ve Dhcp gibi Servislerle Birlikte Çalışabilme Özelliği
Active Directory FSMO Rolleri (Flexible Single Master of Operation);
Bir Active Directory sunucusu üzerinde 5 adet role bulunmaktadır. Bunlar;
- Schema Master
- Domain Naming Master
- PDC Emulator
- RID Master
- Infrastructure Master
şeklindedir. Bu rolleri “netdom query fsmo” komutu ile listeleyebiliriz.
Chema Master
Active Directory Domain Services içerisinde, yapıdaki nesnelerin sahip olacağı özellikleri belirleyen bileşendir. Nesnelerin biçimsel yapısını belirler diyebiliriz. Örneğin, kullanıcı nesnesinde ad, soyad, şehir, görev gibi bilgilerin olacağını Schema belirler. Bu rol üzerinde sadece Domain Admins ve Enterprice Admins grubu üyelerinin yetkileri vardır.
Domain Naming Master
Domain (Etki alanı) isimlerini bünyesinde tutan rehberdir diyebiliriz. Yeni bir domain kurulacağı zaman isim onayını bu rol verir. İsim çakışmasını önler.
RID Master
Ağda bulunan tüm nesnelerin kendine has (benzersiz) bir SID numarası vardır. Nesnelerin benzersiz bir SID numarası almasını sağlar ve çakışmayı önler.
Infrastructure Master
Farklı etki alanlarından gelen kullanıcıların SID numarası ile ilgili ayarlamaları gerçekleştirir. Global Catalog sunucusu ile replikasyonu sağlar.
PDC Emulator
Ağda bulunan DC’ler arasında replikasyonu sağlar. Windows oturumlarını kontrol eder.
Active Directory Mantıksal Yapısı;
Domain
Domain, Active Directory’nin en temel bileşenidir. Domain sistem yöneticisi tarafından benzersiz bir isim seçilerek oluşturulmalıdır. Ayrıca Domain’ler güvenlik noktasında belli sınırlara sahiptir. Eğer sistem yöneticisi ayrıca bir izin belirlememişse, bir kullanıcının hakları sadece o Domain içerisinde geçerli olacaktır. Her bir Domain kendi güvenlik yapısına sahiptir.
Domain’ler ayrıca replikasyon birimi olarak adlandırılır. Bir Domain içerisinde, Active Directory veritabanı kopyalarını bulunduran Domain Controller’lar bu koyaları Domain içerisinde yapılan değişiklikleri birbirlerine kopyalarak replikasyon yaparlar.
Organizational Unit
Organizational Unit bir Domain içerisindeki kullanıcıları, grupları veya bilgisayarları organize etmek amacıyla oluşturulmuş objelerdir. Organizasyonun ihtiyacını karşılamak ve yönetimi kolaylaştırmak noktasında objeleri gruplamak amacıyla kullanabilirsiniz.
Örnek olarak, objeleri gruplarken yönetimsel gereksinimler ön planda tutalabilir. Organizasyonda bir yönetici kullanıcılardan diğer yönetici ise bilgisayarlardan sorumlu olacaksa, biri kullanıcılar için biri de bilgisayarlar için iki adet OU oluşturulur ve kullanıcılar birinde bilgisayarlar da diğerinde toplanır. Son olarak ikisine de ayrı ayrı yönetciler atanabilir. Veya departmansal gruplandırmalar yapılabilir. Örneğin bir “Muhasebe” bir de “Pazarlama” departmanları için OU oluşturulur ve bu departmanlarda çalışan kullanıcılar ilgili OU’lara yerleştirildikten sonra departman şefleri bu birimlere yönetici olarak atanabilir. Bu işlemler aynı zamanda biz sistem yöneticilerinin işlerini kolaylaştıracaktır.
Tree ve Forest
Oluşturulan ilk Windows Server Domain’i, Active Directory yapısındaki Kök Domain’i (Root Domain) ifade eder. Bundan sonra oluşturulacak olan yeni ek Domain’ler dizinin mantıksal Tree veya Forest yapısını oluşturacaktır.
Tree
Bir Tree yapısında yeni bir Domain eklendiği zaman, yeni eklenen Domain sondan eklendiği Domain’inin Child Domain’i durumunda olur ve eklendiği Domain de eklenen Domain için Parent Domain olur. Yeni oluşturulan Child Domain’in ismi Parent Domain’den gelen isimle birleştirilir ve yeni oluşan Domain’in DNS ismi ortaya çıkar.
Örneğin “berkehanbendivar.local” bir Root Domain’dir. Bu Domain’e eklenecek yeni bir Domain “berkehan.local” Domain’inin Child Domain’i olacaktır. Buna örnek olarak “mail.berkehan.local” Domain’ini gösterebiliriz. Bu örnekte mail.berkehan.local, berkehan.local Domain’inin Child Domain’i olacaktır. berkehan.local Domain’i ise Parent Domain konumundadır.
Forest
Forest, birden fazla Tree’nin birleşmiş halidir. Oluşturulan ilk Domain bir Tree’yi ifade eder ve ilk Tree’nin oluşturulmasıyla Forest’da oluşmuş olur. Sonradan bu Forest’a eklenecek olan Tree’ler, diğer Tree’lerle aynı isim aralığını paylaşmayacak olasalar da aynı Schema ve Global Catalog’a sahip olurlar. Forest oluşturulurken kurulmuş olan ilk Tree Forest-Root olarak bilinir ve diğer Tree’ler bu Forest Root altında toplanırlar.
Global Catalog
Global Catalog (GC), Active Directory Forest’ ı içinde yer alan her objeyi bulunduran bir veritabanıdır ve Global Catalog Server‘ larda tutulur. Bu barındırılan özellikler, varsayılan olarak, sorgulamalar esnasında en sık kullanılan özelliklerdir. Global Catalog kullanıcılara şu hizmetleri sunar;
• Gereken verinin nerede olduğundan bağımsız olarak Active Directory objeleri hakkında bilgiler sunar.
• Bir ağa logon olunurken Universal Group Membership bilgisini kullanır.
Global Catalog Sunucusu Domain’deki bir Domain Controller’dır ve Domain’de oluşturulan ilk Domain Controller otomatik olarak Global Catalog seviyesine yükseltilir. Sonradan ek Global Catalog Sunucular eklenebilir.
Active Directory Schema
Kullanıcı, grup, bilgisayar ve yazıcılar gibi bütün objelere ait bilgileri içerir. Forest içerisinde, sadece bir Schema bulunur ve bütün obje bilgileri bu Schema üzerine yazılır. Kullanıcıların çalıştıkları bölümler ve doğum yeri gibi bilgileri buna örnek olarak verebiliriz. Schema bilgileri, Active Directory veritabanı (database) içerisinde depolanır.
• Kullanıcı uygulamaları için dinamik bir yapı sunar. Kullanıcıların obje araştırma işlemleri, Schema üzerinden gerçekleşir.
• Yeni oluşturulan veya değiştirilen obje dinamik olarak Schema içerisinde güncellenir.
• Obje sınıf ve niteliklerinin korunmasında, discretionary access control lists(DACLs) kullanılır.
• DACLs ile Schema üzerinde yalnızca yetkilendirilmiş kullanıcıların (authorized users) değişiklik yapabilmesi sağlanır.
Lightweight Directory Access Protocol (LDAP)
Tanım olarak LDAP, TCP/IP üzerinde çalışan dizin servislerini sorgulama ve değiştirme amacıyla kullanılan uygulama katmanı protokolüdür. Active Directory mimarisi içerisinde ise sorgulama (query) ve güncelleme (update) için kullanılan, temel bir directory servis protokolüdür. LDAP ile Active Directory objeleri, OU (Organizational Unit) ve CN (Common Name) kullanılarak Active Directory içerisinde yeniden tanımlanır. LDAP isimlendirme yöntemi; Active Directory objelerine erişimde kullanılır ve iki tanım içerir;
• Distinguished Names
• Relative Distinguished Names
Distinguished Names Tüm Active Directory objeleri, network ortamında kendilerine ulaşılmasını sağlayan komple path içeren, distinguished name’e sahiptir. Örneğin;
CN=Berkehan Bendivar , OU=Teknik , DC=berkehan, DC=local
Burada kullanılan CN Common Name, OU Organizational Unit, DC ise Domain Controller anlamındadır. DC, Domain hiyerarşisini belirler. Tüm DNS akışı tek tek yazılır. Örneğin; Domain adı berkehan.local ise, DC=berkehan, DC=local şeklinde belirtilir. Bir başka örnek verecek olursak eğer “BERKEHAN” isimli kullanıcı, “BEYAZ” isimli OU içinde bulunsun ve bağlı bulunduğu Domain adı “berkehan.local” olsun. Bunun “Distingushed Name” yazılımı aşağıdaki şekilde olacaktır;
CN=BERKEHAN, OU=BEYAZ, DC=berkehan, DC=local
Relative Distinguished Name LDAP distinguished name içerisinde yer alır ve objeye ait eşsiz (unique) tanımlamayı içerir. Yani Active Directory içinde belirtilen Domain içinde tektir. Örneğin;
CN=BERKEHAN, OU=BEYAZ, DC=berkehan, DC=local
yazılımında berkehan.local içinde tek olan Relative Distingished Name BERKEHAN’dır.En son yazılan değer, her zaman tek değerdir. Ondan dolayı mükerrer olamaz.
Active Directory Fiziksel Yapısı;
Active Directory içinde fiziksel yapı, mantıksal yapıdan bağımsız bir mimariye sahiptir. Mantıksal yapı ile network kaynakları organize edilirken, fiziksel yapı ile network trafiğinin kontrolü ve konfigürasyonu gerçekleştirilebilir. Active Directory’nin fiziksel yapısını; DC (Domain Controller) ve Site’lar oluşturur. Active Directory’nin fiziksel yapısı, replikasyonun yer ve zamanı ile Network’e katılımını (logon) belirler. Network trafiği ile logon işlemlerinin optimizasyonu ve bu işlemlerde olabilecek hataların giderilmesi, fiziksel yapının anlaşılmasına bağlıdır.
Domain Controller
Domain Controller, üzerinde Active Directory veritabanının bir kopyasını (replica) bulunduran sunucudur. Domain’de yapılan herhangi bir değişiklik bir Domain Controller üzerinde gerçekleştirilir ve daha sonra domain’deki tüm Domain Controller’lar bu değişiklikleri replikasyon yoluyla birbirlerine kopyalarlar. Domain Controller’lar dizin bilgisini bulundururlar ve kullanıcıların logon işlemlerini, kimlik doğrulama işlemlerini ve dizin arama işlemlerini yürütürler. Bir Domain’de bir veya daha çok Domain Controller olabilir. Küçük çaplı bir organizasyonda bir Domain Controller bir de Additional Domain Controller yeterli olurken farklı fiziksel lokasyonlara yayılmış büyük bir işletme için, bölge başına bir veya iki Domain Controller daha uygun olacaktır. Bir Domain’e birden fazla Domain Controller yerleştirmenin amacı hem hata toleransı sağlamak hem de Domain Controller’lar arasında yük dağılımı yapmaktır.
Sites
Bir Site, birbirlerine yüksek bant genişliğine sahip dış hatlarla bağlanmış bir veya birden fazla IP alt ağlarını ifade etmektedir. Site’ları doğru bir şekilde yapılandırarak kullanıcıların logon işlemlerinde oluşan ağ trafiğini ve replikasyon işlemleri sırasında oluşan yoğunluğu en aza indirgemek için Active Directory’nin alt ağlar arasındaki fiziksel bağlantıları en efektif şekilde kullanmasını sağlayabiliriz. Site oluşturmaktaki başlıca sebepler şunlardır:
• Replikasyon trafiğinin optimize edilmesi
• Kullanıcıların logon esnasında en hızlı ve en güvenilir bağlantıyı kullanarak doğru Domain Controller’ı bulabilmeleri
Active Directory ve DNS
Active Directory ve DNS, objelerin hem Active Directory objeleri hem de DNS domainleri ve kaynak kayıtları (Resource Records) olarak sunulabilecek şekilde benzer bir hiyerarşik isimlendirme yapısına sahiptirler. Bu entegrasyonun sonucu olarak Windows Server ağındaki bilgisayarlar, Active Directory’ye özgü birtakım servisleri çalıştıran bilgisayarların yerini öğrenmek için DNS sunucuları kullanmaktadırlar. Örneğin, bir client Active Directory’ye logon olmak veya herhangi bir kaynağı (yazıcı veya paylaşılmış bir klasör) dizin içerisinde aratmak için bilmesi gereken Domain Controller’ IP adresini DNS sunucu üzerinde SRV kayıtlarından öğrenmektedir. Active Directory’nin sorunsuz bir şekilde çalışması için DNS sunucuların SRV kayıtlarını eksiksiz bir şekilde barındırması gerekmektedir. SRV kayıtlarının amacı, client’lara logon esnasında veya herhangi bir kaynağa ulaşıyorken Domain Controller’ların yerlerini belirtmektir. SRV kayıtlarının olmadığı bir ortamda, client’lar Domain’e logon olamayacaklardır. Ayrıca Windows Server, DNS bilgilerinin Active Directory veritabanı ile tümleşik olarak saklanmasına olanak vermektedir. Bu sayede DNS bilgilerinin replikasyonu daha efektif ve güvenli bir hale gelmektedir.