Domain Controller loglarınızda en son ne zaman 'Administrator' kullanıcısının başarılı giriş yaptığını kontrol ettiniz? Eğer bu sabah siz girdiyseniz, ilk hatayı yapmış olabilirsiniz...
İşte tüm Active Directory, Group Policy ve Windows Security yöneticilerine yönelik hazırladığımız "Holiday Administrator Challenge"!
1. Parola Politikanız Gerçekten Sandığınız Gibi mi?
Çoğu yönetici, Default Domain Policy üzerindeki parola ayarlarına bakar ve "Tamam, herkes 12 karakter kullanıyor" der. Ancak büyük bir yanılgı var: Fine-Grained Password Policies (FGPP).
-
Neden Önemli? Eğer birisi geçmişte belirli bir grup için (örneğin yöneticiler veya stajyerler) özel bir parola politikası oluşturduysa, bu politika Default Domain Policy'yi ezer.
-
Ne Yapmalı?
AD Administrative Centerüzerinden "Password Settings Container"ı kontrol edin. Tüm kullanıcılarınızın gerçekten hedeflediğiniz karmaşıklık ve uzunluk standartlarına tabi olduğundan emin olun.
2. Auditing (Denetleme): Kör Noktalarınızı Kontrol Edin
Domain Controller (DC) günlükleriniz size her şeyi anlatıyor mu, yoksa sadece gürültü mü yapıyor?
-
Büyük Hata: Geleneksel Auditing ile Advanced Audit Policy Configuration (Gelişmiş Denetim İlkesi Yapılandırması) bir arada kullanılamaz. Eğer ikisini de etkinleştirirseniz, gelişmiş politikalar öncelik kazanır ancak RSOP (Resultant Set of Policy) raporlarında yanlış sonuçlar görebilirsiniz.
-
İpucu: Sisteminizde "Audit: Force audit policy subcategory settings" ayarının etkin olduğundan emin olun ve denetlemelerinizi alt kategoriler bazında (Logon/Logoff, Object Access vb.) optimize edin.
3. Güvenlik Araçlarınız "Mış Gibi" mi Yapıyor?
En pahalı SIEM veya AD izleme aracına sahip olmanız, güvende olduğunuz anlamına gelmez.
-
Gerçeklik Kontrolü: Aracınız en son ne zaman veri topladı? Replikasyon akışında bir kopukluk var mı? Event log'lar düzgün bir şekilde merkeze akıyor mu?
-
Kontrol Listesi: Araçlarınızın son başarılı tarama tarihini (Last Scan/Sync) kontrol edin. Eğer veriler 24 saatten eskiyse, kör uçuşu yapıyor olabilirsiniz.
4. "Administrator" Hesabını Bir Hedefe Dönüştürün (Honeypot)
Yerleşik (built-in) Administrator hesabı, saldırganların ilk hedefidir. Onu kullanmayı bırakın ve bir tuzağa dönüştürün.
-
Strateji: Bu hesabın parolasını çok karmaşık bir değerle değiştirin ve asla kullanmayın. Ardından, bu hesaba bir Honeypot (Bal küpü) muamelesi yapın: Eğer bu hesapla bir giriş girişimi olursa, anında telefonunuza alarm düşecek bir sistem kurun.
-
Unutmayın: Günlük işleriniz için "Named Account" (isimlendirilmiş hesap) kullanın ve bu hesapların yetkilerini kısıtlayın.
5. Kritik Grupları Boşaltın: Schema & Enterprise Admins
Bu gruplar "İsviçre Çakısı" gibidir, ancak sadece bir şeyler bozulduğunda veya yükseltme yapıldığında (Exchange Schema Update vb.) lazımdır.
-
Altın Kural: Schema Admins ve Enterprise Admins grupları normal zamanlarda BOŞ olmalıdır.
-
Aksiyon Planı: Bu gruplara birisi eklendiğinde size anlık e-posta veya SMS bildirimi gönderecek bir "Alert" mekanizması kurun. Yetki gerektiğinde kullanıcıyı ekleyin, işi bitince çıkartın.
Teknik Derin Bakış: Active Directory Güvenlik Taraması
1. Parola Politikalarının Keşfi (FGPP)
Sadece GPO'ya bakmak yetmez. Domaininizdeki "İnce Ayarlı Parola Politikalarını" (Fine-Grained Password Policies) şu komutla listeleyebilirsiniz:
# Mevcut tüm Fine-Grained Password politikalarını görüntüle
Get-ADFineGrainedPasswordPolicy -Filter * | Select-Object Name, Precedence, ComplexityEnabled, PasswordHistoryCount, MinPasswordLength
Eğer bu komut boş dönüyorsa, sadece Default Domain Policy geçerlidir. Eğer doluysa, Precedence (öncelik) değeri en düşük olan (örn: 1) en baskın politikadır.
2. Gelişmiş Denetim Politikası (Advanced Auditing)
DC'lerinizde hangi denetimlerin aktif olduğunu RSOP yerine şu komutla ham veriden kontrol edin:
# DC üzerinde hangi audit alt kategorilerinin açık olduğunu kontrol et
auditpol /get /category:*
Not: GPO üzerinden "Audit: Force audit policy subcategory settings" (Denetim: Denetim ilkesi alt kategori ayarlarını zorla) ayarının Enabled olduğundan emin olun.
3. Kritik Grupların Temizliği (Schema & Enterprise Admins)
Bu grupların üyelerini hızlıca kontrol etmek ve boş olduklarını teyit etmek için:
$Groups = @("Schema Admins", "Enterprise Admins")
foreach ($Group in $Groups) {
$Members = Get-ADGroupMember -Identity $Group
if ($Members) {
Write-Host "[UYARI] $Group grubu boş değil!" -ForegroundColor Red
$Members | Select-Object Name, SamAccountName
} else {
Write-Host "[TAMAM] $Group grubu temiz." -ForegroundColor Green
}
}
4. Administrator Hesabı İçin Honeypot Mantığı
Yerleşik Administrator hesabının AdminCount değerini ve son giriş denemesini izlemek kritiktir. Ancak daha iyisi, bu hesaba özel bir Event ID 4625 (Hatalı Giriş) veya 4624 (Başarılı Giriş) alarmı kurmaktır.
AD Holiday Challenge: Kontrol Listesi (Checklist)
Bu tabloyu blog yazının sonuna "indirilebilir veya kopyalanabilir" bir bölüm olarak ekleyebilirsin:
| Madde | Görev | Durum |
| 1 | FGPP Kontrolü: Default policy dışında aktif bir parola politikası var mı? | [ ] |
| 2 | Audit Çakışması: Klasik ve Gelişmiş denetim politikaları çakışıyor mu? | [ ] |
| 3 | Araç Sağlığı: Güvenlik araçları (SIEM, AD Audit) son 1 saat içinde veri aldı mı? | [ ] |
| 4 | Admin Güvenliği: Built-in Administrator hesabı aktif kullanımdan çekildi mi? | [ ] |
| 5 | Honeypot: Administrator hesabı için bir izleme/alarm mekanizması kuruldu mu? | [ ] |
| 6 | Grup Temizliği: Schema Admins grubunda kalıcı üye var mı? | [ ] |
| 7 | Grup Temizliği: Enterprise Admins grubunda kalıcı üye var mı? | [ ] |
Bonus: Görünmez Tehdit "Orphaned GPOs" ve "Hidden Admins"
Challenge'ı bir adım öteye taşımak isteyenler için iki kritik kontrol daha ekleyelim:
-
Yetim GPO'lar (Orphaned GPOs): Hiçbir OU'ya bağlı olmayan ama içinde kritik ayarlar barındıran GPO'lar ortamınızda güvenlik boşlukları yaratabilir. Bunları temizlemek, hem performansı artırır hem de kafa karışıklığını giderir.
-
Delegasyon Kontrolü: Sadece "Domain Admins" grubuna bakmak yetmez.
Active Directory Users and Computersüzerinde sağ tıklayıp "Delegate Control" ile geçmişte kimlere, hangi OU üzerinde tam yetki verildiğini kontrol ettiniz mi?
PowerShell ile Delegasyon Taraması (Kritik):
# Belirli bir OU üzerinde 'Full Control' yetkisi olan kullanıcıları listele
(Get-Acl "AD:OU=Finance,DC=domain,DC=com").Access | Where-Object { $_.ActiveDirectoryRights -like "*GenericAll*" }
Destek
Eğer yukarıdaki adımları uygularken;
-
"Bu komut bende neden çalışmadı?"
-
"Auditing ayarlarını yaparken DC performansım düşer mi?"
-
"Honeypot hesabını güvenli şekilde nasıl raporlarım?"
gibi sorularınız olursa veya ortamınızın genel bir Security Assessment (Güvenlik Değerlendirmesi) raporuna ihtiyacı varsa bana ulaşmaktan çekinmeyin.
Bu 5 maddeyi tamamlamak sadece birkaç saatinizi alabilir, ancak sizi aylar sürecek bir siber saldırı felaketinden kurtarabilir. Unutmayın, en büyük güvenlik açığı genellikle karmaşık yazılımlarda değil, yanlış yapılandırılmış basit ayarlardadır.