Siber Güvenlik

Active Directory Sıkılaştırmada 5 Kritik Hata ve Ek-A

Active Directory Sıkılaştırmada 5 Kritik Hata ve Ek-A

Active Directory sıkılaştırmada en kritik hatalar, ayrıcalıklı hesapların sıradan bilgisayarlarda kullanılması, yerel yönetici parolalarının her makinede aynı olması, servis hesaplarının zayıf ve süresiz parolalarla bırakılması, NTLMv1 ve SMBv1 gibi eski protokollerin açık kalması ve etki alanı denetleyicilerinde loglama ile kurtarma planının olmamasıdır. Bu beş hata, ISO/IEC 27001:2022 Ek-A'daki A.8.2, A.5.17, A.8.5, A.8.9 ve A.8.15 kontrollerinin sahada karşılığını bulamadığı yerlerdir. Her birini aşağıda kontrol komutu, GPO ayarı ve denetimde istenecek kanıtla birlikte ele alıyoruz.

Active Directory (AD), çoğu kurumda kimlik doğrulamanın, yetkilendirmenin ve grup ilkelerinin tek merkezi. Bu yüzden saldırganın hedefi genellikle bir sunucu değil, etki alanı yöneticisi yetkisidir. Sızma testlerinde sahada karşılaşılan tipik tablo şudur: İlk erişim sıradan bir kullanıcı hesabıyla elde edilir, ardından AD'deki yapılandırma boşlukları üzerinden birkaç adımda etki alanının tamamına ulaşılır. Bu adımların neredeyse hiçbiri yeni bir yazılım açıklığı gerektirmez.

Yazı ISO 27001 kapsamında AD yöneten BT ekipleri için hazırlandı. Belgelendirme sürecinin genel çerçevesini merak ediyorsanız ISO 27001 belgesi sayfamız tüm adımları özetler.

İçerik

Beş hatanın Ek-A eşleme tablosu

HataSaldırı tekniği (MITRE ATT&CK)İlgili Ek-A kontrolleriDenetimde istenecek kanıt
1. Ayrıcalıklı hesapların katmansız kullanımıKimlik bilgisi dökümü, Pass-the-Hash (T1550.002)A.8.2, A.5.15, A.5.18Ayrıcalıklı grup üyelik listesi, oturum kısıtlama GPO'su
2. Aynı yerel yönetici parolasıYanal hareket, Pass-the-HashA.5.17, A.8.5, A.8.2LAPS GPO raporu, parola okuma yetki listesi
3. Zayıf servis hesaplarıKerberoasting (T1558.003)A.5.16, A.5.17, A.8.5, A.8.24SPN'li hesap listesi, gMSA envanteri
4. Eski protokoller açıkNTLM relay, SMB relayA.8.9, A.8.20, A.8.8Güvenlik yapılandırma temel çizgisi, GPO raporu
5. Loglama ve kurtarma eksikDCSync (T1003.006), Golden Ticket (T1558.001)A.8.15, A.8.16, A.8.17, A.8.13, A.5.30Denetim ilkesi raporu, SIEM alarm örneği, geri yükleme testi

Hata 1: Ayrıcalıklı hesaplar her yerde oturum açıyor

Sahada nasıl görünür?

Etki alanı yöneticisi hesabıyla yardım masası işi yapılır; aynı hesapla kullanıcı bilgisayarına uzak masaüstü bağlantısı açılır, hatta e-posta okunur. Windows, etkileşimli oturumlarda kimlik bilgilerini bellekte tutabildiği için o bilgisayarı ele geçiren saldırgan yönetici kimliğine de erişebilir. Denetimlerde sık görülen diğer bulgu, "Domain Admins" grubunda ayrılmış personel veya uygulama hesaplarının kalmasıdır.

Nasıl kontrol edilir?

# Ayrıcalıklı grup üyelerini iç içe gruplarla birlikte listeleyin
"Domain Admins","Enterprise Admins","Schema Admins","Administrators",
"Account Operators","Backup Operators","Server Operators","DnsAdmins" |
  ForEach-Object { Get-ADGroupMember -Identity $_ -Recursive |
  Select-Object @{n='Grup';e={$_}}, Name, SamAccountName }

