SuperAPI AI 工具集

powershell-security-hardening

安全与审计

查看项目

更新于 10-15 08:47

技能介绍

用途

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 启用

限制

资料未提供该技能的具体安装命令、收费方式、支持平台版本或效果数据,这些信息暂未提供。