PowerShell betik güvenliği hakkında daha fazla bilgi edinin

Uygulama hedefi: Configuration Manager (güncel dalı)

Ortamlarında önerilen PowerShell ve PowerShell parametresi kullanımını doğrulamak yöneticinin sorumluluğundadır. Yöneticileri PowerShell'in gücü ve olası risk yüzeyleri hakkında eğitmeye yardımcı olacak bazı yararlı kaynaklar aşağıda verilmiştir. Bu kılavuz, olası risk yüzeylerini azaltmanıza ve güvenli betiklerin kullanılmasına izin vermenize yardımcı olmak içindir.

PowerShell Betik Güvenliği

TConfiguration ManagerConfiguration Manager scripts özelliği, betikleri görsel olarak incelemenize ve onaylamanıza olanak tanır. Başka bir yönetici, kendi betiğine izin verilmesini isteyebilir. Yöneticiler, PowerShell betiklerinin gizlenmiş betikler içerebileceğini bilmelidir. Gizlenmiş bir komut dosyası kötü amaçlı olabilir ve komut dosyası onay işlemi sırasında görsel incelemeyle algılanması zor olabilir. PowerShell betiklerini görsel olarak inceleyin ve şüpheli betik sorunlarını algılamaya yardımcı olacak inceleme araçlarını kullanın. Bu araçlar PowerShell yazarının amacını her zaman belirleyemez, bu nedenle şüpheli bir betike dikkat çekebilir. Ancak araçlar, yöneticinin kötü amaçlı veya kasıtlı komut dosyası sözdizimi olup olmadığına karar vermesini gerektirir.

Öneriler

  • Aşağıda başvurulan çeşitli bağlantıları kullanarak PowerShell güvenlik kılavuzu hakkında bilgi edinin.
  • Betiklerinizi imzalayın: Betikleri güvende tutmanın bir başka yöntemi de, kullanım için içe aktarmadan önce bunların incelenmesini ve imzalanmasını sağlamaktır.
  • Gizli dizileri (parolalar gibi) PowerShell betiklerinde depolamayın ve gizli dizilerin nasıl işleneceği hakkında daha fazla bilgi edinin.

PowerShell güvenliği hakkında genel bilgiler

Bu bağlantı koleksiyonu, Configuration Manager yöneticilerine PowerShell betik güvenliği önerilerini öğrenmeleri için bir başlangıç noktası sağlamak üzere seçilmiştir.

PowerShell saldırılarına karşı savunma

Kötü amaçlı kod eklemeye karşı koruma

PowerShell - Mavi Ekip, Ayrıntılı Betik engelleme günlüğü, Korumalı Olay Günlüğü, Kötü Amaçlı Yazılımdan Koruma Tarama Arabirimi ve Güvenli Kod Oluşturma API'lerini ele alır

Kötü amaçlı yazılımdan koruma tarama arayüzü için API

PowerShell parametrelerinin güvenliği

Parametreleri geçirmek, betiklerinizde esnekliğe sahip olmanın ve kararları çalışma zamanına kadar ertelemenin bir yoludur. Aynı zamanda başka bir risk yüzeyi açar.

Aşağıdaki liste, kötü amaçlı parametreleri veya komut dosyası eklemeyi önlemek için öneriler içerir:

  • Yalnızca önceden tanımlanmış parametrelerin kullanımına izin verin.
  • İzin verilen parametreleri doğrulamak için normal ifade özelliğini kullanın.
    • Örnek: Yalnızca belirli bir değer aralığına izin veriliyorsa, yalnızca aralığı oluşturabilecek karakterleri veya değerleri denetlemek için normal bir ifade kullanın.
    • Parametreleri doğrulamak, kullanıcıların tırnak işaretleri gibi kaçış yapabilecek bazı karakterleri kullanmaya çalışmasını önlemeye yardımcı olabilir. Birden çok tırnak işareti türü olabilir, bu nedenle hangi karakterlere izin verildiğine karar verdiğinizi doğrulamak için normal ifadeler kullanmak, izin verilmeyen tüm girdileri tanımlamaya çalışmaktan genellikle daha kolaydır.
  • PowerShell Galerisi'de PowerShell modülü "ekleme avcısı"nı kullanın.
    • Yanlış pozitifler olabilir, bu nedenle bir şey şüpheli olarak işaretlendiğinde bunun gerçek bir sorun olup olmadığını belirlemek için niyeti arayın.
  • Microsoft Visual Studio, PowerShell sözdizimini denetlemeye yardımcı olabilecek bir betik çözümleyicisine sahiptir.

"DEF CON 25 - Lee Holmes - Get $pwnd: Attacking Battle Hardened Windows Server" başlıklı aşağıdaki video, güvenlik altına alabileceğiniz sorun türlerine genel bir bakış sunar (özellikle 12:20 - 17:50 arasındaki bölümler):

Çevre önerileri

Aşağıdaki liste, PowerShell yöneticileri için genel öneriler içerir:

  • PowerShell'in Windows 10 veya sonraki sürümlerde yerleşik olarak bulunan sürüm 5 veya üzeri gibi en son sürümünü dağıtın. Ayrıca, Windows Management FrameworkWindows Management Framework'i de dağıtabilirsiniz.
  • İsteğe bağlı olarak Korumalı Olay Günlüğü de dahil olmak üzere PowerShell günlüklerini etkinleştirin ve toplayın. Bu günlükleri imzalarınıza, avcılığınıza ve olay yanıtı iş akışlarınıza dahil edin.
  • Bu sistemlere kısıtlamasız yönetim erişimini ortadan kaldırmak veya azaltmak için yüksek değerli sistemlerde Tam Yeterli Yönetim uygulayın.
  • Önceden onaylanmış yönetim görevlerinin PowerShell dilinin tüm özelliklerini kullanmasına izin verirken, etkileşimli ve onaylanmamış kullanımı PowerShell dilinin sınırlı bir alt kümesiyle sınırlandırmak için Windows Defender Uygulama Denetimi ilkelerini dağıtın.
  • Virüsten koruma sağlayıcınıza, PowerShell de dahil olmak üzere Windows Betik Konakları tarafından işlenen tüm içeriğe (çalışma zamanında oluşturulan veya gizlenen içerik dahil) tam erişim vermek için Windows 10 veya üstünü dağıtın.