Megh089/home-siem-lab
GitHub: Megh089/home-siem-lab
在单台 Linux 主机上基于 Elastic Stack 搭建的轻量级 SIEM 实验环境,用于练习安全检测工程与攻击行为告警规则编写。
Stars: 0 | Forks: 0
# 家庭 SIEM 实验环境
一个在笔记本电脑上构建的可用 Linux SIEM。将主机遥测数据(进程执行、身份文件更改、文件完整性)接入 Elasticsearch,可通过 Kibana 进行实时查询。旨在练习检测工程——即编写规则以从日志数据中捕获攻击者行为的学科。

*上图:Kibana Discover 展示了由 Auditbeat 实时捕获的 `whoami → sudo whoami → ls /etc/shadow → sudo cat /etc/shadow` 序列。这是一种常见的入侵后行为模式,攻击者借此枚举自身权限并导出密码哈希以进行离线破解。*
## 功能说明
- 从主机收集 Linux syscall 审计事件、身份文件写入和文件完整性事件。
- 通过 Auditbeat 将其流式传输到 Elasticsearch。
- 通过 Kibana 提供实时查询和仪表板。
- 内置一组与常见攻击者技术对齐的基础审计规则。
## 架构
参见 [`docs/architecture.md`](docs/architecture.md)。
## 技术栈
| 组件 | 版本 | 角色 |
|---|---|---|
| Elasticsearch | 8.15.3 | 日志数据存储 |
| Kibana | 8.15.3 | 查询界面 + 仪表板 |
| Auditbeat | 8.15.3 | 主机日志转发器 |
| Linux auditd | kernel | Syscall + 文件审计 |
| Docker Engine | 29.6.2 | 运行 Elasticsearch + Kibana |
| 主机操作系统 | Linux Mint 22.3 (基于 Ubuntu 24.04) | 端点 |
## 复现步骤
```
git clone https://github.com/Megh089/home-siem-lab.git
cd home-siem-lab
# 启动 Elastic + Kibana
docker compose up -d
# 在主机上安装 Auditbeat(完整步骤详见 docs/setup.md)
sudo cp config/auditbeat.yml /etc/auditbeat/auditbeat.yml
sudo auditbeat setup --dashboards
sudo systemctl enable --now auditbeat
# 验证
curl -s 'http://localhost:9200/_cat/indices/auditbeat-*?v'
# 在浏览器中打开 http://localhost:5601
```
## 路线图
- [x] 第 1 周:运行 Elasticsearch + Kibana + Auditbeat,并在 Kibana 中查看主机遥测数据
- [ ] 第 2 周:使用 Atomic Red Team 验证 3 条以上的 Sigma 检测规则
- [ ] 第 3 周:构建自定义 Kibana 仪表板,用于展示告警量、Top 进程和网络异常
- [ ] 第 4 周:基于 2 周的真实端点活动进行误报测量,并撰写报告
## 局限性
这是一个实验室环境,而非生产级部署。在此如实指出:
- **单一端点。** 真正的 SIEM 会聚合数千台主机的数据。在 N=1 规模下进行检测调优无法揭示全局范围的误报模式。
- **Elasticsearch 安全功能已禁用。** 设置 `xpack.security.enabled=false` 意味着没有身份验证且没有 TLS。虽然仅绑定到 `127.0.0.1`,但任何生产环境的部署都会启用安全功能并使用证书。
- **单节点集群** → 索引状态为 yellow,而不是 green(无法配置副本)。这对实验室来说尚可;但在生产环境中会违反弹性要求。
- **模拟攻击。** 第 2 周的检测将通过 Atomic Red Team 模拟进行验证,而非真实的入侵行为。真实的攻击者行为各不相同。
- **基于主机的 Auditbeat。** 该转发器直接运行在主机上而不是 Docker 中,因为 syscall 审计需要内核访问权限。这限制了该设置的便携性。
## 作者
Megh J — 约克大学计算机安全专业学生。这是个人持续更新作品集的一部分;关于无人机安全的相关工作,请参见 [gps-spoof-detection](https://github.com/Megh089/gps-spoof-detection)。
标签:Auditbeat, Sigma规则, Web报告查看器, x64dbg, 安全运营, 扫描框架, 目标导入, 请求拦截, 越狱测试