Active Directory Saat Senkronizasyonu (NTP Sync)

Kurumsal sistemlerde saat senkronizasyonu ve doğruluğu, W32Time servisi aracılığıyla Kerberos kimlik doğrulamasının stabil şekilde çalışmasını sağlamakta ve ağ güvenliğimiz için kritik öneme sahiptir. Bu servis, bir hiyerarşi içinde çalışarak, domaine bağlı tüm istemcilerin saat bilgisini, PDC Rolüne sahip Domain Controller‘dan almasını sağlar.

Domaine member edilmiş tüm istemciler, etki alanı denetleyicisinden saat bilgisi almaktadır, domain controller ise PDC Role sahibi DC'den almaktadır.
Client'ler domaine üye edildikten sonra zaman eşitlemesini DC üzerinden yapmaya başlar.

Biz bu yazımızda Domain Controller ve Clientler için iki Ayrı GPO oluşturacağız saat senkronizasyon işlemini başka bir servis üzerinden eşitlemeye başlayacağız. GPO yerine bu işlemi PowerShell üzerinden manuel bir biçimde de yapılandırabiliriz, fakat FSMO rolleri değişeceği zaman yapılandırma eski sunucu üzerinde bulunduğu için GPO ile yapmak her zaman için daha stabil olacaktır.

Hyper-V veya VMware ESXi üzerinde çalışan sunucularda, bu sistemler üzerinden yapılan NTP Sync yapılandırmasını devre dışı bırakmalıyız. Microsoft, ESXi üzerinden NTP sync yerine, harici NTP kaynakları kullanılmasını önermektedir. Hyper-V üzerinde ise, Yönetim – Entegrasyon Hizmetleri – Zaman senkronizasyonunu devre dışı bırakmalıyız.

VMware üzerinde Time Senkronizasyonu Kapatma

Edit Settings > VM Options > VMware Tools > Time – Synchronize time periodically devre dışı bırakabilirsiniz.

Hyper-V üzerinde Time Senkronizasyonu Kapatma

Hyper-V üzerinde ise Management Integration ServicesTime synchronize bölümünü devre dışı bırakmanız yeterli olacaktır.

Domain Controller Manuel NTP Senkronizasyonu

Yeni bir Windows kurulumu yapıldığında, varsayılan olarak “time.windows.com” üzerinden NTP senkronizasyonu başlatılır. Ancak, client’lar domaine katıldıktan sonra DC üzerinden zaman eşitlemesi yapmaya başlar. Bu işlemi PDC rolünü barındıran DC sunucusu üzerinde yapmalıyız. Rol sahibi sunucuyu bilmiyorsak, CMD üzerinde netdom query fsmo komutu ile öğrenebiliriz.

netdom query fsmo

Mevcut sisteminizin NTP (Network Time Protocol) kaynağını öğrenmek için ise aşağıdaki komutu kullanabilirsiniz:

w32tm /query /source

Group Policy Object (GPO) kullanmadan manuel bir şekilde NTP yapılandırması yapmak için aşağıdaki adımları takip edebilirsiniz. İlk olarak, Run As Administrator ile bir CMD penceresi açın ve aşağıdaki komutları sırasıyla uygulamanız gerekmektedir.

  • Windows Time servisini durdurun:
net stop w32time
  • NTP kaynaklarını ve senkronizasyon ayarlarını yapılandırın:
w32tm /config /syncfromflags:manual /manualpeerlist:"0.tr.pool.ntp.org, 1.tr.pool.ntp.org, 2.tr.pool.ntp.org, 3.tr.pool.ntp.org,0x9"
w32tm: Windows Time servisini yapılandırmak için kullanılan komut aracıdır.
/config: Bu anahtar kelime, komutun yapılandırma ayarlarını değiştirmek için kullanıldığını belirtir.
/syncfromflags:manual: Bu parametre, zaman senkronizasyonunun kaynağının manuel olarak belirlendiğini gösterir. Yani sistem, otomatik olarak belirlenen kaynaklar yerine kullanıcı tarafından belirtilen NTP sunucularından zaman bilgisini almaya ayarlanır.
/manualpeerlist: Bu seçenek, zaman bilgisinin alınacağı NTP sunucularının listesini belirtmek için kullanılır. Liste, boşluklarla ayrılmış ve her bir NTP sunucusu adresi sonrasında bir "flag" (bayrak) değeri olan bir dize olarak sağlanır.

