关于 powershell-security-hardening
面向 Windows 管理与安全团队的 PowerShell 加固技能,提供策略配置和自动化脚本保护方面的指导。重点涉及最小权限、JEA、日志审计及安全基线。
主要功能
- 01配置 PowerShell 执行与语言限制
- 02实施 Just Enough Administration
- 03启用脚本日志和审计
- 04保护自动化凭据
- 05应用 CIS/STIG 安全基线
适用场景
- 01加固企业 PowerShell 环境
- 02为运维自动化配置 JEA
- 03审计脚本执行并监控可疑活动
- 04为脚本和凭据制定安全策略
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill powershell-security-hardening安装后在 Claude Code 中输入/powershell-security-hardening确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/security_baseline.mdsigning_guide.mdscripts/configure_script_block_logging.ps1enforce_execution_policy.ps1security_hardening_wrapper.tssetup_constrained_mode.ps1sign_module.ps1详细介绍
PowerShell 安全加固
目的
提供 Windows 安全加固和 PowerShell 安全配置方面的专业知识。专注于保护自动化脚本、实施 Just Enough Administration (JEA)、强制执行最小权限原则,并与企业安全基线保持一致。
适用场景
- 配置 PowerShell 安全策略
- 实施 Constrained Language Mode
- 设置 Just Enough Administration (JEA)
- 启用 PowerShell 日志记录和审计
- 保护自动化凭据
- 应用 CIS/STIG 基线
- 防御 PowerShell 攻击
- 实施执行策略
快速入门
在以下情况下调用此技能:
- 加固 PowerShell 环境
- 实施 JEA 或受限语言模式
- 配置 PowerShell 日志记录
- 保护自动化凭据
- 应用安全基线
不要在以下情况下调用:
- 常规 Windows 管理 → 使用
/windows-infra-admin - PowerShell 开发 → 使用
/powershell-7-expert - Active Directory 安全 → 使用
/ad-security-reviewer - 网络安全 → 使用
/network-engineer
决策框架
Security Requirement?
├── Script Execution Control
│ ├── Basic → Execution Policy
│ └── Strict → AppLocker/WDAC
├── Language Restriction
│ └── Constrained Language Mode
├── Privilege Reduction
│ └── JEA (Just Enough Administration)
└── Auditing
└── 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 启用 |
评论
支持 Markdown