檢閱 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 模式的詳細資訊,請參閱 Windows PowerShell 說明或關於語言模式。