"0.tr.pool.ntp.org,0x9 1.tr.pool.ntp.org,0x9 2.tr.pool.ntp.org,0x9 3.tr.pool.ntp.org,0x9": Bu dize, dört farklı NTP sunucusunu belirtir. Her bir sunucu adresi ardından gelen 0x9 değeri, bu sunucuların kullanılacak özel yapılandırma ayarlarını belirten bir hexadecimel flag'dir. 0x9 flag'ı, bu NTP sunucularının "client" modunda çalıştığını ve "special interval" kullanılarak sorgulanacağını belirtir. "Special interval", bu sunuculara yapılan sorguların sıklığını kontrol eder.
  • Sunucuyu güvenilir bir zaman kaynağı olarak ayarlayın:
w32tm /config /reliable:yes
  • W32 için Yapılandırmaları güncelleyin:
w32tm /config /update
  • Windows Time servisini yeniden başlatın:
net start w32time

Yapılan yapılandırmaları doğrulamak için, girilen NTP sunucularının doğru şekilde kaydedilip kaydedilmediğini kontrol etmek üzere aşağıdaki komutu çalıştırabilirsiniz:

w32tm /query /configuration

Group Policy Kullanarak Domain Controller NTP Server Yapılandırılması

FSMO (Flexible Single Master Operations) rollerinin transferi esnasında, el ile yapılan NTP (Network Time Protocol) server yapılandırmaları yeni sunucuya otomatik olarak aktarılmaz. Bu nedenle, FSMO rolleri yeni bir sunucuya taşındığında NTP yapılandırmasının tekrar yapılması gerekir. Bu tekrar eden manuel işlemi azaltmak için Group Policy Object (GPO) kullanılabilir.

İlk adım olarak, Group Policy Management altında yeni bir WMI filtresi oluşturulmalıdır. Bu filtre, oluşturulan GPO’nun yalnızca FSMO rollerine sahip sunucular tarafından uygulanmasını sağlar. WMI filtresi için aşağıdaki sorgu kullanılabilir:

  • Group Policy Management – WMI Filters içerisine filtreleme yapması için yeni sorgumuzu oluşturuyoruz.
Namespace: root\CIMv2
Query: Select * from Win32_ComputerSystem where DomainRole = 5

Domain Controllers Organizational Unit (OU) altında yeni bir GPO oluşturun ve düzenlemeye başlıyoruz.

  • Computer Configuration – Policies – Administrative Templates – System – Windows Time Service – Time Providers adımlarının takip edilmesi gerekmektedir.

Aşağıdaki ayarları “Enabled” olarak ayarlamanız gerekmektedir:

  • Enable Windows NTP Client
  • Enable Windows NTP Server

Daha sonra “Configure Windows NTP Client” ayarını açarak, NTP sunucularını ve diğer ilgili ayarları yapılandırmamız gerekmektedir:

  • NtpServer: 0.tr.pool.ntp.org,0x9 1.tr.pool.ntp.org,0x9 2.tr.pool.ntp.org,0x9 3.tr.pool.ntp.org,0x9
  • Type: NTP (Domain controllerlar için NTP; member sunucular için NT5DS kullanılır)
  • CrossSiteSyncFlags: 2
  • ResolvePeerBackoffMinutes: 15
  • ResolvePeerBackoffMaxTimes: 7
  • SpecialPollInterval: 3600
  • EventLogFlags: 0
  • Bu yapılandırmalar, NTP client’ın nasıl ve hangi NTP serverlarla senkronize olacağını belirler.
Not: Domain Controller sunucuları için Type bölümünün NTP olacak şekilde çalışması gerekmektedir, sadece member sunucuların hiyerarşi için NT5DS olarak çalışması gerekmektedir.

Oluşturulan WMI Filtresi ile GPO’yu bağlamanız gerekmektedir. Ayarların etkin olması için aşağıdaki komut ile Group Policy güncellemesi yapabilirsiniz:

gpupdate /force

Group Policy’ye WMI filtresini bağladık ve “gpupdate /force” komutu ile GPO güncellemesini sağladık. NTP Senkronizasyon süresini beklemeden manuel NTP senkronizasyonu yapabilmek için:

w32tm /resync

NTP yapılandırmasının doğru uygulandığını doğrulamak için, aşağıdaki komutu kullanarak durumu sorgulayabilirsiniz:

w32tm /query /status

Group Policy ile Windows İstemci NTP Yapılandırılması

