Makale hakkında
Bu Yazıda,
Windows Server 2016 ile hayatımıza girmiş olan ve o zamanlar Active Directory özelliği olarak eklenen Privileged Access Management (PAM) Feature‘ın ne olduğunu, nasıl çalıştığını, hangi güvenlik ihtiyacını karşıladığını ve PowerShell ile adım adım nasıl yapılandırıldığını ele alıyoruz. Kerberos entegrasyonu ve Azure AD ile ilgili önemli kısıtlara da değineceğiz.
Neden Privileged Access Management?
Kurumsal Active Directory ortamlarında en sık karşılaşılan güvenlik sorunlarından biri kalıcı yetkili grup üyeliğidir. Bir kullanıcıya sorun gidermek, acil değişiklik yapmak ya da bir proje süresince yetki vermek gerektiğinde, o kullanıcı Domain Admins veya benzeri hassas bir gruba eklenir. İş bitince bu üyeliğin kaldırılıp kaldırılmadığını kimse takip etmez.
Zamanla bu durum privilege creep (yetki birikimi) olarak bilinen bir güvenlik sorununa dönüşür: Artık hiç ihtiyacı olmadığı hâlde yüksek yetkiye sahip hesaplar ortamda sessizce var olmaya devam eder. Bir saldırgan bu hesabı ele geçirdiğinde hasarı sınırlamanın neredeyse hiçbir yolu kalmaz.
Kullanıcıların iş değişimleri veya geçici görevler nedeniyle zamanla gereksiz yetkileri biriktirmesi durumudur. Saldırı yüzeyini sessiz sedasız büyütür; çoğu zaman fark edilmez.
Klasik çözümler; dinamik nesneler, zamanlanmış görevler veya Microsoft Forefront Identity Manager gibi karmaşık sistemler gerektiriyordu. Windows Server 2016 bu sorunun yerleşik bir çözümünü sundu: Privileged Access Management Feature ve onun getirdiği Time-Based (TTL) Group Membership.
PAM Feature Nedir?
PAM Feature, Windows Server 2016 Active Directory’nin opsiyonel bir özelliğidir. Temel işlevi şudur: Bir kullanıcıyı bir AD güvenlik grubuna belirli bir süre (TTL — Time to Live) için ekleyebilirsiniz. Süre dolduğunda kullanıcı, herhangi bir yönetici müdahalesi olmaksızın otomatik olarak gruptan çıkarılır.
Bu yapı, Just Enough Administration (JEA) ve Just-In-Time (JIT) erişim modelinin Active Directory düzeyinde uygulanmasını sağlar. Yetki, yalnızca ihtiyaç duyulduğu süre boyunca verilir; sonrasında sistem kendiliğinden geri alır.
Yönetici haklarının kalıcı değil, yalnızca ihtiyaç anında ve sınırlı süreyle verildiği güvenlik yaklaşımıdır. PAM Feature, bu modelin AD ortamında yazılım gerektirmeden uygulanmasını sağlar.
Desteklenen Grup Türleri
TTL ile üyelik; güvenlik gruplarında ve dağıtım gruplarında çalışır. Grup türü bu özelliği kullanmak için bir kısıt değildir.
Önkoşullar
PAM Feature’ı aktif edebilmek için aşağıdaki koşulların sağlanmış olması gerekir:
- Forest Functional Level Windows Server 2016 veya üzeri olmalıdır. Domain Functional Level’ı yükseltmek zorunlu değildir; Forest yeterlidir.
- Ortamdaki tüm Domain Controller’lar Windows Server 2016 veya üzeri olmalıdır.
- Özelliği etkinleştirmek için Enterprise Admins ve Schema Admins hakları gerekir.
AD Recycle Bin gibi PAM Feature da etkinleştirildikten sonra devre dışı bırakılamaz.Bu nedenle önce lab ortamında test edin; production’da aktif etmeden önce tüm etkileri gözden geçirin.
Exchange Server kullanan ortamlarda dikkat gerekir. Her Exchange sürümü belirli bir Forest Functional Level gerektirir; yükseltme öncesinde Exchange sürümü ile uyumluluk mutlaka kontrol edilmelidir.
https://learn.microsoft.com/en-us/microsoft-identity-manager/pam/raise-bastion-functional-level
Yapılandırma: Adım Adım PowerShell
Adım 1 — Forest Functional Level Kontrolü
Önce mevcut Forest Functional Level’ı doğrulayın:
# Forest functional level'ı kontrol et
(Get-ADForest).ForestMode# Domain ve Forest mode’u birlikte görmek için
Get-ADDomain | Select-Object DomainMode
Get-ADForest | Select-Object ForestMode
Forest düzeyi Windows Server 2016’nın altındaysa ve tüm DC’ler 2016 veya üzeri çalışıyorsa, aşağıdaki komutla yükseltebilirsiniz:
# Forest Functional Level'ı Windows Server 2016'ya yükselt
Set-ADForestMode -ForestMode Windows2016Forest -Identity "meg.intra"Adım 2 — PAM Feature’ı Etkinleştirme
Feature aktif mi kontrol edin; EnabledScopes alanı boşsa henüz etkin değildir:
# PAM Feature durumunu kontrol et
Get-ADOptionalFeature -Filter "name -eq 'Privileged Access Management Feature'" | Select-Object Name, EnabledScopes, RequiredForestModeEtkinleştirmek için:
# PAM Feature'ı etkinleştir — GERİ ALINAMAZ!
Enable-ADOptionalFeature 'Privileged Access Management Feature' `
-Scope ForestOrConfigurationSet `
-Target "meg.intra"# Etkinleştirme sonrası doğrulama
Get-ADOptionalFeature -Filter {name -like “Privileged*”}
Komut çalıştıktan sonra
EnabledScopes artık boş gelmeyecek; forest’ın DN değerini içerecektir. Bu, feature’ın aktif olduğunu gösterir.Adım 3 — TTL ile Grup Üyeliği Ekleme
Artık bir kullanıcıyı zaman sınırlı olarak bir gruba ekleyebilirsiniz. Aşağıdaki örnekte aemre kullanıcısı, 30 dakika boyunca HelpDesk grubuna eklenmektedir:
# 30 dakikalık TTL değeri oluştur
$ttl = New-TimeSpan -Minutes 30# Kullanıcıyı gruba geçici olarak ekle
Add-ADGroupMember -Identity ‘HelpDesk’ -Members ‘aemre’ -MemberTimeToLive $ttl
# Alternatif: 2 saat için
Add-ADGroupMember -Identity ‘NetworkAdmins’ `
-Members ‘contractor01’ `
-MemberTimeToLive (New-TimeSpan -Hours 2)
Adım 4 — TTL Değerini Sorgulama
Üyelik süresini ve kalan TTL’yi görmek için:
# Grubun üyelerini TTL değerleriyle birlikte listele
Get-ADGroup 'HelpDesk' -Properties Member -ShowMemberTimeToLive# Çıktı örneği:
# <TTL=1620>,CN=aemre,OU=Users,DC=emregul,DC=local ← süreli üye (saniye)
# CN=sadmin,OU=Admins,DC=emregul,DC=local ← kalıcı üye (TTL yok)
# Yalnızca üye DN ve TTL değerlerini görmek için
Get-ADGroup ‘HelpDesk’ -Properties Member -ShowMemberTimeToLive | Select-Object -ExpandProperty Member
Çıktıdaki TTL değeri saniye cinsindendir. 30 dakika = 1800 saniye. Komutun farklı aralıklarla yeniden çalıştırıldığında bu değerin azaldığı görülür. Süre sıfırlandığında kullanıcı otomatik olarak gruptan çıkar.
Kerberos ile Entegrasyon: Güvenliğin Gerçek Boyutu
PAM Feature’ın yalnızca “grup üyeliğini otomatik silen” bir araç olduğunu düşünmek yetersiz kalır. Asıl kritik katkısı Kerberos seviyesindedir.
Klasik yöntemde bir kullanıcı gruptan manuel olarak çıkarılsa bile aktif Kerberos bileti (TGT) süresince eski yetkileri kullanmaya devam edebilir. Varsayılan Kerberos bilet ömrü 10 saattir — yani siz kullanıcıyı gruptan çıkarsanız bile 10 saate kadar yetkili kalmaya devam edebilir.
PAM Feature bu denklemi değiştirir: TTL ile eklenen bir kullanıcının Kerberos TGT’si, grubun kalan TTL’sine göre kısıtlanır. Kullanıcının gruptaki 5 dakikalık üyeliği kaldıysa, DC yalnızca 5 dakika geçerli bir TGT üretir. Süre dolduğunda bilet yenilenmeye çalışıldığında PAC (Privilege Attribute Certificate) artık o grup üyeliğini içermez — yetki gerçekten ve anında sona erer.
Kullanıcıyı manuel çıkardığınızda eski Kerberos biletiyle saatlerce yetkili kalabilir. TTL yöntemiyle bu sorun ortadan kalkar: Süre dolduğunda Kerberos bileti de geçersiz hale gelir.
Kullanım Senaryoları
Danışman / Dış Kaynak ErişimiProje süresiyle sınırlı yetki. Proje bittiğinde ya da gün sonunda üyelik otomatik düşer.
Help Desk EskalasyonuL1 destek ekibinin belirli sistemlere sınırlı süre erişmesi gerektiğinde bilinçli yetki yükseltme.
Değişiklik Yönetimi (Change Window)Maintenance window süresince yetki ver, pencere kapanınca yetki otomatik sona ersin.
Compliance Gereksinimleri“Minimum yetki / minimum süre” ilkesini denetim izine yansıt; periyodik gözden geçirme yükünü azalt.
Güvenlik Testi / PentestTest ekibine belirli kaynaklara sınırlı süre erişim ver; test bitince otomatik geri al.
Vardiya Bazlı YetkilendirmeGece vardiyası personeline yalnızca vardiya süresi boyunca yönetici erişimi tanımla.
Bilinen Kısıtlar ve Dikkat Edilmesi Gerekenler
GUI Desteği Yok
Active Directory Users and Computers (ADUC) konsolu TTL bilgisini göstermez. Bir üyeliğin süreli mi yoksa kalıcı mı olduğunu yalnızca PowerShell ile sorgulayabilirsiniz. Bu, operasyonel farkındalık açısından önemli bir boşluktur; izleme scriptleri ile kapatılmalıdır.
Yüksek Yetkili Gruplarda Ek Risk
Domain Admins, Enterprise Admins gibi gruplara TTL ile üye eklenmesi teknik olarak mümkündür. Ancak bu yaklaşım önerilmez: Kullanıcı geçici üyelik süresince AD’de kendine kalıcı yetkiler atayabilir. Güvenlik perspektifinden bu gruplar için TTL yerine farklı kontrol mekanizmaları tercih edilmelidir.
Bir kullanıcı Account Operators gibi korunan bir gruba TTL ile eklendikten sonra üyelik düşse de
adminCount attribute’u temizlenmeyebilir. Bu durum Exchange ActiveSync gibi servislerde sorunlara yol açar. Üyelik sona erdiğinde ADUC üzerinden hesabın adminCount değerini elle temizlemeyi unutmayın.Azure AD / Entra ID ile Senkronizasyon Sorunu
Hibrit ortamlar için kritik bir uyarı: Azure AD Connect, TTL tabanlı üyelik süresinin dolmasını bir değişiklik olayı olarak algılamaz. Bunun sebebi, TTL dolduğunda grup nesnesinin whenChanged attribute’unun güncellenmemesidir. Delta senkronizasyonu bu değişikliği yakalamaz; bu nedenle kullanıcı on-premise’de gruptan çıkılmış olsa bile Entra ID grubunda kalmaya devam edebilir.
Çözüm olarak TTL sürelerini tespit eden ve ilgili Entra ID gruplarından kullanıcıyı açıkça silen özel bir PowerShell scripti ya da Logic App akışı geliştirilmesi önerilir.
PAM Feature vs. Entra ID PIM
| Özellik | AD PAM Feature (On-Prem) | Entra ID PIM (Cloud) |
|---|---|---|
| Lisans gerekliliği | Yok (Windows Server lisansı yeterli) | Azure AD Premium P2 |
| Kerberos entegrasyonu | Var (TGT ömrü TTL’ye göre kısıtlanır) | Yok (farklı mekanizma) |
| Onay iş akışı | Yok | Var (çok aşamalı onay) |
| GUI yönetimi | Yok (yalnızca PowerShell) | Var (Azure Portal) |
| Audit & raporlama | Temel (AD event log) | Kapsamlı |
| Hybrid TTL senkronizasyonu | Sorunlu (Azure AD Connect kısıtı) | Native destekli |
| Geri alınabilirlik | Hayır (kalıcı değişiklik) | Evet |
Teknik Altyapı: Expiring Links
PAM Feature etkinleştirildiğinde DC’ler otomatik olarak iç veritabanı şemalarını genişletir. ntds.dit dosyasındaki link_table tablosuna expiration_time_col sütunu eklenir; bu sütun UTC FILETIME formatında son kullanma zaman damgasını tutar. Aynı tabloya link_expiration_time_index indeksi de eklenir.
Bu mimari, “Expiring Links” olarak da anılır ve PAM Feature’ın teknik temelidir. Süreli bağlantılar LDAP katmanında özel bir extended control (LDAP_SERVER_LINK_TTL, OID: 1.2.840.113556.1.4.2309) ile sorgulanabilir.
DC’ler arasındaki saat uyumsuzluğu TTL hesaplamalarını bozabilir. PAM Feature aktif ortamlarda NTP yapılandırması ve Domain Controller saatlerinin uyumluluğu düzenli kontrol edilmelidir.
İzleme: TTL Dolmak Üzere Olan Üyelikleri Listeleme
Operasyonel görünürlük için aşağıdaki script; bir gruptaki tüm üyeleri, TTL değerlerini ve sona erme zamanlarını çıkarır:
$GroupName = "HelpDesk"
$Members = (Get-ADGroup $GroupName -Property member -ShowMemberTimeToLive).Member
$Result = @()foreach ($m in $Members) {
if ($m -match “TTL=”) {
$ttlSec = [int]($m -replace ‘.*TTL=(\d+).*’, ‘$1’)
$expiry = (Get-Date).AddSeconds($ttlSec)
$dn = $m -replace “‘^<[^>]+>,’, ”
$Result += [PSCustomObject]@{
DN = $dn
TTL_Saniye = $ttlSec
SonaErme = $expiry
Durum = “Geçici”
}
} else {
$Result += [PSCustomObject]@{
DN = $m
TTL_Saniye = “Sınırsız”
SonaErme = “Sınırsız”
Durum = “Kalıcı”
}
}
}
$Result | Format-Table -AutoSize
Özet
Privileged Access Management Feature, Active Directory güvenliğinde önemli bir ilerlemeyi temsil eder. Kalıcı yetki atamalarının yarattığı saldırı yüzeyini azaltmak için en az yatırımla en pratik JIT modelini sunar: ek yazılım yok, ek lisans yok, sadece Windows Server 2016 Forest.
Ön Kontrol
Forest Functional Level’ı ve DC sürümlerini doğrulayın. Exchange Server varsa uyumluluk tablosunu inceleyin.
Enable-ADOptionalFeature
PAM Feature’ı etkinleştirin. Bu işlem geri alınamaz; lab testlerini tamamladıktan sonra production’a geçin.
MemberTimeToLive ile Üyelik
Add-ADGroupMember komutuna -MemberTimeToLive parametresini ekleyerek geçici üyelik oluşturun.
İzleme ve Hybrid Kontrol
TTL izleme scriptleri kurun. Hibrit ortamda Entra ID senkronizasyonunu özel çözümle destekleyin.
Bu özellik, tam kapsamlı bir Privileged Identity Management (PIM) çözümünün yerini tutmaz — özellikle onay iş akışı, çok katmanlı raporlama ve bulut yönetimi gerektiren ortamlar için Entra ID PIM değerlendirilebilir. Ancak saf on-premise ortamlarda veya bütçe kısıtlı senaryolarda PAM Feature, minimum maliyetle maksimum güvenlik kazanımı sağlar.
Faydalı olması dileğiyle…
Aşağıdaki linkler de ilginizi çekebilir.







