مراجعة Windows PowerShell وAppLocker
على الرغم من أن نهج تنفيذ البرنامج النصي لـ Windows PowerShell يوفر شبكة أمان للمستخدمين قليلي الخبرة، فإنه ليس مرناً للغاية. عند تعيين نهج تنفيذ، يمكنك فقط التحقق من أن البرنامج النصي قد تم تنزيله وأنه موقّع.
ويتمثل أحد البدائل الأخرى للتحكم في استخدام البرامج النصية لـ Windows PowerShell في AppLocker. يمكنك باستخدام AppLocker تعيين قيود مختلفة تحد من تشغيل برامج نصية أو برامج نصية معينة في مواقع معينة. علاوة على ذلك، على عكس نهج التنفيذ AllSigned، بإمكان AppLocker السماح بالبرامج النصية التي وقعها فقط ناشرين محددين.
في Windows PowerShell 5.0، تمت إضافة مستوى جديد من الأمان لاستخدام AppLocker لتأمين البرامج النصية. إذا تم إيقاف برنامج نصي عند مطالبة تفاعلية لغرض ما مثل تصحيح الأخطاء، يمكن أيضاً تقييد الأوامر التي تم إدخالها في المطالبة التفاعلية. عند الكشف عن نهج AppLocker في الوضع Allow، تقتصر المطالبات التفاعلية عند تشغيل البرامج النصية على الوضع ConstrainedLanguage.
يسمح الوضع ConstrainedLanguage بكافة وظائف Windows PowerShell الأساسية، مثل إنشاءات البرمجة النصية. كما يسمح بتحميل الوحدات المضمنة في Windows. ومع ذلك، فإنه يحد من الوصول إلى تشغيل التعليمات البرمجية العشوائية والوصول إلى عناصر Microsoft.NET. يحظر الوضع ConstrainedLanguage أحد خطوط المتجهة التي يمكن للمهاجم استخدامها لتشغيل التعليمات البرمجية غير المصرح بها.
قراءة إضافية: للحصول على مزيد من المعلومات حول الوضع ConstrainedLanguage، اطلع على "about_Language_Modes" في تعليمات Windows PowerShell أو About Language Modes.