# Geçmişte korumalı gruba üye olmuş hesaplar (adminCount=1)
Get-ADUser -Filter {adminCount -eq 1} -Properties LastLogonDate, PasswordLastSet

Doğru yaklaşım

Microsoft'un "Enterprise access model" adıyla güncellediği katman yaklaşımı, AD'yi ve onu yöneten sistemleri kontrol düzlemi (eski adıyla Tier 0) olarak ayırır. Pratikte şunlar yapılır:

  1. Yöneticiler için ayrı ayrıcalıklı hesap açılır; günlük iş standart hesapla yapılır.
  2. Tier 0 hesaplarının iş istasyonlarında ve üye sunucularda oturum açması GPO ile engellenir. Yol: Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > User Rights Assignment. Burada "Deny log on locally", "Deny log on through Remote Desktop Services", "Deny log on as a batch job" ve "Deny log on as a service" ayarlarına Tier 0 grupları eklenir.
  3. Ayrıcalıklı insan hesapları "Protected Users" grubuna alınır. Bu grup NTLM kimlik doğrulamasını, Kerberos'ta DES/RC4 kullanımını ve yetki devrini engeller. Servis ve bilgisayar hesapları bu gruba eklenmez; önce bir pilot hesapla test edilmelidir.
  4. AD yönetimi için ayrıcalıklı erişim iş istasyonu (PAW) veya en azından ayrılmış bir yönetim sunucusu kullanılır; her katman için ayrı atlama sunucusu tercih edilir.

Bu adımlar Ek-A'da A.8.2 (ayrıcalıklı erişim hakları) ve A.5.18 (erişim hakları) kontrollerinin somut uygulamasıdır. Denetçi genellikle ayrıcalıklı hesap listesini ve bu listenin en son ne zaman gözden geçirildiğini sorar.

Hata 2: Her bilgisayarda aynı yerel yönetici parolası

Sahada nasıl görünür?

İmaj hazırlanırken belirlenen yerel "Administrator" parolası yıllarca değişmez. Bir bilgisayarda bu parolanın özeti (hash) ele geçirildiğinde, aynı parolayı kullanan diğer tüm makinelere Pass-the-Hash ile erişilebilir. Sızma testlerinde yanal hareketin en kısa yolu çoğu zaman budur.

Doğru yaklaşım: Windows LAPS

Windows LAPS, Nisan 2023 güncellemesiyle desteklenen Windows sürümlerine yerleşik olarak geldi; ayrı bir istemci kurulumu gerektirmez. Kurulum özeti:

# AD şemasını Windows LAPS için genişletin (bir kez, Schema Admins yetkisiyle)
Update-LapsADSchema

# Bilgisayarların kendi parolasını yazabilmesi için OU'ya izin verin
Set-LapsADComputerSelfPermission -Identity "OU=Istasyonlar,DC=firma,DC=local"

# Parolayı kimin okuyabildiğini denetleyin
Find-LapsADExtendedRights -Identity "OU=Istasyonlar,DC=firma,DC=local"

# Tek bir makinenin parolasını okuyun (yetkili hesapla)
Get-LapsADPassword -Identity PC-0142 -AsPlainText

GPO tarafında Computer Configuration > Administrative Templates > System > LAPS altındaki "Configure password backup directory" ayarı Active Directory olarak seçilir; parola uzunluğu ve yaşı aynı yerde tanımlanır.

LAPS'a ek olarak yerel hesapların ağ üzerinden kullanımı kısıtlanmalıdır. Microsoft'un güvenlik temel çizgilerinde, "Deny access to this computer from the network" ve "Deny log on through Remote Desktop Services" ayarlarına NT AUTHORITY\Local account and member of Administrators group (S-1-5-114) kimliğinin eklenmesi önerilir.

Tipik gözden kaçan nokta: LAPS parolasını okuma yetkisinin yardım masasının tamamına verilmesi. Okuma yetkisi de bir ayrıcalıklı erişimdir ve A.8.2 kapsamında gözden geçirilmelidir.

