mcpField
P
powershell-security-hardening

powershell-security-hardening

github.com/404kidwiz安全88 次安装
代码仓库

关于 powershell-security-hardening

面向 Windows 管理与安全团队的 PowerShell 加固技能,提供策略配置和自动化脚本保护方面的指导。重点涉及最小权限、JEA、日志审计及安全基线。

主要功能

  1. 01配置 PowerShell 执行与语言限制
  2. 02实施 Just Enough Administration
  3. 03启用脚本日志和审计
  4. 04保护自动化凭据
  5. 05应用 CIS/STIG 安全基线

适用场景

  1. 01加固企业 PowerShell 环境
  2. 02为运维自动化配置 JEA
  3. 03审计脚本执行并监控可疑活动
  4. 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.md
signing_guide.md
scripts/
configure_script_block_logging.ps1
enforce_execution_policy.ps1
security_hardening_wrapper.ts
setup_constrained_mode.ps1
sign_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 日志记录设置
  1. 通过 GPO 启用脚本块日志记录
  2. 为关键模块启用模块日志记录
  3. 将转录配置到安全位置
  4. 设置受保护的事件日志转发
  5. 针对可疑模式创建警报
  6. 使用示例脚本测试日志记录
2. JEA 配置
  1. 定义角色功能文件
  2. 指定允许的 cmdlet 和参数
  3. 创建会话配置
  4. 注册 JEA 终结点
  5. 使用受限用户账户进行测试
  6. 记录角色分配
3. 受限语言模式
  1. 评估应用程序需求
  2. 创建 AppLocker/WDAC 策略
  3. 为不受信任的脚本启用 CLM
  4. 将所需脚本加入允许列表
  5. 测试应用程序功能
  6. 监控绕过尝试

最佳实践

  • 在所有系统上启用脚本块日志记录
  • 使用 JEA 代替完整的管理员权限
  • 将凭据存储在安全保管库中(而非脚本中)
  • 使用 AMSI 检测恶意软件
  • 使用 AllSigned 策略执行签名脚本
  • 定期审计 PowerShell 使用日志

反模式

反模式问题正确做法
在脚本中存放凭据存在泄露风险使用 SecretManagement 保管库
禁用日志记录缺乏可见性启用所有日志记录
绕过执行策略形同虚设的安全措施使用 AppLocker/WDAC
自动化使用完整管理员权限权限过高使用仅授予最小权限的 JEA
忽略 AMSI无法发现恶意软件保持 AMSI 启用

评论

支持 Markdown