用途
PowerShell Security Hardening 是一个专注于 Windows 安全加固与 PowerShell 安全配置的技能。它提供以下方面的专业能力:保护自动化脚本、实施 Just Enough Administration(JEA)、落实最小权限原则,以及对齐企业安全基线。
适用场景
在以下情况应调用该技能:
- 加固 PowerShell 环境
- 实施 JEA 或受限语言模式
- 配置 PowerShell 日志
- 保护自动化凭据
- 应用安全基线
在以下情况不应调用该技能:
- 常规 Windows 管理 → 使用 /windows-infra-admin
- PowerShell 开发 → 使用 /powershell-7-expert
- Active Directory 安全 → 使用 /ad-security-reviewer
- 网络安全 → 使用 /network-engineer
决策框架
安全需求判断路径:
- 脚本执行控制
- 基础 → 执行策略(Execution Policy)
- 严格 → AppLocker/WDAC
- 语言限制
- 受限语言模式(Constrained Language Mode)
- 权限削减
- JEA(Just Enough Administration)
- 审计
- 脚本块日志(Script Block Logging)+ 转录(Transcription)
核心工作流
1. PowerShell 日志设置
- 通过 GPO 启用脚本块日志
- 为关键模块启用模块日志
- 将转录配置到安全位置
- 设置受保护的事件日志转发
- 为可疑模式创建告警
- 使用示例脚本测试日志
2. JEA 配置
- 定义角色能力文件
- 指定允许的 cmdlet 与参数
- 创建会话配置
- 注册 JEA 端点
- 使用受限用户账户测试
- 记录角色分配
3. 受限语言模式
- 评估应用程序需求
- 创建 AppLocker/WDAC 策略
- 为不受信任的脚本启用 CLM
- 将所需脚本加入白名单
- 测试应用程序功能
- 监控绕过尝试
最佳实践
- 在所有系统上启用脚本块日志
- 使用 JEA 而非完整管理员权限
- 将凭据存储在安全保管库中(而非脚本中)
- 应用 AMSI 进行恶意软件检测
- 使用 AllSigned 策略的已签名脚本
- 定期审计 PowerShell 使用日志
反模式
| 反模式 | 问题 | 正确做法 |
|---|---|---|
| 脚本中存放凭据 | 暴露风险 | SecretManagement 保管库 |
| 禁用日志 | 无可见性 | 启用所有日志 |
| 绕过执行策略 | 安全表演 | AppLocker/WDAC |
| 自动化使用完整管理员权限 | 权限过高 | 使用最小权限的 JEA |
| 忽略 AMSI | 恶意软件盲区 | 保持 AMSI 启用 |
限制
资料未提供该技能的具体安装命令、收费方式、支持平台版本或效果数据,这些信息暂未提供。