lekefilipajsys/soc-lab-blueprint
GitHub: lekefilipajsys/soc-lab-blueprint
该项目提供了一个隔离的 SOC 实验室蓝图,整合 Wazuh、Security Onion 和 ELK 用于安全监控、检测和事件响应的实操训练。
Stars: 0 | Forks: 0
# 私有 SOC 实验室蓝图

一个隔离的 SOC 实验室蓝图,用于使用 Security Onion、Wazuh 和轻量级 ELK stack 练习监控、检测、调查和响应。
此项目专为私有虚拟环境设计:homelab、教室、一次性培训网络和蓝队练习靶场。
## 你将获得
- Security Onion 虚拟机指南,用于网络可见性、警报、Hunt、案例、数据包/元数据调查以及分析师工作流。
- Wazuh 单节点 Docker 启动器,用于主机监控、文件完整性监控、漏洞/配置可见性以及主动响应实践。
- ELK Lite Docker Compose 栈,用于通过 JSON/syslog 事件接入学习 Elasticsearch、Kibana 和 Logstash。
- 针对常见实验室警报(如 SSH 暴力破解、可疑 PowerShell、文件更改和网络扫描)的响应预案。
- 适配 GitHub 的安全文档、验证脚本、忽略规则和 CI 工作流。
## 安全提示
仅在您拥有或获得明确测试许可的系统和网络上使用此项目。将仪表板和采集端口保持在仅主机、内部或其他隔离的虚拟网络中。请勿将此实验室暴露在公共互联网中。
包含的 Wazuh active-response 示例有意设定为选择性启用。在启用任何自动拦截之前,请调整并测试检测规则。
## 架构
```
flowchart LR
subgraph "Private Lab Network"
endpoints["Windows/Linux lab endpoints"]
testbox["Optional test workstation"]
wazuh["Wazuh single-node Docker stack"]
so["Security Onion VM"]
elk["ELK Lite Docker stack"]
end
endpoints -->|"Wazuh agent: 1514/tcp"| wazuh
endpoints -->|"Elastic Agent or syslog"| so
endpoints -->|"Mirrored traffic / internal SPAN"| so
testbox -->|"Synthetic tests"| endpoints
so -->|"Selected JSON events: 5514/tcp or udp"| elk
wazuh -->|"Dashboard + alerts"| analyst["Analyst browser"]
so -->|"SOC Console + Kibana"| analyst
elk -->|"Kibana lab archive"| analyst
```
## 环境要求
- 虚拟化平台,例如 VMware、VirtualBox、Hyper-V、Proxmox 或类似平台。
- 用于 Wazuh 和 ELK Lite 的 Docker 和 Docker Compose。
- 用于 Wazuh 启动器的 Git。
- 足够的 RAM 和磁盘空间以运行多个安全工具。
建议的实验室配置:
| 组件 | 实验室最低配置 | 更好的实验室配置 | 备注 |
| --- | ---: | ---: | --- |
| ELK Lite | 2 CPU, 4 GB RAM, 30 GB 磁盘 | 4 CPU, 8 GB RAM, 100 GB 磁盘 | Elasticsearch 和 Kibana 默认绑定到 localhost。 |
| Wazuh 单节点 | 4 CPU, 8 GB RAM, 50 GB 磁盘 | 4-8 CPU, 16 GB RAM, 100 GB 磁盘 | Linux/WSL2 Docker 主机需要 `vm.max_map_count=262144`。 |
| Security Onion 独立部署 | 4 CPU, 24 GB RAM, 200 GB 磁盘, 2 个网卡 | 8 CPU, 32+ GB RAM, SSD, 2+ 个网卡 | 使用一个管理网卡和一个嗅探网卡。 |
## 快速开始
克隆代码仓库,然后验证项目文件:
```
.\scripts\validate-repo.ps1
```
启动 ELK Lite 监听器:
```
cd elk-lite
Copy-Item .env.example .env
docker compose up -d
.\scripts\send-test-events.ps1
```
在 `http://localhost:5601` 打开 Kibana,并为 `soc-lab-*` 创建一个数据视图。
启动 Wazuh 单节点:
```
cd ..\wazuh
.\start-wazuh-single-node.ps1
```
打开 `https://localhost`。官方的 Wazuh Docker 栈默认使用 `admin` / `SecretPassword`。在保持实验室在线之前,请更改密码。
使用 [security-onion/VM-setup-checklist.md](security-onion/VM-setup-checklist.md) 将 Security Onion 部署为虚拟机。如果您有足够的内存,请在持久化实验室中使用 Standalone 模式。Evaluation 模式仅用于短时间的临时测试。
## 仓库结构
```
.
|-- docs/
| |-- architecture.md
| |-- github-publish-checklist.md
| |-- operations.md
| `-- response-playbooks.md
|-- elk-lite/
| |-- docker-compose.yml
| |-- logstash/
| `-- scripts/send-test-events.ps1
|-- security-onion/
| |-- VM-setup-checklist.md
| `-- custom-logstash-forwarding/
|-- wazuh/
| |-- active-response-snippets.xml
| |-- agent-install-examples.md
| |-- custom-rules/local_rules.xml
| `-- start-wazuh-single-node.ps1
|-- scripts/validate-repo.ps1
|-- CONTRIBUTING.md
|-- LICENSE
`-- SECURITY.md
```
## 检测与响应实践
从以下练习开始:
- 将模拟的 JSON 事件发送到 ELK Lite 并构建 Kibana 数据视图。
- 将 Windows 或 Linux endpoint 注册到 Wazuh 并确认主机警报。
- 添加示例 Wazuh 本地规则并触发 `SOC_LAB_TEST`。
- 使用嗅探接口部署 Security Onion,并从实验室测试工作站生成良性扫描流量。
- 完成 [docs/response-playbooks.md](docs/response-playbooks.md) 并记录每次练习的时间线。
## 学术用途
当将其定位为设计、实施和评估研究而非工具安装报告时,此项目可支持本科或硕士论文。
建议的论文题目:
```
Design, Implementation, and Evaluation of an Isolated Virtual Security Operations Center for Security Monitoring, Detection, and Incident Response Training
```
学术规划文档:
- [论文提案](docs/thesis-proposal.md):正式标题、摘要、问题陈述、研究问题、方法论、伦理、局限性和章节结构。
- [评估框架](docs/evaluation-framework.md):假设、变量、实验矩阵、指标、评分标准和结果表格。
推荐的研究贡献是一个可复现的 SOC 实验室工件,外加对检测覆盖率、警报保真度、分诊工作流和响应有用性的评估。
## GitHub 发布
在将代码仓库公开之前,请仔细检查 [docs/github-publish-checklist.md](docs/github-publish-checklist.md)。简短版本包括:
- 不要提交 `.env`、证书、数据包捕获、endpoint 日志、虚拟机导出文件或真实的事件数据。
- 运行 `.\scripts\validate-repo.ps1`。
- 在安装有 Docker 的机器上运行 `docker compose -f elk-lite\docker-compose.yml config`。
- 在一次性机器上测试一次 ELK Lite 快速入门。
## 路线图
- 使用模拟事件添加示例 Kibana 保存对象。
- 添加针对 Windows 和 Linux 实验室 endpoint 的 Wazuh 代理组示例。
- 添加针对常见新手调查的 Security Onion 案例模板。
- 添加仅使用模拟数据的屏幕截图。
- 添加可选的 Terraform 或 Vagrant 示例,以实现可重复的实验室网络。
## 厂商参考
- Wazuh Docker 部署:https://documentation.wazuh.com/current/deployment-options/docker/wazuh-container.html
- Wazuh 主动响应:https://documentation.wazuh.com/current/user-manual/capabilities/active-response/index.html
- Elastic Docker Compose 部署:https://www.elastic.co/docs/deploy-manage/deploy/self-managed/install-elasticsearch-docker-compose
- Security Onion 文档:https://securityonion.net/docs/
- Security Onion ISO 验证:https://securityonion.net/download/
## 许可证
MIT。请参阅 [LICENSE](LICENSE)。
标签:AI合规, ELK Stack, Libemu, Security Onion, Wazuh, x64dbg, 安全实验室, 安全运营, 扫描框架, 版权保护, 请求拦截