nicktperez/siem-home-lab
GitHub: nicktperez/siem-home-lab
基于 Elastic Stack 的可复现 SIEM 家庭实验室,用于练习安全监控中的日志接入、检测工程、告警分类与事件调查。
Stars: 0 | Forks: 0
# SIEM 家庭实验室
一个基于 Elastic Stack 构建的可复现安全监控实验室,用于练习日志接入、检测工程、告警分类和事件记录。
本项目反映了我如何通过亲身处理遥测数据、检测和分析师工作流,将 10 多年的 IT 运维经验延伸到安全运营领域。
## 实验室展示内容
- 使用 Docker Compose 部署 Elasticsearch、Logstash 和 Kibana
- 使用 Filebeat 发送主机日志
- 在 Logstash 中解析和规范化身份验证事件
- 使用 Python 生成受控的攻击遥测数据
- 通过阈值逻辑检测重复的 SSH 身份验证失败
- 将原始事件与告警索引分开以便调查
- 构建 Kibana 可视化以进行告警量和来源分析
- 针对合成的 LLM 活动测试提示词注入检测
## 架构
```
Host and synthetic logs
|
Filebeat
|
Logstash
parsing + detection
|
+-----+----------------+
| |
Raw event indices Alert indices
| |
+-------- Kibana ------+
investigation
```
## 已实现的检测
### SSH 暴力破解活动
该 pipeline 按源 IP 对失败的 SSH 登录事件进行分组。一分钟内出现五次或以上失败会在 `alerts-ssh-*` 中创建告警,而底层事件仍保留在 `syslog-*` 中以供调查。
### 提示词注入指标
一个独立的 pipeline 会接入合成的 JSON 提示事件,并标记与指令覆盖、凭据请求、机密提取和数据外泄尝试相关的模式。可疑事件将被写入 `alerts-ai-*`。
这些检测特意使用了简单的阈值和模式逻辑,因此其行为保持可理解且可测试。
## 调查案例研究
- [合成 SSH 暴力破解调查](docs/ssh-brute-force-case-study.md) 记录了检测假设、证据追踪、分析师处置和响应建议。
## 仓库布局
```
configs/
filebeat/ Log shipping configuration
logstash/pipeline/ Parsing and detection pipelines
dashboards/ Exported Kibana saved objects
scripts/ Synthetic security event generators
docker-compose.yml Local Elastic Stack deployment
```
## 运行实验室
### 前置条件
- Docker 和 Docker Compose
- Python 3
- Filebeat
- 一个本地实验室环境
### 启动 Elastic Stack
```
git clone https://github.com/nicktperez/siem-home-lab.git
cd siem-home-lab
docker compose up -d
```
在 [http://localhost:5601](http://localhost:5601) 打开 Kibana。
### 生成 SSH 测试事件
```
python3 scripts/generate_syslog.py
```
确认原始事件出现在 `syslog-*` 中,并且阈值匹配项出现在 `alerts-ssh-*` 中。
### 导入仪表板
在 Kibana 中,打开 **Stack Management > Saved Objects > Import** 并选择:
```
dashboards/ssh_bruteforce_dashboard.ndjson
```
将导入内容与相应的告警数据视图关联,并使用 `@timestamp` 作为时间字段。
## 验证工作流
1. 启动技术栈并确认所有容器健康。
2. 验证 Filebeat 能否连接到 Logstash。
3. 生成一组已知的合成事件。
4. 确认原始事件已建立索引。
5. 确认检测阈值产生了告警。
6. 针对源事件审查告警。
7. 验证仪表板是否反映了测试活动。
8. 记录意外行为并调整 pipeline。
## 路线图
- Windows Event Log 和 Sysmon 接入
- Web 服务器和防火墙遥测
- 额外的身份验证、持久化、侦察和端口扫描检测
- 威胁情报丰富化
- 已记录的事件案例研究和响应 playbook
- 综合安全概览仪表板
## 展示的技能
Elastic Stack、Filebeat、Logstash、Kibana、Docker、Python、日志分析、检测工程、告警分类、安全监控和技术文档。
## 负责任的使用
本仓库中的所有攻击数据均为合成数据,旨在用于受控的教育环境。请勿对您不拥有或未获得明确评估权限的系统运行测试活动。
\n## 许可证\n\nMIT — 详见 [许可证](LICENSE)。\n
标签:Docker Compose, Elastic Stack, MIT许可证, 内容过滤, 安全运营, 扫描框架, 流量重放, 版权保护, 管理员页面发现, 请求拦截, 越狱测试, 逆向工具