Hata 3: Servis hesapları unutulmuş

Sahada nasıl görünür?

SQL, yedekleme veya ERP yazılımı için yıllar önce açılmış, parolası hiç değişmemiş, "Password never expires" işaretli ve çoğu zaman Domain Admins üyesi servis hesapları. Bu hesaplara SPN (Service Principal Name) tanımlı olduğunda, etki alanındaki herhangi bir kullanıcı bu hesap için Kerberos servis bileti isteyebilir ve bileti çevrimdışı ortamda kırmayı deneyebilir. Bu teknik Kerberoasting olarak bilinir; bilet RC4 ile şifrelenmişse ve parola kısaysa kırılması kolaylaşır.

Nasıl kontrol edilir?

# SPN tanımlı kullanıcı hesapları, parola yaşı ve şifreleme türü
Get-ADUser -Filter {ServicePrincipalName -like "*"} `
  -Properties ServicePrincipalName, PasswordLastSet, msDS-SupportedEncryptionTypes, MemberOf

# Kerberos ön doğrulaması kapalı hesaplar (AS-REP roasting riski)
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true}

# Parolası süresiz hesaplar
Get-ADUser -Filter {PasswordNeverExpires -eq $true -and Enabled -eq $true}

# Kısıtlamasız yetki devri açık bilgisayarlar (DC'ler hariç tutulmalı)
Get-ADComputer -Filter {TrustedForDelegation -eq $true}

Doğru yaklaşım

  1. Mümkün olan her serviste grup yönetimli servis hesabına (gMSA) geçin. gMSA parolası AD tarafından uzun ve rastgele üretilir ve otomatik döndürülür.
# Ormanda bir kez KDS kök anahtarı oluşturulur
Add-KdsRootKey -EffectiveImmediately
New-ADServiceAccount -Name gmsaSQL -DNSHostName gmsaSQL.firma.local `
  -PrincipalsAllowedToRetrieveManagedPassword "SQL-Sunuculari"
