barisnetblog.space — Windows LAPS ile Yerel Admin Parolalarını Yönetmek
Windows Server 21 Ekim 2026 4 dk okuma 4 görüntülenme

Windows LAPS ile Yerel Admin Parolalarını Yönetmek

Windows'a yerleşik gelen Windows LAPS ile her bilgisayara benzersiz ve otomatik değişen yerel admin parolası veriyoruz. Şema güncellemesi, OU izinleri, GPO ayarları ve parola okuma adımları.

Birçok şirkette tüm bilgisayarlar aynı imajdan kurulur ve yerel Administrator parolası her makinede aynıdır. Saldırgan bu parolayı tek bir bilgisayardan ele geçirdiğinde, aynı hash ile ağdaki tüm bilgisayarlara yayılabilir. Windows LAPS (Local Administrator Password Solution) her bilgisayara benzersiz, rastgele ve düzenli değişen bir yerel admin parolası verir ve bu parolayı Active Directory'de güvenle saklar. Bu yazıda firma.local domain'inde Windows LAPS'ı baştan sona yapılandıracağız.

Windows LAPS ve Eski LAPS

Eskiden LAPS ayrı bir MSI paketi olarak her bilgisayara kurulurdu. Nisan 2023 güncellemeleriyle birlikte Windows LAPS işletim sistemine yerleşik geldi:

  • Desteklenen sürümler: Windows 10, Windows 11, Windows Server 2019 ve sonrası (güncel yamalarla). Windows Server 2025'te kutudan çıkar.
  • Ek kurulum yoktur: İstemcilere MSI veya client-side extension dağıtmanız gerekmez.
  • Yeni özellikler: Parola şifreleme, parola geçmişi, DSRM parolası yedekleme ve kullanım sonrası otomatik parola yenileme gelir.
  • PowerShell modülü: Tüm yönetim LAPS modülündeki cmdlet'lerle yapılır.

Ortamınızda eski LAPS hâlâ kuruluysa, ikisinin aynı yerel hesabı yönetmesine izin vermeyin. Windows LAPS'ı yeni GPO ile yapılandırdığınızda eski LAPS ayarlarını kaldırıp MSI'ı aşamalı olarak sökün.

AD Şemasını Güncellemek

Windows LAPS, parolaları saklamak için bilgisayar nesnelerine yeni öznitelikler ekler (msLAPS-Password, msLAPS-EncryptedPassword, msLAPS-PasswordExpirationTime gibi). Şemayı güncellemek için Schema Admins grubundaki bir hesapla DC01 üzerinde:

PowerShell
Import-Module LAPS
Update-LapsADSchema -Verbose

Komut eklenen her özniteliği listeler. Şema değişikliği forest genelinde geri alınamaz, ancak mevcut hiçbir şeyi bozmaz. Replikasyonun tamamlandığını doğrulayın:

Komut İstemi
repadmin /syncall DC01 /AdeP

OU İzinlerini Vermek

Bilgisayarların kendi parolalarını AD'ye yazabilmesi için bilgisayarların bulunduğu OU'ya izin vermeniz gerekir:

PowerShell
Set-LapsADComputerSelfPermission -Identity "OU=Bilgisayarlar,OU=Firma,DC=firma,DC=local"
Set-LapsADComputerSelfPermission -Identity "OU=Sunucular,OU=Firma,DC=firma,DC=local"

Varsayılan olarak parolayı yalnızca Domain Admins okuyabilir. Yardım masası ekibinin istemci parolalarını okuyabilmesi ve süresini sıfırlayabilmesi için:

PowerShell
Set-LapsADReadPasswordPermission -Identity "OU=Bilgisayarlar,OU=Firma,DC=firma,DC=local" `
    -AllowedPrincipals "FIRMA\GG-Helpdesk"

Set-LapsADResetPasswordPermission -Identity "OU=Bilgisayarlar,OU=Firma,DC=firma,DC=local" `
    -AllowedPrincipals "FIRMA\GG-Helpdesk"

Sunucular OU'sunda bu izni Helpdesk'e vermeyin; sunucu parolalarını yalnızca sunucu yöneticileri görmelidir. Bir OU üzerinde parolayı kimlerin okuyabildiğini denetlemek için:

PowerShell
Find-LapsADExtendedRights -Identity "OU=Bilgisayarlar,OU=Firma,DC=firma,DC=local"

Central Store'u Güncellemek

GPO yazısında PolicyDefinitions klasörünü SYSVOL'e kopyalayarak Central Store oluşturmuştuk. Bu klasör LAPS öncesine aitse GPMC'de LAPS ayarlarını göremezsiniz. Güncel bir sunucudan LAPS.admx ve dil dosyasını kopyalayın:

PowerShell
$store = "\\firma.local\SYSVOL\firma.local\Policies\PolicyDefinitions"
Copy-Item "C:\Windows\PolicyDefinitions\LAPS.admx" -Destination $store
Copy-Item "C:\Windows\PolicyDefinitions\en-US\LAPS.adml" -Destination "$store\en-US"

GPO ile LAPS'ı Yapılandırmak

Yeni bir GPO oluşturup Bilgisayarlar OU'suna bağlayalım:

