Group Policy Kaldırıldığında Ayarlar Geri Döner mi?
Active Directory ortamlarında Group Policy ile yapılan bir konfigürasyonun daha sonra GPO’dan kaldırılması veya GPO’nun ilgili OU’dan unlink edilmesi durumunda, yapılan ayarın eski haline dönüp dönmeyeceği önemli bir konudur.
Her Group Policy ayarı aynı şekilde davranmaz.
Bazı policy ayarları GPO artık uygulanmadığında policy enforcement kapsamından çıkar ve eski/default davranışa döner. Bazı ayarlar ise işletim sisteminin gerçek konfigürasyonunu değiştirir ve GPO kaldırıldıktan sonra da sistem üzerinde kalır.
Bu davranışa Group Policy Tattooing denilmektedir.
Bu nedenle özellikle security hardening çalışmalarında yalnızca policy’nin nasıl uygulanacağı değil, gerektiğinde nasıl geri alınacağı da önceden planlanmalıdır.
Group Policy Ayarlarını Dört Gruba Ayırabiliriz
Group Policy ayarlarının kaldırılma davranışını aşağıdaki dört ana grupta değerlendirebiliriz.
| Tip | Açıklama |
| Policy Managed | Policy uygulanmadığında enforcement ortadan kalkar |
| Tattooing | Policy kaldırılır fakat yaptığı değişiklik sistemde kalır |
| Rollback Managed | Group Policy önceki state bilgisini kullanarak geri dönüş yapabilir |
| Conditional Cleanup | Geri dönüş özel bir seçenek ile sağlanır |
Buradaki önemli nokta şudur:
GPO’nun kaldırılması ile GPO’nun oluşturduğu sistem değişikliğinin kaldırılması aynı şey değildir.
1. Administrative Templates – ADMX Policies
Administrative Templates altında bulunan ayarların büyük bölümü registry-based policy olarak uygulanmaktadır.
Örneğin:
Computer Configuration
Policies
Administrative Templates
veya:
User Configuration
Policies
Administrative Templates
Policy Enabled veya Disabled olduğunda ADMX içerisinde tanımlanan registry value uygulanır.
Örneğin:
HKLM\Software\Policies\Microsoft\…
veya:
HKCU\Software\Policies\Microsoft\…
gibi policy alanları kullanılabilir.
Policy artık GPO tarafından tanımlanmıyorsa Group Policy bu ayarı enforcement altında tutmaz.
Ancak burada önemli bir ayrım bulunmaktadır.
Not Configured her zaman Registry Value’yu silmek anlamına gelmez
Bir Administrative Template policy’sini:
Enabled
durumundan:
Not Configured
durumuna almak:
Bu GPO artık bu policy setting’i tanımlamıyor.
anlamına gelir.
Bu işlem her policy için registry üzerinde bulunan değerin fiziksel olarak silineceği anlamına gelmez.
Gerçek davranış ADMX içerisinde tanımlanan:
enabledValue
disabledValue
delete
valueName
gibi policy semantics’e bağlıdır.
Bu nedenle özellikle Custom ADMX dosyalarında policy kaldırılmadan önce registry davranışı kontrol edilmelidir.
2. Group Policy Preferences Registry – Tattooing
Group Policy Preferences ile registry üzerinde yapılan değişiklikler klasik Group Policy tattooing örneklerinden biridir.
Örneğin:
Computer Configuration
Preferences
Windows Settings
Registry
üzerinden aşağıdaki değer oluşturulsun:
HKLM\Software\VOLSYS
EnableFeature = 1
Policy uygulandığında registry değeri oluşturulur.
Daha sonra GPO:
Unlink
edilirse veya Registry Preference item silinirse:
EnableFeature = 1
registry üzerinde kalır.
Yani:
GPP Registry
↓
Registry Value oluşturulur
↓
GPO kaldırılır
↓
Registry Value KALIR
Bu bir tattooing davranışıdır.
3. Remove This Item When It Is No Longer Applied
Group Policy Preferences içerisinde bu davranışı değiştirmek mümkündür.
Preference Item:
Properties
Common
altında:
Remove this item when it is no longer applied
seçeneği bulunmaktadır.
Bu seçenek kullanılırsa:
GPO uygulanır
↓
Preference Item oluşturulur
↓
Computer/User policy scope dışına çıkar
↓
Preference Item kaldırılır
Group Policy Preferences bunun için local history bilgisi tutar.
Computer tarafında:
C:\ProgramData\Microsoft\Group Policy\History
User tarafında:
C:\Users\<User>\AppData\Local\Microsoft\Group Policy\History
kullanılmaktadır.
Önemli
Bu seçenek policy deployment yapılmadan önce düşünülmelidir.
GPO uzun süre uygulandıktan ve tattoo oluşturduktan sonra policy’yi silip yeni bir cleanup davranışı oluşturmak, geçmişte bırakılmış bütün ayarların otomatik olarak temizleneceği anlamına gelmez.
4. GPP Registry İçin Rollback Yaparken Dikkat
Registry değişikliklerinde önemli bir diğer konu:
Value = 0
ile:
Value mevcut değil
aynı şey değildir.
Örneğin bir uygulama aşağıdaki mantığı kullanabilir:
Registry Value Yok = Product Default
Registry Value = 0 = Explicit Disabled
Registry Value = 1 = Explicit Enabled
Dolayısıyla aşağıdaki işlem her zaman doğru rollback değildir:
Policy:
EnableFeature = 1
Rollback:
EnableFeature = 0
Eğer policy uygulanmadan önce ilgili registry value mevcut değilse doğru rollback:
Delete Value
olabilir.
Bu nedenle rollback işleminde yalnızca ters değeri yazmak yerine policy öncesindeki state’in ne olduğu bilinmelidir.
5. Group Policy Preferences Diğer Ayarlar
Group Policy Preferences sadece Registry için kullanılmaz.
Örneğin:
Drive Maps
Files
Folders
Shortcuts
Scheduled Tasks
Services
Local Users and Groups
Printers
Environment Variables
INI Files
Network Shares
gibi birçok farklı configuration item bulunmaktadır.
Bu Preference item’larının yaptığı değişiklikler policy ortadan kalktığında varsayılan olarak geri alınmaz.
Örneğin GPP ile Scheduled Task oluşturulmuşsa:
GPO kaldırıldı
diye Scheduled Task otomatik olarak kaybolmak zorunda değildir.
Aynı durum:
Local Group Membership
Registry
File
Folder
Shortcut
Environment Variable
gibi Preference item’ları için de geçerlidir.
Cleanup isteniyorsa:
Remove this item when it is no longer applied
veya uygun bir:
Delete
işlemi tasarlanmalıdır.
6. Security Settings – Farklı Bir Mekanizma Kullanır
Security Settings, Administrative Templates veya Group Policy Preferences ile aynı şekilde çalışmaz.
Security Settings:
Computer Configuration
Policies
Windows Settings
Security Settings
altında bulunmaktadır.
Windows Security Configuration Engine security policy bilgilerini:
secedit.sdb
içerisinde tutmaktadır.
Bu database aynı zamanda bazı security settings için önceki configuration bilgilerinin tutulmasına ve rollback işlemine yardımcı olur.
Security setting artık uygulanmadığında iki farklı durum oluşabilir.
Previous Value mevcutsa
Policy Value
↓
Policy kaldırılır
↓
Previous Security Value
geri uygulanabilir.
Previous Value mevcut değilse
Mevcut configuration sistem üzerinde kalabilir.
Bu nedenle Security Settings kategorisini basit şekilde:
Tattoo yapar
veya:
Her zaman eski haline döner
şeklinde sınıflandırmak doğru değildir.
7. Restricted Groups
Restricted Groups:
Computer Configuration
Policies
Windows Settings
Security Settings
Restricted Groups
altında bulunmaktadır.
Örneğin:
BUILTIN\Administrators
grubu için:
Administrator
DOMAIN\Domain Admins
DOMAIN\Server Admins
tanımlandığını düşünelim.
Restricted Groups içerisinde Members of this group kullanıldığında tanımlanan membership authoritative olarak uygulanır.
Listede bulunmayan üyeler çıkarılabilir, eksik üyeler eklenebilir.
Örneğin başlangıçta:
Administrators
Administrator
DOMAIN\Domain Admins
DOMAIN\Helpdesk
User01
bulunuyorsa ve Restricted Groups:
Administrator
DOMAIN\Domain Admins
DOMAIN\ServerAdmins
şeklinde tanımlanmışsa resultant membership:
Administrator
DOMAIN\Domain Admins
DOMAIN\ServerAdmins
haline gelebilir.
Restricted Groups, Security Settings altyapısını kullandığı için security configuration rollback davranışına tabidir.
Bu nedenle:
Restricted Groups kaldırılır
→ Son membership kesin olarak kalır
şeklinde genel bir kural doğru değildir.
Aynı şekilde:
Restricted Groups kaldırılır
→ Eski üyelik kesin olarak döner
şeklinde de değerlendirilmemelidir.
Security Configuration Engine içerisinde previous state bulunuyorsa önceki configuration geri uygulanabilir.
Bu nedenle özellikle Administrators, Remote Desktop Users veya diğer kritik local group membership değişikliklerinde deployment öncesi mevcut üyeliğin export edilmesi önerilir.
Örneğin:
Get-LocalGroupMember -Group Administrators
veya:
net localgroup administrators
ile mevcut state kayıt altına alınabilir.
8. GPP Local Users and Groups ile Restricted Groups Aynı Değildir
Bu iki teknoloji sıkça karıştırılmaktadır.
Restricted Groups
Policies
Windows Settings
Security Settings
Restricted Groups
Security Configuration Engine tarafından uygulanır.
Local Users and Groups Preference
Preferences
Control Panel Settings
Local Users and Groups
Group Policy Preferences tarafından uygulanır.
GPP Local Users and Groups ile yapılan membership değişiklikleri:
GPO kaldırıldığında
varsayılan olarak geri alınmaz.
Yani iki yapı aynı local group üzerinde değişiklik yapabilmesine rağmen lifecycle davranışları aynı değildir.
9. User Rights Assignment
User Rights Assignment:
Security Settings
Local Policies
User Rights Assignment
altında bulunmaktadır.
Örneğin:
Log on as a service
Log on locally
Deny log on locally
Access this computer from the network
Debug programs
Back up files and directories
gibi haklar burada yönetilir.
Security Configuration Engine tarafından uygulandığı için previous security state mevcutsa policy kaldırıldığında rollback yapılabilir.
Previous state yoksa mevcut değer sistem üzerinde kalabilir.
Dolayısıyla User Rights Assignment için:
Kesin Tattoo
veya:
Kesin Rollback
şeklinde tek bir sınıflandırma kullanılmamalıdır.
10. Security Options
Security Options da aynı security configuration modelini kullanmaktadır.
Örneğin:
Security Settings
Local Policies
Security Options
altındaki ayarlar:
Network Security
Interactive Logon
Microsoft Network Client
Microsoft Network Server
Accounts
Devices
Domain Member
gibi birçok Windows security setting içerir.
Security Configuration Engine tarafından yönetildiğinden previous state bilgisi mevcutsa rollback yapılabilir.
11. File System Security – Tattooing
Security Settings altında bulunan File System policy’si farklı davranır.
Örneğin:
Security Settings
File System
üzerinden:
C:\Application
klasörüne aşağıdaki ACL uygulanmış olsun:
Administrators Full Control
SYSTEM Full Control
Users Read
ServiceAccount Modify
Daha sonra GPO kaldırılırsa:
ACL eski haline otomatik olarak dönmez.
Policy ile uygulanan security descriptor sistem üzerinde kalır.
Yeni bir ACL uygulanana kadar mevcut ACL devam eder.
Bu nedenle:
File System Security
tattooing yapan policy kategorisidir.
Rollback için eski ACL’nin bilinmesi gerekir.
Örneğin deployment öncesinde:
icacls C:\Application /save ACL-Backup.txt /t
kullanılabilir.
Rollback sırasında:
icacls C:\ /restore ACL-Backup.txt
gibi yöntemler değerlendirilebilir.
12. Registry Security – Tattooing
Aşağıdaki policy:
Security Settings
Registry
GPP Registry ile aynı şey değildir.
Burada registry value değil:
Registry ACL
Security Descriptor
Permissions
yönetilmektedir.
Örneğin:
HKLM\Software\Application
üzerine yeni ACL uygulanırsa GPO kaldırıldığında ACL otomatik olarak eski haline dönmez.
Yeni bir security descriptor uygulanana kadar mevcut ACL devam eder.
Dolayısıyla:
Security Settings > Registry
bir tattooing örneğidir.
13. Sertifika Dağıtımı – Public Key Policies
Group Policy üzerinden certificate dağıtımı:
Computer Configuration
Policies
Windows Settings
Security Settings
Public Key Policies
altından yapılabilir.
Örneğin:
Trusted Root Certification Authorities
Intermediate Certification Authorities
Trusted Publishers
Untrusted Certificates
Enterprise Trust
store’larına certificate dağıtılabilir.
GPO tarafından dağıtılan certificate Group Policy managed certificate store içerisinde tutulmaktadır.
Certificate ilgili GPO’dan kaldırıldığında ve başka bir kaynak tarafından dağıtılmıyorsa Group Policy refresh sonrasında certificate’ın GPO-managed presence’ı ortadan kalkar.
Bu nedenle GPO üzerinden doğrudan dağıtılan certificate:
Policy Managed
bir yapılandırmadır.
Ancak aynı certificate:
Başka bir GPO
Manual Import
Enterprise Certificate Store
MDM
Başka bir management platformu
tarafından da dağıtılıyorsa certificate store içerisinde görünmeye devam edebilir.
14. Certificate Autoenrollment
Certificate Autoenrollment ile certificate deployment aynı şey değildir.
Autoenrollment policy:
Certificate Services Client – Auto-Enrollment
üzerinden kullanıcı veya bilgisayarın CA’dan certificate almasını sağlar.
Akış:
GPO
↓
Autoenrollment
↓
Certificate Request
↓
Certification Authority
↓
Certificate Issued
↓
Local Personal Store
Policy daha sonra kaldırılırsa:
Autoenrollment policy kalkar
ancak:
Daha önce issue edilmiş certificate Personal Store’da kalır.
Yani burada policy kaldırılır fakat policy’nin oluşturduğu certificate lifecycle object otomatik olarak ortadan kalkmaz.
15. Windows Defender Firewall with Advanced Security
Firewall GPO:
Computer Configuration
Policies
Windows Settings
Security Settings
Windows Defender Firewall with Advanced Security
altında yönetilmektedir.
GPO ile oluşturulan firewall rule, Group Policy policy store’un parçasıdır.
GPO artık uygulanmadığında o GPO’ya ait firewall rule resultant policy’den çıkar.
Local firewall rule’ları ise ayrı configuration olarak devam edebilir.
Dolayısıyla:
GPO Firewall Rule
tattooing yapan bir configuration değildir.
16. Software Installation
Group Policy Software Installation için davranış policy option’a bağlıdır.
Örneğin MSI package:
Computer Configuration
Policies
Software Settings
Software Installation
üzerinden dağıtılmış olsun.
Default durumda application yüklendikten sonra GPO scope dışına çıksa bile application sistem üzerinde kalabilir.
Ancak package properties içerisinde:
Uninstall this application when it falls out of the scope of management
seçeneği aktifse computer veya user policy kapsamından çıktığında application uninstall edilir.
Dolayısıyla:
Software Installation
Conditional Cleanup kategorisindedir.
17. Folder Redirection
Folder Redirection için removal davranışı policy içerisinde tanımlanabilir.
Örneğin:
Documents
Desktop
Pictures
başka bir network path’e yönlendirilmiş olabilir.
Policy kaldırıldığında iki farklı davranış seçilebilir:
Leave the folder in the new location
veya:
Redirect the folder back to the local userprofile location
Dolayısıyla Folder Redirection:
Conditional Rollback
kategorisindedir.
18. Startup / Shutdown / Logon / Logoff Scripts
Group Policy script assignment kaldırıldığında script artık çalışmaz.
Ancak script’in sistem üzerinde yaptığı değişiklikler geri alınmaz.
Örneğin script:
Set-ItemProperty
New-LocalUser
New-Item
Set-Service
New-ScheduledTask
gibi işlemler yaptıysa GPO kaldırıldığında:
Script assignment kaldırılır
fakat:
Script’in yaptığı değişiklikler kalır.
Bu nedenle script tabanlı deployment’larda ayrıca rollback script hazırlanması gerekir.
19. BitLocker Policy
BitLocker policy kaldırıldığında BitLocker configuration enforcement ortadan kalkabilir.
Ancak:
Encrypted Volume
otomatik olarak decrypt edilmez.
Örneğin:
Policy
Require BitLocker
kaldırılırsa:
Disk şifreli kalır.
Bu, policy ile policy’nin yarattığı sonucun farklı lifecycle’a sahip olmasına iyi bir örnektir.
20. Windows LAPS
Windows LAPS policy kaldırıldığında password management policy enforcement ortadan kalkar.
Ancak daha önce oluşturulmuş ve uygulanmış local Administrator password:
Policy kaldırıldı
diye eski parolaya dönmez.
Son uygulanmış password geçerliliğini korur.
Bu da:
Policy gider
State kalır
davranışının başka bir örneğidir.
21. Custom ADMX Dosyaları
Custom ADMX dosyalarında özellikle dikkatli olunmalıdır.
Bir vendor ADMX dosyası aşağıdaki registry path’e yazabilir:
HKLM\Software\Vendor\Product
Policy’nin:
Enabled
Disabled
Not Configured
durumlarının registry üzerinde ne yaptığı tamamen ADMX içerisindeki tanıma bağlıdır.
Bu nedenle custom ADMX için:
Administrative Template olduğu için kesin geri alınır
şeklinde bir kabul yapılmamalıdır.
ADMX içerisindeki:
key=
valueName=
enabledValue
disabledValue
delete
tanımları kontrol edilmelidir.
Genel Group Policy Rollback Tablosu
| Group Policy Türü | GPO Kaldırıldığında Davranış |
| Administrative Templates | Policy enforcement kalkar; registry cleanup ADMX tanımına bağlıdır |
| GPP Registry | Değer kalır |
| GPP Registry + Remove When No Longer Applied | Item kaldırılır |
| GPP Files / Folders / Tasks / Services | Cleanup option yoksa değişiklik kalır |
| GPP Local Users and Groups | Membership değişikliği kalır |
| Restricted Groups | Security Configuration rollback mekanizmasına tabidir |
| User Rights Assignment | Previous security state mevcutsa rollback yapılabilir |
| Security Options | Previous security state mevcutsa rollback yapılabilir |
| File System ACL | ACL kalır |
| Registry ACL | ACL kalır |
| GPO Trusted Root Certificate | GPO-managed certificate kaldırılır |
| Autoenrollment Certificate | Alınmış certificate kalır |
| Windows Firewall GPO Rule | Resultant policy’den kalkar |
| Software Installation | Uninstall option’a bağlıdır |
| Folder Redirection | Removal option’a bağlıdır |
| Startup / Logon Script | Script durur, yaptığı değişiklikler kalır |
| BitLocker | Policy kalkar, encrypted volume şifreli kalır |
| Windows LAPS | Policy kalkar, son password state kalır |
| Custom ADMX | ADMX registry semantics kontrol edilmelidir |
| File System Security | Tattooing |
| Registry Security | Tattooing |
Group Policy Deployment Öncesi Rollback Planı
Özellikle security hardening GPO’larında deployment öncesinde rollback planı hazırlanmalıdır.
Örneğin aşağıdaki konfigürasyonlar değiştirilmeden önce mevcut değerler kaydedilebilir:
Registry
Local Group Membership
User Rights Assignment
Service Configuration
File ACL
Registry ACL
Firewall Rules
Certificate Store
Audit Policy
Registry backup:
reg export HKLM\Software\VOLSYS C:\Backup\VOLSYS.reg
Local Administrator membership:
Get-LocalGroupMember Administrators
User Rights:
secedit /export /cfg C:\Backup\SecurityPolicy.inf
File ACL:
icacls C:\Application /save C:\Backup\Application-ACL.txt /t
Certificate kontrolü:
Get-ChildItem Cert:\LocalMachine\Root
Firewall policy:
Get-NetFirewallRule
Audit policy:
auditpol /get /category:*
Sonuç
Group Policy ortamlarında:
GPO kaldırıldı
ifadesi:
Sistem otomatik olarak eski haline döndü
anlamına gelmez.
Doğru yaklaşım policy’nin hangi teknoloji tarafından uygulandığını belirlemektir.
Özet olarak:
Administrative Template
→ Policy semantics kontrol edilmeli
Security Settings
→ Security Configuration Engine / rollback state kontrol edilmeli
Group Policy Preferences
→ Tattooing varsayılan davranıştır
File / Registry ACL
→ Kalıcıdır
Certificate GPO Deployment
→ Policy-managed
Certificate Autoenrollment
→ Certificate kalır
Firewall GPO
→ Resultant policy’den kalkar
Scripts
→ Script kalkar, side-effect kalır
Özellikle kurumsal Active Directory ortamlarında GPO deployment dokümanının yanında rollback dokümanı da bulunmalıdır.
Bir security hardening policy’si uygulanmadan önce şu dört sorunun cevabı bilinmelidir:
1. Policy hangi Client-Side Extension tarafından uygulanıyor?
2. Ayar policy-managed mi yoksa gerçek sistem state’ini mi değiştiriyor?
3. Policy kaldırıldığında mevcut configuration otomatik olarak geri alınıyor mu?
4. Rollback için Delete, Disabled, previous value veya ayrı bir cleanup GPO gerekiyor mu?
Bu yaklaşım özellikle geniş kapsamlı Active Directory Security Hardening, NTLM/RC4 kapatma, LDAP security, SMB hardening, local administrator management ve PKI/certificate deployment projelerinde geri dönüş sırasında oluşabilecek operasyonel riskleri önemli ölçüde azaltacaktır.