bvlik/hospital-security-iac

GitHub: bvlik/hospital-security-iac

通过 PowerShell 以代码形式部署加固的 Windows 11 医院工作站(含 RBAC、NTFS ACL 隔离与 shell 锁定),并配备实时 Go SOC 终端仪表板验证安全策略的落地效果。

Stars: 0 | Forks: 0

# 🏥 hospital-security-iac **部署一台经过强化的 Windows 11 医院工作站 —— 然后实时监控它。** 数据驱动的 PowerShell 负责配置 RBAC 身份,使用 NTFS ACL 隔离文件夹, 并锁定命令解释器;同时配备实时 Go SOC 仪表板,证明 每一项更改都已落实到系统中。以代码形式实现纵深防御。 [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) ![PowerShell](https://img.shields.io/badge/PowerShell-5.1+-0A1929?style=for-the-badge&logo=powershell&logoColor=12ABDB) ![Go](https://img.shields.io/badge/Go-SOC%20TUI-0A1929?style=for-the-badge&logo=go&logoColor=12ABDB) ![Windows](https://img.shields.io/badge/Windows-11-0A1929?style=for-the-badge&logo=windows11&logoColor=12ABDB) ![Approach](https://img.shields.io/badge/Approach-Infra%20as%20Code-0070AD?style=for-the-badge)
## 为什么 没有检测的预防只完成了一半的控制。本项目构建了一个小型医院工作站,按照你期望的任何敏感端点构建方式 —— **最小权限、数据隔离、强化的 shell** —— 但通过同时提供**检测**部分来保持其可靠性:一个实时 SOC 视图,将“ACL 应该阻止该操作”转变为“这是证明它已阻止的 4663 事件”。 一切都是**数据驱动**的:组、用户和文件夹都存在于 JSON 中,因此添加部门或账户只需编辑配置,而不是更改代码。 ## 包含内容 | 层级 | 技术 | 任务 | |-------|------|-----| | **IAM / 配置** | PowerShell | 直接从 JSON 读取的本地 `G_*` RBAC 组和用户账户 | | **ACL 与隔离** | PowerShell | NTFS 继承破坏、最小权限、3 个交叉权限场景 | | **强化** | PowerShell | 针对标准用户在 `cmd.exe` / `powershell.exe` 上设置显式 `Deny` | | **SOC 仪表板** | Go (tview/tcell) | 在终端 UI 中实时显示用户、组和 Windows 安全事件 | ## 交叉权限场景 任何 ACL 模型中最有趣的部分是角色重叠的地方。这里实现了三个场景: | # | 规则 | 结果 | |---|------|--------| | 1 | `G_Direction` → 对 `RH` **只读** | 管理层审计 HR 但不对其进行修改 | | 2 | `G_Medecins` → 对 `Finance` **只写** | 医生投放发票,但无法读取该文件夹 | | 3 | `G_IT` → 到处都是 **FullControl** | IT 部门维护整个树结构,无论所有者是谁 | ## 目录结构 ``` hospital-security-iac/ ├── scripts/ # Infrastructure as Code (PowerShell) │ ├── 0-Orchestrator.ps1 # → entry point (install / -ClearAll) │ ├── 1-Identity.ps1 # → RBAC groups + users (IAM) │ ├── 2-Infrastructure.ps1 # → folder tree + NTFS ACLs │ ├── 3-Hardening.ps1 # → lock down cmd / powershell │ └── Json/ # → sources of truth (data-driven) │ ├── groupes.json │ ├── utilisateurs.json │ └── structure.json ├── soc/ # Real-time SOC dashboard (Go / TUI) │ ├── main.go │ └── go.mod └── docs/ # Full technical dossier (3 parts) ``` ## 使用方法 部署整个环境(提升权限的 PowerShell): ``` cd scripts .\0-Orchestrator.ps1 ``` 全部回滚 —— 仅移除本项目创建的内容: ``` .\0-Orchestrator.ps1 -ClearAll ``` 运行 SOC 仪表板: ``` cd soc go run . ``` 该仪表板提供三个面板 —— **👤 用户**、**👥 组**、**📜 审计跟踪** —— 由异步 goroutine 刷新。在另一个窗口中触发部署,观察账户/组事件(`4720` / `4726` / `4732` / `4733`)实时流入。 ## 蓝队工具包的一部分 检测端可与工具包的其余部分完美配合: - [home-detection-lab](https://github.com/bvlik/home-detection-lab) — Sigma 规则 + MITRE ATT&CK 场景 + 可运行的检测器 - [sigma-rule-pack](https://github.com/bvlik/sigma-rule-pack) — 映射到 MITRE ATT&CK 的精选 Sigma 检测 - [log-triage-toolkit](https://github.com/bvlik/log-triage-toolkit) — 身份验证日志的只读分诊(暴力破解、枚举) ## 亮点 - ✅ 数据驱动的 RBAC、ACL 和强化 —— 整个拓扑结构都存在于 JSON 中 - ✅ 幂等、可重复运行的模块,支持完整的 `-ClearAll` 回滚 - ✅ 三个真实的交叉权限场景(只读 / 只写 / 完全控制) - ✅ 针对标准用户的命令解释器锁定 - ✅ 实时 Go SOC 仪表板证明每一项更改都已落实到系统中

bvlik 构建 —— Windows 安全与蓝队工具。

标签:AI合规, Go语言, Homebrew安装, IPv6, Libemu, PowerShell, Windows系统加固, 安全运营中心, 日志审计, 程序破解, 系统运维, 终端UI, 终端安全, 网络映射