Windows Server 2025 OSConfig

Windows Server 2025 OSConfig yazımızda sizlere 2025 ile beraber gelen OSConfig özelliğini inceleceğiz. Windows Server 2025 ile yenilikler gelmiştir. Bu yeniliklerden bir taneside OSConfig’dir. OSConfig ile beraber Security Baseline uygulamak daha basit hale gelmektedir. GPO kullanmadan local olarak Security Baseline’ları uygulama fırsatı sunmaktadır. Özellikle Golden Imajları çok pratik hale getirmektedir. Bu yazımızda Özellikleri Domain Controller’a uygulayarak , customizasyon nasıl yapılır bunu göstereceğiz. İlk olarak OSConfig Modulünün yüklenmesinden başlayacağız.

OSConfig Yüklenmesi

OSConfig aslında bir modül olarak yüklenmektedir. Online olarak yüklemek için Powershell üzerinden komut çalıştırılır.

Install-Module -Name Microsoft.OSConfig -Scope AllUsers -Repository PSGallery -Force

On-Premise sistemler için kurulum için ise aşağıdaki gibi yüklemekteyiz.

Öncellikle paketimizi indirmek için linki kullanabiliriz. Manuel download bölümünden indireceğiz.

İndirilen nupkg uzantılı paketimizi zip uzantısına çevirip dışarı çıkarıyoruz.

Windows Server 2025 OSConfig Module

Zip’den çıkarılan paketimizi Microsoft.OSConfig olarak rename ederek “C:\Program Files\WindowsPowerShell\Modules” altına kopyalıyoruz.

Windows Server 2025 OSConfig

Şimdi paketimizi kontrol edelim.

Get-Module Microsoft.OSConfig

Bundan sonra kullanabileceğimiz komutlara veya functionlara bakalım.

Get-Command -Module Microsoft.OSConfig
Command Windows Server 2025 OSConfig

Şimdi OSConfig önemli özelliklerinden birine gelelim. Peki bu dakikadan sonra neler uygulanabilir veya nasıl kontrol edilebilir. İndirdiğimiz modül içerisinde kontrol sağlayabileceğimiz tüm Security Baseline , Secure Core ve Defender Antivirus gibi kontrolleri sağlayabiliriz.

Import Windows Server 2025 OSConfig Module

Şimdi bu testlerimizi Domain Controller için yapmaya başlayalım. Öncellikle bizlerde neler uygulandı hangileri compliant veya değil kontrol etmek için ;

Get-OSConfigDesiredConfiguration -Scenario SecurityBaseline/WS2025/DomainController | ft Name, @{ Name = "Status"; Expression={$_.Compliance.Status} }, @{ Name = "Reason"; Expression={$_.Compliance.Reason} } -AutoSize -Wrap

SecurityBaseline/WS2025/DomainController bunu aslında SD de bulunan bölümden yazdık. Tüm sonuçları aşağıdaki gibi görmeye başladık. Komuta ayrıca Description’da eklediğinizde açık bir şekilde hangi ayarın olduğunu görmekteyiz.

Bu görünüm bizler için daha rahat anlaşır gözükmektedir.

Get Desired Configuration

Sıra geldi OSConfig en güzel özelliklerinden birin, bu ayarları ortama uygulayabilirmiyiz. Evet. Hemde tek bir komut ile;

Set-OSConfigDesiredConfiguration -Scenario SecurityBaseline/WS2025/DomainController -Default

Uyguladıktan sonra makinemize restart atacağız ve değişiklikler işleyecektir.

OS Config Security Baseline

Restart sonrası kontrollerimizi sağlayalım.

Get-OSConfigDesiredConfiguration -Scenario SecurityBaseline/WS2025/DomainController | ft Name, @{ Name = "Status"; Expression={$_.Compliance.Status} }, @{ Name = "Reason"; Expression={$_.Compliance.Reason} } -AutoSize -Wrap

Komutumuzun çıktısında artık ayarlarımızın compliant olduğunu görmekteyiz. Bazı ayarlar noncompliant olabilmektedir. Logon text, Administrator,Guest rename gibi bu ayarları giriş yapmak gerekecektir.

Windows Server 2025 OSConfig Compliant

Tabiki ayarları tek-tek set etme imkanımızda bulunmaktadır. Örnek olarak

Set-OSConfigDesiredConfiguration -Scenario SecurityBaseline\WS2025\DomainController -Setting RequireCaseInsensitivityForNonWindowsSubsystems -Value 0

Şimdi WS2025 Domain Controller Security Baseline uygulamış olduk. Peki kontrol mekanizması nasıl işlemektedir. Bir güzel özellikte burda ortaya çıkmaktadır.

OSConfigDriftControl

Şimdi ayarları kontroller ettiğimizde RefreshPeriod gözükmektedir. Bu nedir ve ne iş yapmaktadır ?

Windows Server 2025 OSDriftControl

Reflesh period aslında bizim kontrol mekanizmamızın zamanlaması, yani default olarak 4 saatte bir kontrol edilerek eğer ayar değiştiyse tekrardan baseline döndürmektir. Bu refleshi task schedule üzerinden sağlamaktadır. Task schedule kontrol ettiğimizde Microsoft>Windows>EnterpriseMgmt altında id ile beraber task görmekteyiz. Ekranda görüldüğü gibi 4 saatte bir çalışmaktadır.

Schedule Task for OSCONFIG

Bu süreyi set edebilmekteyiz. Şimdi bir ayar değiştirdiğimizde 40 dakika içerisinde tekrar OSConfig’de uyguladığımız ayara dönecektir. Bu kontrolleri OSDriftControl olarak adlandırılmaktadır.

Set-OSConfigDriftControl -RefreshPeriod 40

Bu kontrolü sağlarken kullandığı mekanizma Raw >Cooked>Applied Flows olarak bilinmektedir. Bu mekanizmayı açıklamak gerekirse;

Regedit üzerinde tüm data “Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DeclaredConfiguration\HostOS\Config\enrollments\” üzerinden cooked ve raw data olarak bulunmaktadır. RAW data bizlere process edilmemiş ham datayı göstermektedir. Daha sonrası sistem bu raw dataları alarak yorumlanabilir şekle alarak cooked(pişmiş) duruma getirmektedir. Cooked data sistemin mevcut durumu ile kontrol edilmektedir ve sapma tespit edilirse işaretlenir. Daha sonra işaretlenen bu sapmalar düzeltilmektedir.

Tüm metadata yine regedit’de açıklama ile beraber “Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OSConfig\Metadata\” path’de bulunmaktadır.

Ayrıca yeni konfigurasyon veya baseline applied edildiğinde “Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OSConfig\Metadata\” altında xml olarak bulunmaktadır.

Windows Server 2025 OSConfig

Sonuç olarak Windows Server 2025 OSConfig güçlü bir tool olarak sunucularımızın baseline uyumluluğunu sağlaması açısından önemlidir. Önemli nokta test ortamlarında test edilmedikçe production ortama geçirilmemesidir. Baseline özelinde bir çok güvenlik sıkılaştırması yapılmaktadır.

Diğer yazılarımı aşağıdaki kategorilerden takip edebilirsiniz.