Loading... # Lockdown Windows PowerShell 脚本安全加固工具技术分析 # 一、项目概述 ## 1. 项目简介 Lockdown Windows 是一个开源的 Windows 设备安全加固工具集,通过 PowerShell 脚本配置 Windows Defender、防火墙、网络设置和 Windows Defender Application Control(WDAC)等安全特性。 ## 2. 项目背景 ### A. 核心问题 Windows 系统默认配置往往偏重易用性而非安全性,存在多个潜在安全风险点: - 旧协议未禁用(SMBv1、NetBIOS) - 防火墙规则不够严格 - Windows Defender 高级功能未启用 - 应用程序执行控制缺失 ### B. 解决方案 提供模块化的 PowerShell 脚本,每个脚本专注特定安全领域,管理员可根据需求选择执行。 ## 3. 项目状态 - 开发状态:开发中(WARNING - IN DEV) - 许可:提供作为教育目的 - 风险声明:使用风险自负 # 二、系统架构 ## 1. 脚本组成 ```mermaid graph TD A[Lockdown Windows] --> B[lockdown_defender.ps1] A --> C[lockdown_firewall.ps1] A --> D[lockdown_firewall_gui.ps1] A --> E[lockdown_network.ps1] A --> F[lockdown_wdac.ps1] B --> B1[Windows Defender加固] C --> C1[防火墙策略] D --> D1[防火墙GUI配置] E --> E1[网络配置加固] F --> F1[WDAC策略] B1 --> B2[实时保护] B1 --> B3[云保护] B1 --> B4[ASR规则] B1 --> B5[受控文件夹访问] E1 --> E2[禁用旧协议] E1 --> E3[DNS配置] E1 --> E4[TCP/IP加固] ```  ## 2. 脚本功能矩阵 | 脚本名称 | 核心功能 | 安全域 | 影响范围 | |---------|---------|-------|---------| | lockdown_defender.ps1 | Windows Defender 配置 | 终端防护 | 恶意软件检测、ASR、受控文件夹 | | lockdown_firewall.ps1 | 防火墙规则配置 | 网络边界 | 入站/出站连接、日志记录 | | lockdown_firewall_gui.ps1 | 防火墙 GUI 配置 | 网络边界 | 交互式规则管理 | | lockdown_network.ps1 | 网络协议加固 | 网络安全 | 协议禁用、DNS、TCP/IP 栈 | | lockdown_wdac.ps1 | WDAC 策略实施 | 应用控制 | 应用白名单、代码完整性 | # 三、技术细节 ## 1. lockdown_defender.ps1 - Defender 加固 ### A. 核心功能 - **实时保护**:启用实时监控和行为检测 - **云保护**:启用云递送保护,获取最新威胁情报 - **自动样本提交**:配置可疑文件自动提交 - **ASR 规则**:启用攻击面减少规则 - **受控文件夹访问**:保护敏感文件夹免受勒索软件 - **网络保护**:阻止恶意网络连接 ### B. 安全价值 ```mermaid graph LR A[Defender加固] --> B[实时监控] A --> C[云保护] A --> D[ASR规则] A --> E[受控文件夹] B --> F[拦截已知威胁] C --> G[获取最新情报] D --> H[减少攻击面] E --> I[保护数据安全] ```  ### C. 潜在影响 - 可能影响合法应用的正常运行 - ASR 规则过于严格可能影响业务流程 ## 2. lockdown_firewall.ps1 - 防火墙策略 ### A. 核心配置 - 启用所有配置文件(域、专用、公用) - 默认阻止入站连接 - 配置丢包日志记录 - 仅创建必要服务规则 ### B. 安全模型 ```mermaid sequenceDiagram participant N as 外部网络 participant FW as Windows防火墙 participant S as 系统服务 N->>FW: 入站连接请求 FW->>FW: 检查规则库 alt 规则允许 FW->>S: 转发连接 else 规则拒绝/无规则 FW->>N: 丢弃+日志 end ```  ### C. 安全价值 - 实施默认拒绝策略 - 减少攻击面 - 提供审计能力 ## 3. lockdown_network.ps1 - 网络加固 ### A. 协议禁用 | 协议 | 风险 | 禁用后影响 | |------|------|----------| | SMBv1 | WannaCry 等漏洞 | 无法访问旧共享 | | NetBIOS | 信息泄露 | 旧版网络发现失效 | | LLMNR | 中间人攻击 | 名称解析依赖 DNS | ### B. DNS 加固 - 配置安全 DNS 服务器 - 启用 DNS over HTTPS(如支持) ### C. TCP/IP 栈加固 - 禁用不必要的网络服务 - 调整 TCP/IP 参数 ## 4. lockdown_wdac.ps1 - 应用控制 ### A. WDAC 工作原理 ```mermaid graph TD A[应用启动] --> B{代码完整性检查} B -->|签名验证| C{策略匹配} B -->|哈希验证| C C -->|允许| D[应用运行] C -->|拒绝| E[应用阻止] F[WDAC策略] -.-> C ```  ### B. 安全价值 - 仅允许可信软件运行 - 防止恶意软件执行 - 实施深度防御策略 # 四、部署与使用 ## 1. 系统要求 - Windows 10/11 或 Windows Server 2016+ - PowerShell 5.1 或更高版本 - 管理员权限 ## 2. 执行流程 ```mermaid graph TD A[管理员权限PowerShell] --> B[设置执行策略] B --> C[创建系统还原点] C --> D{选择脚本} D -->|终端防护| E[lockdown_defender.ps1] D -->|防火墙| F[lockdown_firewall.ps1] D -->|网络| G[lockdown_network.ps1] D -->|应用控制| H[lockdown_wdac.ps1] E --> I[测试验证] F --> I G --> I H --> I ```  ## 3. 执行前准备 ### A. 创建系统还原点 ```powershell Checkpoint-Computer -Description "Before Lockdown Scripts" -RestorePointType "MODIFY_SETTINGS" ``` ### B. 备份当前配置 - 导出防火墙规则 - 备份注册表设置 - 记录当前策略 ## 4. 执行脚本 ```powershell # 设置执行策略 Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process # 运行脚本 .\lockdown_defender.ps1 .\lockdown_firewall.ps1 .\lockdown_network.ps1 .\lockdown_wdac.ps1 ``` # 五、风险评估 ## 1. 潜在风险 | 风险类型 | 描述 | 缓解措施 | |---------|------|---------| | 应用兼容性 | 安全加固可能破坏应用功能 | 测试环境验证 | | 网络连通性 | 防火墙规则可能阻断合法连接 | 逐步实施,记录变更 | | 系统稳定性 | WDAC 策略可能阻止系统工具 | 建立例外列表 | | 回滚困难 | 手动还原配置复杂 | 系统还原点 | ## 2. 适用场景 - **推荐**:隔离环境、高安全需求系统 - **谨慎**:生产环境(需充分测试) - **不推荐**:开发环境(可能影响开发工具) # 六、最佳实践 ## 1. 实施建议 - 在实验室环境充分测试 - 创建系统还原点 - 逐步实施,每次一个领域 - 记录所有变更 - 准备回滚计划 ## 2. 监控与验证 - 检查事件日志 - 验证关键功能正常 - 测试应用兼容性 - 审查防火墙日志 ## 3. 持续维护 - 定期更新 WDAC 策略 - 审查防火墙规则 - 更新 Defender ASR 规则 - 监控安全事件 # 七、技术分析 ## 1. 优势 - **模块化设计**:每个脚本专注单一领域 - **PowerShell 原生**:无需额外依赖 - **自动化**:可集成到部署流程 - **开源**:可审计和定制 ## 2. 局限性 - **开发状态**:项目仍在开发中 - **文档有限**:详细配置说明不足 - **风险自担**:无官方支持 - **Windows 特定**:不适用于其他平台 ## 3. 改进建议 - 添加配置文件支持 - 提供回滚脚本 - 增加详细的配置说明 - 提供配置验证工具 # 八、参考资源 - Microsoft Windows 安全基线 - Windows Defender Application Control 文档 - Windows Firewall 高级安全配置 - PowerShell 安全最佳实践 *** ## 参考资料 1. [GitHub - mr-r3b00t/lockdown_windows](https://github.com/mr-r3b00t/lockdown_windows) 最后修改:2026 年 02 月 02 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