# Hedef sunucuda
Install-ADServiceAccount -Identity gmsaSQL
  1. gMSA desteklemeyen eski uygulamalarda uzun (Microsoft ve CIS rehberleri servis hesapları için uzun, rastgele parolalar önerir) ve belirli aralıklarla değişen parola kullanın; bu hesapları ayrıcalıklı gruplardan çıkarın.
  2. Kerberos için AES'i zorunlu kılın: "Network security: Configure encryption types allowed for Kerberos" ayarında yalnızca AES128 ve AES256'yı seçin. Bu değişiklik eski sistemlerle uyumsuzluk yaratabileceği için önce 4769 olaylarında bilet şifreleme türünü (0x17 RC4'ü gösterir) izleyerek envanter çıkarın.
  3. Kısıtlamasız yetki devrini kaldırın, gerekiyorsa kısıtlı veya kaynak tabanlı yetki devrine geçin.

Ek-A karşılığı: A.5.16 (kimlik yönetimi) her servis hesabının bir sahibi ve amacı olmasını, A.5.17 (kimlik doğrulama bilgileri) parolaların yönetilmesini, A.8.24 (kriptografi kullanımı) zayıf algoritmaların terk edilmesini kapsar.

Hata 4: Eski protokoller "uyumluluk için" açık bırakılmış

Sahada nasıl görünür?

LM ve NTLMv1 kabul ediliyor, SMBv1 açık, SMB ve LDAP imzalama zorunlu değil, etki alanı denetleyicilerinde Yazdırma Biriktiricisi (Print Spooler) çalışıyor. Bu ayarların her biri, ağ üzerindeki bir saldırganın kimlik doğrulama trafiğini başka bir sunucuya aktarmasına (relay) veya zorla kimlik doğrulatmasına zemin hazırlar.

Kontrol ve düzeltme

Ayar (GPO: Security Options)Önerilen değerNot
Network security: LAN Manager authentication levelSend NTLMv2 response only. Refuse LM & NTLMÖnce NTLM denetimi açılıp etki ölçülmeli
Network security: Do not store LAN Manager hash value on next password changeEnabledLM özetinin saklanmasını engeller
Microsoft network server: Digitally sign communications (always)EnabledSMB relay'e karşı
Microsoft network client: Digitally sign communications (always)Enabledİstemci tarafı imzalama
Domain controller: LDAP server signing requirementsRequire signingÖnce 2889 olaylarıyla imzasız bağlantılar bulunmalı
Domain controller: LDAP server channel binding token requirementsAlwaysLDAPS relay'e karşı
Network security: Restrict NTLM: Audit NTLM authentication in this domainEnable allNTLM kullanan sistemleri görmek için
# SMBv1 durumu ve kapatma
Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol
Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force

# Etki alanı denetleyicilerinde Print Spooler
Get-Service -Name Spooler -ComputerName DC01
Stop-Service -Name Spooler; Set-Service -Name Spooler -StartupType Disabled

Microsoft, yazdırma sunucusu rolü olmayan etki alanı denetleyicilerinde Print Spooler hizmetinin kapatılmasını önerir. NTLM'i kısıtlamadan önce Applications and Services Logs > Microsoft > Windows > NTLM > Operational günlüğünden hangi uygulamaların NTLM kullandığını çıkarmak, üretim kesintisini önlemenin tek güvenli yoludur.

Bu ayarların tamamı bir güvenlik yapılandırma temel çizgisine (baseline) yazılmalıdır. CIS Microsoft Windows Server Benchmark ve Microsoft Security Compliance Toolkit bu temel çizgi için iyi başlangıç noktalarıdır. ISO/IEC 27001:2022'de yeni eklenen A.8.9 (yapılandırma yönetimi), tam olarak bu temel çizginin belirlenmesini, uygulanmasını ve sapmaların izlenmesini ister. GPO değişikliklerinin kayıt altına alınması da A.8.32 (değişiklik yönetimi) kapsamındadır.

Hata 5: Etki alanı denetleyicisi izlenmiyor ve kurtarma hiç denenmemiş

Sahada nasıl görünür?

Gelişmiş denetim ilkesi yapılandırılmamış, güvenlik günlüğü varsayılan boyutta ve birkaç saatte bir üzerine yazılıyor, loglar merkezi bir sisteme gönderilmiyor. KRBTGT hesabının parolası etki alanı kurulduğundan beri değişmemiş, AD Geri Dönüşüm Kutusu kapalı ve etki alanı denetleyicisi yedeğinden geri dönüş hiç denenmemiş.

İzlenmesi gereken olaylar

"Audit: Force audit policy subcategory settings to override audit policy category settings" etkinleştirildikten sonra Advanced Audit Policy Configuration altında şu alt kategoriler açılır: Credential Validation, Kerberos Authentication Service, Kerberos Service Ticket Operations, User Account Management, Security Group Management, Directory Service Changes, Directory Service Access, Logon ve Special Logon.

Olay kimliğiAnlamıNeden önemli
4624 / 4625Başarılı / başarısız oturumParola püskürtme ve olağandışı oturum
4672Özel ayrıcalıklar atandıYönetici oturumlarının takibi
4720 / 4738Hesap oluşturuldu / değiştirildiYetkisiz hesap açılışı
4728 / 4732 / 4756Güvenlik grubuna üye eklendiAyrıcalıklı gruba beklenmedik ekleme
4740Hesap kilitlendiKaba kuvvet girişimleri
4768 / 4769Kerberos TGT / servis bileti istendiKerberoasting ve olağandışı bilet talepleri
4662Dizin nesnesine işlemDCSync tespiti (replikasyon hakları GUID'leri 1131f6aa-… ve 1131f6ad-…)
5136Dizin nesnesi değiştirildiGPO ve ACL değişiklikleri

Kurtarma tarafı

# KRBTGT parolası en son ne zaman değişti?
Get-ADUser krbtgt -Properties PasswordLastSet

# AD Geri Dönüşüm Kutusu (geri alınamaz bir ormansal değişikliktir)
Enable-ADOptionalFeature -Identity 'Recycle Bin Feature' `
  -Scope ForestOrConfigurationSet -Target 'firma.local'

# Zaman eşitleme durumu (Kerberos saat farkına duyarlıdır)
w32tm /query /status

Microsoft'un rehberine göre KRBTGT parolası iki kez sıfırlanmalı ve iki sıfırlama arasında hem replikasyonun tamamlanması hem de en uzun bilet ömrünün (varsayılan 10 saat) dolması beklenmelidir. Microsoft bu işlem için bir betik de yayımlamıştır. Etki alanı denetleyicisi sistem durumu yedeği (wbadmin start systemstatebackup) düzenli alınmalı, yedeğin tombstone ömründen eski olmamasına dikkat edilmeli ve "Active Directory Forest Recovery Guide" esas alınarak izole bir ortamda geri dönüş denenmelidir.

Ek-A karşılığı: A.8.15 (kayıt tutma), A.8.16 (izleme faaliyetleri), A.8.17 (saat eşitleme), A.8.13 (bilgi yedekleme) ve A.5.30 (iş sürekliliği için BİT hazırlığı). Fidye yazılımı senaryosunda AD'nin geri getirilememesi, tüm iş süreçlerinin durması demektir; bu konuyu fidye yazılımlarından korunma yazımızda da ele aldık.

AD sıkılaştırma kontrol listesi

  • Ayrıcalıklı gruplar iç içe üyelikleriyle listelendi, gereksiz üyeler çıkarıldı, liste imzalı olarak saklandı.
  • Yöneticiler için ayrı ayrıcalıklı hesaplar var; Tier 0 hesapları iş istasyonlarında oturum açamıyor.
  • Ayrıcalıklı insan hesapları Protected Users grubunda (pilot testten sonra).
  • Windows LAPS tüm iş istasyonu ve üye sunucularda etkin; parola okuma yetkisi gözden geçirildi.
  • Yerel yönetici hesaplarının ağdan oturumu S-1-5-114 ile kısıtlandı.
  • SPN'li hesaplar envanterlendi; mümkün olanlar gMSA'ya taşındı, kalanların parolası uzun ve döndürülüyor.
  • Kerberos ön doğrulaması kapalı hesap ve kısıtlamasız yetki devri kalmadı.
  • NTLM denetimi açıldı, LM/NTLMv1 kapatıldı, SMBv1 devre dışı.
  • SMB ve LDAP imzalama ile LDAP kanal bağlama zorunlu.
  • Etki alanı denetleyicilerinde Print Spooler kapalı.
  • Gelişmiş denetim ilkesi etkin; DC logları merkezi sisteme gidiyor ve kritik olaylar için alarm var.
  • PDC emülatörü güvenilir bir NTP kaynağıyla eşitleniyor.
  • KRBTGT parolası planlı olarak iki aşamada değiştirildi.
  • AD Geri Dönüşüm Kutusu açık; sistem durumu yedeğinden geri dönüş izole ortamda denendi ve kaydedildi.
  • Tüm ayarlar bir yapılandırma temel çizgisinde tanımlı ve GPO değişiklikleri değişiklik kaydına giriyor.

Sıkılaştırmanın doğrulanması

Kontrol listesini tamamlamak, ayarların beklenen etkiyi yarattığını göstermez. Denetçinin A.8.8 ve A.8.29 kapsamında sorduğu tipik soru "Bu yapılandırmanın etkinliğini nasıl test ettiniz?" olur. İç ağdan, standart bir kullanıcı hesabıyla başlayan bir AD odaklı sızma testi bu sorunun en doğrudan cevabıdır. Bu tür bir test için yaklaşımı grey box pentest yazımızda anlattık; sızma testi hizmetimiz kapsamında AD saldırı yollarını raporlar ve her bulguyu ilgili Ek-A kontrolüyle eşleştiririz.

Sıkça Sorulan Sorular

ISO 27001 Active Directory sıkılaştırmayı doğrudan zorunlu kılar mı?

Standart belirli bir ürün veya ayar adı vermez. Ancak AD kapsamınızdaysa, A.8.2 ayrıcalıklı erişimi, A.8.5 güvenli kimlik doğrulamayı, A.8.9 yapılandırma yönetimini ve A.8.15 kayıt tutmayı nasıl uyguladığınızı göstermeniz beklenir. Risk değerlendirmeniz AD'yi kritik varlık olarak işaretliyorsa, sıkılaştırma risk işleme planının doğal bir parçası olur.

Windows LAPS ile eski Microsoft LAPS aynı şey mi?

Hayır. Eski Microsoft LAPS ayrı bir MSI ile kurulan bir eklentiydi. Windows LAPS ise desteklenen Windows sürümlerine yerleşik gelir, parolayı şifreli saklayabilir, Microsoft Entra ID'ye yedekleyebilir ve DSRM parolasını da yönetebilir. Eskiden yeniye geçişte iki çözümün aynı hesabı yönetmemesine dikkat edilmelidir.

NTLM'i tamamen kapatmak mümkün mü?

Çoğu ortamda hemen mümkün değildir, çünkü eski uygulamalar, yazıcılar ve IP adresiyle erişilen paylaşımlar NTLM kullanır. Doğru yol önce NTLM denetimini açmak, günlükten NTLM kullanan sistemleri çıkarmak, bunları Kerberos'a taşımak ve ardından istisna listesiyle kısıtlamaktır. LM ve NTLMv1 ise genellikle hemen kapatılabilir.

KRBTGT parolasını ne sıklıkla değiştirmeliyiz?

Microsoft belirli bir sıklık zorunlu kılmaz, ancak düzenli değiştirilmesini ve özellikle Tier 0 yetkisine sahip bir çalışan ayrıldığında veya olası bir ihlal şüphesinde değiştirilmesini önerir. Değişiklik iki aşamada ve aralarında yeterli süre bırakılarak yapılmalıdır. Kararınızı risk değerlendirmenize yazmanız denetimde gerekçe sunmanızı kolaylaştırır.

Protected Users grubuna herkesi eklemeli miyiz?

Hayır. Grup, NTLM'i ve bazı Kerberos özelliklerini devre dışı bıraktığı için servis hesaplarını ve eski sistemlere bağlanan kullanıcıları etkileyebilir. Ayrıcalıklı insan hesaplarıyla başlamak ve önce tek bir hesapla test etmek önerilir. Bilgisayar ve servis hesapları bu gruba eklenmemelidir.

Denetçi AD için hangi kanıtları ister?

Genellikle ayrıcalıklı grup üyelik listesi ve gözden geçirme kaydı, parola ve hesap kilitleme ilkesi, LAPS yapılandırması, yapılandırma temel çizgisi, denetim ilkesi raporu (auditpol /get /category:* çıktısı), log izleme kaydı ve etki alanı denetleyicisi yedeğinden geri dönüş testi kaydı istenir. GPO raporları Get-GPOReport -All -ReportType Html ile tek dosyada alınabilir.

Kaynaklar

  • ISO/IEC 27001:2022 ve ISO/IEC 27002:2022 (iso.org)
  • Microsoft Learn: Enterprise access model; Protected Users security group; Windows LAPS overview; Group Managed Service Accounts overview; AD Forest Recovery (KRBTGT parolasının sıfırlanması)
  • Microsoft Security Compliance Toolkit, Windows Server güvenlik temel çizgileri
  • CIS Microsoft Windows Server Benchmark (cisecurity.org)
  • MITRE ATT&CK: T1558.003, T1558.001, T1003.006, T1550.002 (attack.mitre.org)

AD sıkılaştırmanızı ISO 27001 kontrolleriyle birlikte ele almak isterseniz ISO 27001 danışmanlık hizmetimiz kapsamında yapılandırma temel çizgisini, risk kaydını ve kanıt setini birlikte hazırlıyoruz. Bize 0533 370 01 43 numaralı telefondan veya iletişim sayfamızdan ulaşabilirsiniz.

Hazırlayan: ISO 27001 Danışmanlık Uzman Ekibi

Ücretsiz Danışmanlık Teklifi Alın

24 saat içinde sizinle iletişime geçilsin.

Hemen Teklif Alın