Active Directory - AppLocker Policy

 



Merhaba. 

Software Restriction Policies ve AppLocker, Active Directory yapınız üzerindeki sistemlerde programların kısıtlanması ya da izin verilmesi için kullanılan poliçelerdir. Windows 7 ve sonrası sistemler için AppLocker kullanılması önerilmektedir. Bu nedenle Software Restriction Policies'ı anlatmayacağım. 

AppLocker Policy için aşağıdaki sistemler desteklenmektedir.

AppLocker Policy, makinelere etki etmektedir. Bu nedenle policy'den etkilenmesini istediğim sistemleri Ortam > Makineler isimli Organizational Unit (OU) altına taşıyıp buraya Group Policy Object (GPO) bağlayacağım. 

Computer Configuration > Policies > Windows Settings > Security Settings > Application Control Policies > AppLocker ayarına tıklıyorum. Pencerenin sağ tarafında AppLocker policy'nin enforce olabilmesi için Application Identity servisinin çalışır durumda olmasını belirten bir uyarı ile karşılaşıyorum. İsterseniz local makinelere tek tek erişip bu servisi çalışır duruma getirebilir ya da bu işlemi de GPO'lar üzerinden gerçekleştirebilirsiniz. Ben yeni bir GPO oluşturmak yerine mevcut GPO üzerinden bu servisle ilgili ayar oluşturacağım. 
Computer Configuration > Policies > Windows Settings > Security Settings > System Services Application Identity servisinin ayarlarına girip startup mode'unu Auto'ya çekiyorum. 
Tekrar AppLocker policy'e geri dönüp AppLocker'a sağ tıklayıp özelliklerine giriyorum. Buradaki ayarları inceleyecek olursak;
Executable rules: Çalıştırılabilir exe dosyaları için kurallar oluşturmanızı sağlar. 
Windows Installer rules: Kurulum dosyaları (msi) için kurallar oluşturmanızı sağlar. 
Script rules: PowerShell, bat ve vbs dosyaları gibi çalıştırılabilir script dosyaları için kurallar oluşturmanızı sağlar. 
Packaged app rules: Kurulum gerektirmeyen fakat arşivlenmiş uygulama paketleri için kurallar oluşturmanızı sağlar. 
 
Advanced tab'ı altında ise bir kuralımız daha bulunmakta. İsterseniz dll dosyaları için de kural oluşturabilirsiniz. Dll dosyaları çeşitli uygulamalar tarafından ortak dosya olarak kullanılabilir olduğundan dolayı dll dosyalarını izlemek sistem performansını düşürebilir. Bu nedenle Advanced tab'ı içerisine konulmuştur.
Ben sadece exe dosyaları için örnek kural oluşturacağım. Enforcement tab'ındaki Executable rules başlığı altında bulunan Configured seçeneğini işaretleyip Enforce rules'u seçiyorum. İsterseniz Audit modunda ilgili yasak kuralınızı test edebilirsiniz. Ben buna gerek duymuyorum. Direkt olarak uygulama yasaklayacağım. Bu nedenle Enforce rules ile devam ediyorum. 
Sol taraftan Executable rules'a sağ tıklayıp Create Default Rules'a tıklıyorum. 
Bu işlem varsayılan olarak 3 tane kural oluşturacaktır. Bu kurallara göre c:\windows dizini altındaki her program erişilebilir olacak, c:\program files dizini altındaki her program erişilebilir olacak ve Local Administrator'ler her dizine ve dosyaya erişebilir olacaklar. 
NOT : Default Rules'u oluşturmanız son derece önemlidir. Bu kuralı oluşturmazsanız hedef bilgisayarlar sistem programlarını bile çalıştıramaz hale geleceklerdir. 
Amacınız client'ların sadece yeni programlar yüklemelerini ve çalıştırmalarını önlemekse, yapmış olduğunuz default rules sizin için yeterli olacaktır. 
Sistemlerde kurulu olan bir uygulamayı yasaklamak istiyorsanız boş bir alana sağ tıklayıp Create New Rule ile devam edebilirsiniz. 
Kuralımız Deny kuralı olacak. 
Next butonuna tıkladığınızda aşağıdaki ekranla karşılaşacaksınız. 
Publisher seçeneği ile uygulamaya dair bir çok ayarı belirleyebilirsiniz. (birazdan inceleyeceğiz.)
Path'i seçerseniz, uygulamanın sadece belirli bir dizinde çalışmamasını sağlayabilirsiniz.
File Hash seçeneği ile belirli bir exe dosyasının çalışmamasını garantileyebilirsiniz. 
Publisher seçeneği ile devam ediyorum. Next'e tıkladığımda aşağıdaki ekranla karşılaşıyorum. 
Örnek olarak notepad.exe'yi yasaklayacağım. Sol taraftaki bar'ı kullanarak istersem bu dosyanın özniteliklerine göre kısıtlamalar gerçekleştirebilirim. Örneğin, en üstte yer alan publisher ya da product name seçeneklerinden birini seçersem tüm Microsoft uygulamalarını yasaklamış olacağım (ki bu seçnekler client sistemlerin çalışamaz hale gelmelerine neden olacaklardır.) 
Ya da isterseniz file version seçeneği ile herhangi bir uygulamanın, örneğin eski versiyonlarına yasak tanımlayabilirsiniz. Ben file name seçeneği ile devam edeceğim. Böylece hangi dizinde olursa olsun client sistemler üzerinde notepad.exe isimli uygulama çalıştırılamayacaktır. 
İsterseniz kısıtlamalar için bazı ayrıcalıklar tanımlayabilirsiniz. Örneğin path belirterek "notepad.exe yasaklı olsun ama bu uygulama c:\uygulamalar\ dizini altındayken çalıştırılabilir olsun" gibi ayrıcalıklar tanımlayabilirsiniz. 
Create butonu ile kuralımı oluşturuyorum. 
Client sistemlerde gpupdate /force komutunu uyguladıktan sonra ilgili uygulama artık çalıştırılamayacak. :)