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

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

Önerilen PowerShell ve PowerShell parametresi kullanımını kendi ortamlarında doğrulamak yöneticinin sorumluluğundadır. Yöneticileri PowerShell'in gücü ve olası risk yüzeyleri hakkında eğitmene yardımcı olacak bazı yararlı kaynaklar aşağıdadır. Bu kılavuz, olası risk yüzeylerini azaltmanıza ve güvenli betiklerin kullanılmasına izin vermenizi sağlar.

PowerShell Betik Güvenliği

Configuration Manager betikleri özelliği betikleri görsel olarak gözden geçirmenize ve onaylamanıza olanak tanır. Başka bir yönetici betiğine izin vermelerini isteyebilir. Yöneticiler PowerShell betiklerinin karartılmış betikleri olabileceğini bilmeli. Karartılmış bir betik kötü amaçlı olabilir ve betik onay işlemi sırasında görsel inceleme ile algılanması zor olabilir. PowerShell betiklerini görsel olarak gözden geçirin ve şüpheli betik sorunlarını algılamaya yardımcı olmak için inceleme araçlarını kullanın. Bu araçlar PowerShell yazarının amacını her zaman belirleyebildiğinden şüpheli bir betikle ilgilenebilir. Ancak araçlar, kötü amaçlı veya kasıtlı bir betik söz dizimi olup olmadığını yöneticinin yargılamasını gerektirir.

Öneriler

  • Aşağıda başvuruda bulunan çeşitli bağlantıları kullanarak PowerShell güvenlik yönergelerini öğrenin.
  • Betiklerinizi imzalayın: Betikleri güvenli tutmak için bir diğer yöntem de kullanım için içeri aktarmadan önce betikleri denetletip imzalamaktır.
  • Gizli dizileri (parolalar gibi) PowerShell betiklerinde depolamayın ve gizli dizileri işleme 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üvenlik önerileri hakkında bilgi edinmeleri 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 Takım, Derin Betik bloğu 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 arabirimi için API

PowerShell parametreleri güvenliği

Parametreleri geçirme, betiklerinizle esneklik elde etmenin ve çalışma süresine kadar kararları ertelemenin bir yoludur. Ayrıca başka bir risk yüzeyi açar.

Aşağıdaki listede kötü amaçlı parametreleri veya betik eklemeyi önlemeye yönelik öneriler yer alır:

  • 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.
    • Parametrelerin doğrulanması, kullanıcıların tırnak işaretleri gibi kaçabilecek belirli karakterleri kullanmayı denemesini önlemeye yardımcı olabilir. Birden çok tırnak türü olabilir, bu nedenle izin verilen karakterleri doğrulamak için normal ifadeler kullanmak genellikle izin verilmeyen tüm girişleri tanımlamaya çalışmaktan daha kolaydır.
  • PowerShell Galerisi PowerShell modülünü "ekleme avcısı" kullanın.
    • Hatalı pozitifler olabilir, bu nedenle bir şeyin gerçek bir sorun olup olmadığını belirlemek için şüpheli olarak işaretlendiğinde amacı arayın.
  • Microsoft Visual Studio'da PowerShell söz dizimlerini denetlemeye yardımcı olabilecek bir betik çözümleyicisi vardır.

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

Ortam ö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 Framework 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ık ve olay yanıtı iş akışlarınıza ekleyin.
  • Bu sistemlere kısıtlanmamış yönetim erişimini ortadan kaldırmak veya azaltmak için yüksek değerli sistemlerde Yeterli Yönetim uygulayın.
  • PowerShell dilinin sınırlı bir alt kümesiyle etkileşimli ve onaylanmamış kullanımı sınırlandırırken, önceden onaylanmış yönetim görevlerinin PowerShell dilinin tüm özelliğini kullanmasına izin vermek 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çeriklere (çalışma zamanında oluşturulan veya gizlenmeyen içerik dahil) tam erişim vermek için Windows 10 veya üzerini dağıtın.