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许可证, 内容过滤, 安全运营, 扫描框架, 流量重放, 版权保护, 管理员页面发现, 请求拦截, 越狱测试, 逆向工具