yellowlotuscg/home-soc-lab
GitHub: yellowlotuscg/home-soc-lab
一套面向中小企业的家庭SOC实验室方案,涵盖活动目录加固、组策略配置和Wazuh SIEM检测工程。
Stars: 0 | Forks: 0
# home-soc-lab
这是一个来自 [Yellow Lotus Consulting Group](https://yellowlotuscg.com) 的案例研究,展示了 Windows Active Directory 加固和 SOC 检测工程,基于一个使用合成数据(不是真实的客户环境,也没有真实用户)的家庭实验室构建。
大多数小企业在起步时架构都是扁平的。每个人都是自己设备的本地管理员,没有集中设置密码策略的地方,没有人将日志转发到任何地方,如果某个账户在周日凌晨 2 点遭到暴力破解,在出现故障之前没有人会发现。规模更大、资金更充足的组织可以通过集中式身份管理、从统一位置执行的策略以及专门监控日志的团队来解决这个问题。这些都不需要庞大的预算,只需要合理的设计。这个代码库就是这样一个设计,从端到端进行了构建和记录:一个 Active Directory 域、一个符合 CIS 标准的组策略加固基线、使攻击可见的高级审核策略,以及一个 SIEM 系统,其中包含针对关键事件触发的检测机制。
核心主线是小企业的案例。它展示了一个小团队如何能像资金充足的大团队那样高效运作。
实际的 Windows 主机运行在我自己的家庭实验室中。这个代码库是实验指南,包含了配置、脚本、检测内容和图表,其编写方式使得读者可以据此重建整个系统。
## 我破坏 / 修复 / 构建了什么(请先阅读此部分)
- **破坏:** 组织实际起步时的不安全默认状态。一个扁平的工作组或未加固的域:到处都是本地管理员权限,没有集中的密码或锁定策略,默认审核设置不记录分析师所需的事件,没有日志转发,也没有检测机制。在这种状态下,一次成功的密码喷洒攻击和随后的提权几乎不会留下任何有人监视的痕迹。
- **修复:** 使用 Active Directory 的集中式身份管理,通过组策略交付的符合 CIS 标准的加固基线(密码策略、账户锁定、攻击面减少),解锁正确 Windows 事件 ID 的高级审核策略,转发到 SIEM 的日志,以及针对暴力破解、锁定、提权、特权组更改、策略篡改和日志清理触发的检测内容。
- **构建:** 这个记录在案的实验室。包含 AD 构建脚本、组策略配置和基线、可移植的 Sigma 检测规则以及实现这些规则的 Wazuh 自定义规则、事件分类报告,以及将每个控制项映射到 NIST CSF 2.0、CIS Controls v8 和审核框架(SOX ITGC、SOC 2、ISO 27001)的合规性矩阵。
**完整报告:** [`docs/BROKE-FIXED-BUILT.md`](docs/BROKE-FIXED-BUILT.md) ·
**事件分类:** [`docs/INCIDENT-TRIAGE.md`](docs/INCIDENT-TRIAGE.md) ·
**面试准备:** [`docs/INTERVIEW-PREP.md`](docs/INTERVIEW-PREP.md)
## 为什么这很重要(优先看业务问题)
小企业和财富 500 强企业面临同样的三个需求:了解您的用户是谁,让每台设备保持已知且良好的配置,并在出现问题时能够察觉。大型组织会投入人力和工具来解决这些问题。小企业做不到,所以必须经过深思熟虑。
Active Directory 解决了第一个需求:每人一个身份,在某人离职当天有一个可以禁用其账户的地方。组策略解决了第二个需求:编写一次设置,它就会应用到范围内的所有设备上,这就是无需逐一接近设备就能管理 5000 台机器的方法。具有良好检测功能的 SIEM 解决了第三个需求:日志会自动发送给您,而警报会告诉您应该查看哪些日志。通过这种方式构建,一个只有三个人的公司能够获得审计人员期望从大公司看到的相同控制体系,而这正是关键所在。这是设计驱动的合规,而不是事后拼凑的合规。
## 实验室拓扑
```
corp.yellowlotuslab.local
│
┌──────────────────────────┼───────────────────────────┐
│ │ │
┌───────────┐ ┌───────────────┐ ┌────────────────┐
│ DC01 │ │ WS01 / WS02 │ │ SIEM01 │
│ Win Svr │ │ Windows 11 │ │ Wazuh │
│ 2022 │ │ workstation │ │ (Ubuntu) │
│ │ │ domain- │ │ │
│ AD DS │ │ joined │ │ manager + │
│ DNS │ │ │ │ indexer + │
│ GPO │◀──policy───│ Wazuh agent │ │ dashboard │
│ │ (GPO) │ │ │ │
└─────┬─────┘ └───────┬───────┘ └────────▲───────┘
│ │ │
│ Security / System / Sysmon event logs │
└──────────────────────────┴─────────────────────────────┘
agent-forwarded events (TLS 1514/tcp)
│
▼
Wazuh rules + Sigma logic
│
▼
alerts: brute force, lockout,
priv-esc, Domain Admins change,
policy change, log cleared
```
此拓扑的 mermaid 版本和完整的数据流图请见
[`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)。
## 实验室清单
| 主机 | 角色 | 操作系统 | 备注 |
|---|---|---|---|
| `DC01` | 域控制器 | Windows Server 2022 | AD DS、DNS、组策略。身份和策略核心。 |
| `WS01` | 工作站 | Windows 11 | 加入域,运行 Wazuh 代理。日常端点。 |
| `WS02` | 工作站(可选) | Windows 11 | 第二个端点,用于证明策略能大规模生效,而不仅仅是在单台设备上。 |
| `SIEM01` | SIEM | Ubuntu Server 22.04 | Wazuh 管理器、索引器和仪表板。检测层。 |
所有这些都作为虚拟机运行(Hyper-V、VMware Workstation 或 Proxmox 均可)。一个域控制器、一台工作站和 SIEM 足以构建和验证此代码库中的所有检测内容。第二台工作站是为了让“从统一位置管理多台设备”这一点变得更加具体。
## 前置条件
- 一个 Hypervisor:Hyper-V、VMware Workstation、VirtualBox 或 Proxmox。
- 大约 16 GB RAM 和 120 GB 磁盘空间,以同时运行所有四个虚拟机。如果仅运行 DC 和一台工作站,8 GB 内存就绰绰有余。
- 评估版 ISO:Windows Server 2022、Windows 11、Ubuntu Server 22.04。Windows 评估版可免费使用 180 天,这对于实验室来说完全足够。
- 仅限内部的虚拟网络,确保实验室无法触及任何真实环境。该 DC 是该网络的 DNS 服务器。
- 在 Windows 主机上以管理员身份运行 PowerShell 的基本操作能力。
## 构建顺序
完整的分步说明位于 runbook 中。简短版本如下:
1. 提升 `DC01` 并创建林(`active-directory/01-install-adds.ps1`)。
2. 构建 OU 树(`active-directory/02-ou-structure.ps1`)。
3. 创建组和用户,包括 `sally.smith`
(`active-directory/03-users-and-groups.ps1`)。
4. 将 `WS01` 加入域(`active-directory/04-join-workstation.ps1`)。
5. 通过组策略应用加固基线(`group-policy/` 中的所有内容)。
6. 搭建 `SIEM01`(Wazuh)并在 `WS01` 和 `DC01` 上注册代理。
7. 触发失败登录突发并确认检测是否触发。
每个步骤及其确切命令和需要注意的事项:
[`docs/RUNBOOK.md`](docs/RUNBOOK.md)。
## 代码库布局
```
home-soc-lab/
├── README.md
├── LICENSE
├── .gitignore
├── docs/
│ ├── BROKE-FIXED-BUILT.md the writeup: broke / fixed / built
│ ├── ARCHITECTURE.md business problem, topology, data flow, design decisions
│ ├── PLAN.md goals, what it demonstrates, roadmap
│ ├── RUNBOOK.md step-by-step build, validated end to end
│ ├── INCIDENT-TRIAGE.md a brute-force-to-priv-esc incident, triaged
│ ├── INTERVIEW-PREP.md likely questions and crisp answers
│ ├── COMPLIANCE-MATRIX.md controls mapped to NIST CSF / CIS v8 / audit frameworks
│ └── screenshots/ placeholder index of screenshots to capture
├── active-directory/
│ ├── 01-install-adds.ps1 promote the DC, create the forest
│ ├── 02-ou-structure.ps1 the OU tree + redirection
│ ├── 03-users-and-groups.ps1 groups, users (incl. Sally Smith), CSV bulk pattern
│ ├── 04-join-workstation.ps1 join a Win11 box, move it to the right OU
│ ├── users.sample.csv synthetic users for the bulk import
│ └── README.md AD design and the manage-at-scale rationale
├── group-policy/
│ ├── Set-PasswordPolicy.ps1 CIS-aligned password policy
│ ├── Set-AccountLockout.ps1 CIS-aligned lockout policy
│ ├── Set-AuditPolicy.ps1 advanced audit policy that unlocks the event IDs
│ ├── Set-ASRRules.ps1 attack surface reduction rules in block mode
│ ├── hardening-baseline.md the documented CIS-aligned settings list
│ ├── gpo-backups/README.md where Backup-GPO output and GPO reports live
│ └── README.md Group Policy design and the 5,000-machine rationale
└── detections/
├── sigma/ portable Sigma rules (vendor-neutral)
├── wazuh/ Wazuh custom rules + agent config snippet
├── DETECTIONS.md detection table: event IDs, MITRE, triage notes
└── README.md SOC layer overview, log flow, how to validate
```
## 展示了什么(映射到我的背景)
| 在此代码库中 | 源自我的背景 |
|---|---|
| Active Directory 设计、OU 结构、委派 | 11 年以上的 GRC 和与身份相关的审计工作 |
| 大规模且符合 CIS 标准的组策略加固 | 作为标准推荐建议的 CIS/NIST 加固基线 |
| 映射到 Windows 事件 ID 的高级审核策略 | 将原始日志转化为审计员所需的证据 |
| 检测即代码:Sigma 规则加上 Wazuh 实现 | SOC 工具和检测工程,版本受控 |
| 从暴力破解到提权的事件分类报告 | 事件响应和根本原因分析 |
| 控制项到框架的矩阵(NIST CSF 2.0, CIS v8, SOX/SOC 2/ISO) | SOX、PCI、FISMA 审计的主要技术联系人 |
## 截图
正在运行的实验室的实时截图位于
[`docs/screenshots/`](docs/screenshots/)。该文件夹有一个 README,确切列出了需要放入哪些捕获内容(DC 提升、OU 树、Sally Smith 用户、域加入、GPO 链接、密码策略 GPO、已连接的 SIEM 代理以及触发的失败登录警报)。图像二进制文件有意未包含在 git 中;只有占位符索引被追踪。
## 文档
- [计划与策略](docs/PLAN.md):目标、展示内容、路线图
- [我破坏 / 修复 / 构建了什么](docs/BROKE-FIXED-BUILT.md)
- [架构](docs/ARCHITECTURE.md)
- [Runbook](docs/RUNBOOK.md)
- [事件分类](docs/INCIDENT-TRIAGE.md)
- [面试准备](docs/INTERVIEW-PREP.md)
- [合规性矩阵](docs/COMPLIANCE-MATRIX.md)
标签:Active Directory, AI合规, GitHub Advanced Security, Libemu, Plaso, Sigma检测规则, Terraform 安全, Wazuh, 安全加固, 安全运营, 扫描框架