27、PowerShell 安全运行指南

PowerShell 安全运行指南

1. 应用程序控制

应用程序控制解决方案可防止未经授权的应用程序运行。除了第三方应用(如 Trellix)外,Windows 10 及更高版本自带两个内置应用:Windows Defender 应用程序控制(WDAC)和 AppLocker。它们可用于创建策略,强制执行允许执行的应用程序白名单,并阻止其他任何程序运行。由于 AppLocker 已停止开发,因此推荐使用 WDAC。这些解决方案适用于企业环境,支持集中控制。目前暂未发现适用于 Linux 或 macOS 上 PowerShell 的相关解决方案。当 PowerShell 在默认 WDAC 策略下运行时,可通过语言模式功能,使受信任的模块和脚本比不受信任的脚本获得更多访问权限。

2. 语言模式

语言模式用于控制在受应用程序控制策略约束的 PowerShell 环境中脚本的运行方式。需要注意的是,网上很多文章介绍使用变量设置语言模式,这仅用于测试代码在特定模式下的行为,并不安全。微软表示,使用语言模式强制执行安全策略的唯一方法是通过 WDAC 等应用程序。语言模式有以下三种:
- FullLanguage :在未运行应用程序控制策略时为默认模式。
- ConstrainedLanguage :防止创建和使用某些 .NET 类型,限制从 PowerShell 访问 C# 代码,还会限制对 ScheduledJob 等功能的访问。许多脚本在受限语言模式下无法运行,需要进行签名,并将发布机构添加到白名单中。
- NoLanguage :完全禁用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值