PowerShell
New-GPO -Name "BLG-LAPS" -Comment "Windows LAPS ayarlari"
New-GPLink -Name "BLG-LAPS" -Target "OU=Bilgisayarlar,OU=Firma,DC=firma,DC=local" -LinkEnabled Yes

GPO'yu düzenleyip şu yola gidin:

Computer Configuration > Policies > Administrative Templates > System > LAPS

Önerilen başlangıç ayarları:

  • Configure password backup directory: Enabled, Active Directory seçin. Bu ayar olmadan LAPS hiçbir şey yapmaz.
  • Password Settings: Complexity için büyük/küçük harf, rakam ve özel karakter; uzunluk 15; yaş 30 gün.
  • Name of administrator account to manage: Yerleşik Administrator yerine özel bir hesap kullanıyorsanız adını yazın. Yerleşik hesap için boş bırakın; LAPS hesabı SID üzerinden bulur.
  • Enable password encryption: Enabled. Parola AD'de şifreli saklanır ve yalnızca yetkili gruplar çözebilir. Domain functional level en az Windows Server 2016 olmalıdır.
  • Configure size of encrypted password history: 6 gibi bir değer verin; eski parolalara da ihtiyaç duyabilirsiniz.
  • Post-authentication actions: Grace period 8 saat, eylem olarak Reset the password and logoff the managed account. Parola biri tarafından kullanıldıktan sonra otomatik yenilenir.

Şifreleme açıkken parolayı çözebilecek grubu Configure authorized password decryptors ayarıyla belirleyebilirsiniz. Boş bırakırsanız yalnızca Domain Admins çözebilir; Helpdesk'in okuyabilmesi için bu ayara FIRMA\GG-Helpdesk yazın. Buraya yazdığınız grup gerçekten var olmalıdır; çözümlenemeyen bir ad girerseniz politika işlenemez ve parolalar AD'ye yedeklenmez.

İstemcide Test

PC01 üzerinde politikayı alıp LAPS işlemini hemen tetikleyin:

PowerShell
gpupdate /force
Invoke-LapsPolicyProcessing
Get-WinEvent -LogName "Microsoft-Windows-LAPS/Operational" -MaxEvents 10 |
    Select-Object TimeCreated, Id, Message

Günlükte parolanın başarıyla güncellendiğini ve AD'ye yazıldığını gösteren olaylar görmelisiniz.

Parolayı Okumak ve Yenilemek

Yönetim sunucusunda parolayı okumak için:

PowerShell
Get-LapsADPassword -Identity "PC01" -AsPlainText

Çıktıda Account, Password, PasswordUpdateTime ve ExpirationTimestamp alanlarını görürsünüz. Parola geçmişini de listelemek için -IncludeHistory ekleyin. Aynı bilgiye Active Directory Users and Computers içinde bilgisayarın özelliklerindeki LAPS sekmesinden de ulaşabilirsiniz.

Parolayı bir teknisyenle paylaştıysanız, süresini hemen dolmuş olarak işaretleyin. Bilgisayar bir sonraki politika işlemesinde yeni parola üretir:

PowerShell
Set-LapsADPasswordExpirationTime -Identity "PC01"

Bilgisayarın başındaysanız parolayı anında yenileyebilirsiniz:

PowerShell
Reset-LapsPassword

Tüm Bilgisayarlar OU'sunda parolası henüz AD'ye yazılmamış makineleri bulmak için:

PowerShell
Get-ADComputer -SearchBase "OU=Bilgisayarlar,OU=Firma,DC=firma,DC=local" -Filter * `
    -Properties msLAPS-PasswordExpirationTime |
    Where-Object { -not $_."msLAPS-PasswordExpirationTime" } |
    Select-Object Name

Sık Karşılaşılan Hatalar

  • Backup directory ayarını unutmak: Varsayılan değer "Disabled"dır ve LAPS hiçbir şey yapmaz. Configure password backup directory ayarını mutlaka Active Directory yapın.
  • Self permission vermemek: Bilgisayar parolayı AD'ye yazamaz ve LAPS günlüğünde erişim hatası görünür. Set-LapsADComputerSelfPermission komutunu doğru OU için çalıştırın.
  • GPMC'de LAPS klasörünü görememek: Central Store eski ADMX dosyalarını içerir. LAPS.admx ve LAPS.adml dosyalarını kopyalayın.
  • Helpdesk'in parolayı görememesi: Şifreleme açıkken okuma izni yetmez; grubu authorized password decryptors ayarına da ekleyin.
  • Eski LAPS ile çakışma: İki çözüm aynı hesabı yönetirse parolalar birbirini ezer. Geçiş sırasında farklı OU'lar veya farklı hesaplar kullanın.
  • Domain Controller'larda yerel hesap beklemek: DC'lerde yerel hesap yoktur; LAPS DC'lerde yalnızca DSRM parolasını yedekleyebilir. Bu ayar ayrı bir GPO ile yapılmalıdır.

Bir sonraki yazıda Fine-Grained Password Policy ile farklı gruplara farklı parola kuralları uygulayacağız.

Okuma görünümü 4 görüntülenme