Domaine bağlı tüm istemciler, zaman bilgisini Domain Controller üzerinden alır. Bu senkronizasyon, NT5DS hiyerarşisini kullanarak gerçekleştirilir. Genellikle bu işlem için ek bir yapılandırma yapmanıza gerek yoktur. Ancak, bazı durumlarda eşitleme sorunları yaşanabilir ve bu sorunlar, Group Policy Object (GPO) ile ek yapılandırmalar yaparak çözülebilir.

  • İstemcilerin bulunduğu Organizational Unit (OU) içinde yeni bir GPO oluşturun. Bu GPO, Domain Controller için yapılan NTP yapılandırmasını temel alacaktır. Ana fark, NTP Server bilgisinin PDC rolünü barındıran sunucunun adresi olacaktır.

Computer Configuration – Policies – Administrative Templates – System – Windows Time Service – Time Providers adımlarının takip edilmesi gerekmetedir

  • NTP Server: cy-dc01.cengizyilmaz.net,0x9
  • Set Type: NT5DS (Domaine üye makineler için standart yapılandırma)
  • CrossSiteSyncFlags: 2
  • ResolvePeerBackoffMinutes: 15
  • ResolvePeerBackoffMaxTimes: 7
  • SpecialPollInterval: 3600
  • EventLogFlags: 0
  • NoSync: NTP sunucusu herhangi bir harici zaman kaynağı ile senkronize edilmemektedir. Bu modda, sunucunun yerleşik CMOS saat yongası kullanılır.
  • NTP: NTP sunucusu, NtpServer kayıt defteri parametresinde belirtilen harici saat sunucularıyla senkronize edilir. Bu, bağımsız makinelerde varsayılan davranıştır.
  • NT5DS: NTP sunucusu, etki alanı hiyerarşisine göre eşitleme gerçekleştirir. Bu, etki alanına katılmış bilgisayarlarda varsayılan olarak kullanılan moddur.
  • AllSync: NTP sunucusu, mevcut tüm kaynaklarla zaman senkronizasyonu gerçekleştirir.

GPO’yu oluşturduktan ve yapılandırdıktan sonra, ayarların etkinleşmesi için aşağıdaki komutu çalıştırarak politikaları güncelleyin:

gpupdate /force

Bu adımlar ile birlikte Domaine Join edilmiş istemciler için GPO kullanarak NTP Senkronizasyonu sağlamış olduk.

Manuel Windows İstemci NTP Yapılandırılması

Domain Controller rolünü barındıran bir sunucu ile doğru zaman senkronizasyonunu sağlamak için, istemciler üzerindeki mevcut NTP yapılandırmalarını manuel olarak güncelleyebilirsiniz.

Windows Time Service kaydını sistemden kaldırmak için aşağıdaki komutları kullanın:

w32tm /unregister
w32tm /register

Bu komutlar, hizmetin tamamen kaldırılmasını ve yeniden kaydedilmesini sağlar, bu da mevcut tüm yapılandırmaların sıfırlanmasına yardımcı olmaktadır.

  • Komutları çalıştırdıktan sonra, istemci makineyi yeniden başlatın. Bu, değişikliklerin etkinleşmesini sağlar.

İstemciyi belirli bir NTP sunucusu ile senkronize etmek için aşağıdaki komutu kullanın:

w32tm /config /manualpeerlist:"cy-dc01.cengizyilmaz.net,0x9" /syncfromflags:manual /reliable:yes /update

Bu komut, cy-dc01.cengizyilmaz.net adresindeki NTP sunucusundan zaman bilgisini almak üzere istemciyi yapılandırır. /reliable:yes seçeneği, bu sunucunun güvenilir olduğunu belirtir.

  • Yapılandırmaları güncellemek ve zaman senkronizasyonunu tetiklemek için:
w32tm /config /update
w32tm /resync

/update seçeneği, yapılan değişiklikleri uygular, /resync seçeneği ise zaman senkronizasyonunu hemen başlatır.

Yapılandırmanın doğru çalışıp çalışmadığını kontrol etmek için:

w32tm /query /status

Eğer zaman bilgisinin hemen güncellenmesini istiyorsanız, aşağıdaki komutu kullanabilirsiniz:

net time \\Server Name /set /y
  • Yapılan değişikliklerin kayıt defterinde doğru şekilde yansıtıldığını kontrol etmek için:

Regedit üzerinden aşağıdaki adımı takip edebilirsiniz.

HKLM\System\CurrentControlSet\Services\W32Time\Parameters

Burada, Type değerinin NTP olduğundan emin olun, bu, sunucunun bir NTP sunucusu olarak yapılandırıldığını gösterir.

Yorum yapın