Aracılığıyla paylaş


Windows Defender Uygulama Denetimini Kullanma

Windows 10, uygulamaları denetlemek için kullanabileceğiniz Windows Defender Uygulama Denetimi (WDAC) ve AppLocker olmak üzere iki teknoloji içerir. PowerShell ortamınızın güvenliğini sağlamaya yardımcı olmak için bir kilitleme deneyimi oluşturmanıza olanak tanır

AppLocker , Yazılım Kısıtlama İlkeleri'nin uygulama denetimi özelliklerini oluşturur. AppLocker, uygulamaların benzersiz dosya kimliklerine göre çalıştırılmasına izin vermek veya reddetmek ve bu uygulamaları çalıştırmasına izin verilen kullanıcıları veya grupları belirtmek için kurallar oluşturmanıza olanak tanıyan özellikler ve uzantılar içerir.

Not

WDAC veya AppLocker arasında seçim yaparken AppLocker yerine WDAC kullanarak uygulama denetimi uygulamanızı öneririz. Microsoft, WDAC'yi sürekli geliştiriyor ve Microsoft yönetim platformları WDAC desteğini genişletiyor. AppLocker güvenlik düzeltmelerini almaya devam etse de özellik geliştirmeleri almaz.

WDAC , Windows 10 ile kullanıma sunulmuştur ve kuruluşların sürücüleri denetlemesine olanak tanır ve uygulamaların Windows cihazlarında çalışmasına izin verilir. WDAC, Microsoft Güvenlik Yanıt Merkezi (MSRC) tarafından tanımlanan hizmet verme ölçütleri kapsamında bir güvenlik özelliği olarak tasarlanmıştır.

AppLocker ve WDAC hakkında daha fazla bilgi için bkz . Windows için Uygulama Denetimleri, WDAC ve AppLocker özellik kullanılabilirliği.

WDAC ilkesi zorlama

PowerShell bir WDAC ilkesi altında çalıştığında, tanımlanan güvenlik ilkesine göre davranışını değiştirir. Bir WDAC ilkesi altında PowerShell, ilke tarafından tam dil modunda izin verilen güvenilir betikleri ve modülleri çalıştırır. Diğer tüm betikler ve betik blokları güvenilmez ve Kısıtlanmış Dil modunda çalıştırılır. Güvenilmeyen betikler Kısıtlanmış Dil modunda izin verilmeyen eylemler gerçekleştirmeye çalıştığında PowerShell hata oluşturur. Kısıtlanmış Dil modunda bir betiğin neden düzgün çalışamediğini bilmek zor olabilir.

WDAC ilkesi denetimi

PowerShell 7.4, Denetim modunda WDAC ilkelerini desteklemek için yeni bir özellik ekledi. Denetim modunda PowerShell, Kısıtlanmış Dil modunda güvenilmeyen betikleri hatasız çalıştırır, ancak bunun yerine iletileri olay günlüğüne kaydeder. Günlük iletileri, ilke Zorla modundaysa hangi kısıtlamaların uygulanacağını açıklar.

Denetim olaylarını görüntüleme

PowerShell denetim olaylarını PowerShellCore/Analytic olay günlüğüne kaydeder. Analiz günlüğünü etkinleştirmeniz gerekir. Windows Olay Görüntüleyicisi Analytic günlüğünü etkinleştirmek için PowerShellCore/Analytic günlüğüne sağ tıklayın ve Günlüğü Etkinleştir'i seçin.

İsterseniz, yükseltilmiş bir PowerShell oturumundan aşağıdaki komutu çalıştırabilirsiniz.

wevtutil.exe sl PowerShellCore/Analytic /enabled:true /quiet

Windows Olay Görüntüleyicisi olayları görüntüleyebilir veya cmdlet'ini Get-WinEvent kullanarak olayları alabilirsiniz.

Get-WinEvent -LogName PowerShellCore/Analytic -Oldest |
    Where-Object Id -eq 16387 | Format-List
TimeCreated  : 4/19/2023 10:11:07 AM
ProviderName : PowerShellCore
Id           : 16387
Message      : WDAC Audit.

    Title: Method or Property Invocation
    Message: Method or Property 'WriteLine' on type 'System.Console' invocation will not
        be allowed in ConstrainedLanguage mode.
        At C:\scripts\Test1.ps1:3 char:1
        + [System.Console]::WriteLine("pwnd!")
        + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    FullyQualifiedId: MethodOrPropertyInvocationNotAllowed

Olay iletisi, kısıtlamanın uygulanacağı betik konumunu içerir. Bu bilgiler betiğinizi WDAC ilkesi altında çalışacak şekilde değiştirmeniz gereken yeri anlamanıza yardımcı olur.

Önemli

Denetim olaylarını gözden geçirdikten sonra Analiz günlüğünü devre dışı bırakmanız gerekir. Analiz günlükleri hızla büyür ve büyük miktarda disk alanı kullanır.

PowerShell hata ayıklayıcısında denetim olaylarını görüntüleme

Değişkeni Break etkileşimli bir PowerShell oturumu için olarak ayarlarsanız $DebugPreference PowerShell, denetim olayının gerçekleştiği betikteki geçerli konumdaki komut satırı betik hata ayıklayıcısına girer. Bu, kodunuzun hatalarını ayıklamanıza ve betiğin geçerli durumunu gerçek zamanlı olarak incelemenize olanak tanır.