abdul-haseeb0/ELK-Stack-Homelab
GitHub: abdul-haseeb0/ELK-Stack-Homelab
一个基于 ELK Stack 的集中式日志收集与安全监控家庭实验室,附带完整部署文档、配置和架构图。
Stars: 0 | Forks: 0
# ELK Stack 家庭实验室
    
## 概述 本仓库记录了我的**受生产环境启发的 ELK Stack 家庭实验室**,旨在使用 Elastic Stack 模拟一个集中的日志和监控环境。 日志通过 **Filebeat** 和 **Winlogbeat** 从 Linux 和 Windows 系统中收集,经过 **Logstash** 处理,在 **Elasticsearch** 中建立索引,并在 **Kibana** 中进行可视化,以实现集中监控和分析。 本仓库包含部署文档、配置文件、架构图、故障排除指南和示例日志数据,为 SIEM 操作和日志管理提供了实践基础。 本项目演示了以下内容的安装、配置和集成: - Elasticsearch - Kibana - Logstash - Filebeat - Winlogbeat 以及架构文档、配置文件、故障排除指南和示例日志数据。 ## 主要目标 - 部署受生产环境启发的 ELK Stack 环境 - 集中来自 Linux 和 Windows 端点的日志 - 配置 Filebeat 和 Winlogbeat 进行日志传输 - 使用 Logstash 处理和丰富事件 - 在 Elasticsearch 中存储和搜索日志 - 构建 Kibana dashboard 进行可视化 - 了解 SIEM 工作流程和日志分析 - 培养实际的故障排除技能 - 记录完整的部署过程 # 架构 ``` CENTRALIZED LOGGING PIPELINE Linux Server Windows Host +----------------+ +------------------+ | System Logs | | Event Logs | | Authentication | | Security Logs | | Application | | System Logs | +--------+-------+ +---------+--------+ | | | | +--------v-------+ +--------v---------+ | Filebeat | | Winlogbeat | +--------+-------+ +--------+---------+ | | | | +--------------+---------------+ | | +----------v----------+ | Logstash | | Parsing | | Filtering | | Enrichment | +----------+----------+ | | +----------v----------+ | Elasticsearch | | Indexing & Storage | +----------+----------+ | | +----------v----------+ | Kibana | | Search | | Dashboards | | Visualization | | Monitoring | +--------------------+ ``` 此架构说明了来自多个操作系统的日志如何集中到单个监控平台中。 可编辑的 Draw.io 源文件和导出的图表位于: ``` diagrams/ ``` 架构图位于: ``` diagrams/ ``` # 仓库结构 ``` ELK-Stack-Homelab/ ├── README.md ├── docs/ │ ├── ELK-Homelab-Guide.pdf │ ├── Installation.md │ ├── Elasticsearch.md │ ├── Kibana.md │ ├── Logstash.md │ ├── Filebeat.md │ ├── Winlogbeat.md │ ├── Troubleshooting.md │ └── Screenshots/ ├── configs/ │ ├── elasticsearch.yml │ ├── kibana.yml │ ├── filebeat.yml │ ├── winlogbeat.yml │ └── logstash.conf ├── diagrams/ │ ├── architecture.drawio │ └── architecture.png └── sample-logs/ ``` # 组件 | 组件 | 用途 | |-----------|---------| | Elasticsearch | 搜索和索引引擎 | | Kibana | 可视化和 dashboard | | Logstash | 数据处理 pipeline | | Filebeat | Linux 日志转发器 | | Winlogbeat | Windows 事件日志转发器 | # 展示的技能 - Linux 管理 - Windows 管理 - Elasticsearch 配置 - Kibana 管理 - Logstash pipeline - Filebeat 部署 - Winlogbeat 配置 - YAML 配置 - 日志收集 - 集中式日志记录 - 安全监控 - SIEM 基础 - 日志分析 - 故障排除 - 文档编写 # 文档 本仓库包含涵盖以下方面的详细文档: - 安装 - 配置 - Elasticsearch - Kibana - Logstash - Filebeat - Winlogbeat - 故障排除 - 架构 - 截图 # 配置文件 包含以下示例配置文件: - elasticsearch.yml - kibana.yml - logstash.conf - filebeat.yml - winlogbeat.yml 这些文件仅供学习使用,可以针对不同的环境进行调整。 # 截图 演示安装、dashboard、日志摄取、Discover 视图和配置的截图位于: ``` docs/Screenshots/ ``` # 学习成果 通过本项目,我获得了以下方面的实践经验: - 部署 Elastic Stack - 配置 Beats - 创建 Logstash pipeline - 索引管理 - Kibana Discover - 数据视图 - 集中式日志记录 - 事件分析 - 基本 SIEM 概念 - Elastic Stack 故障排除 # 未来改进 - [ ] SSL/TLS 加密 - [ ] 用户身份验证 - [ ] 基于角色的访问控制 (RBAC) - [ ] 告警 - [ ] 检测规则 - [ ] Wazuh 集成 - [ ] Suricata 集成 - [ ] Sysmon 日志记录 - [ ] Dashboard 增强 - [ ] Docker 部署 - [ ] Elastic Agent 迁移 # 使用的技术 - Elasticsearch - Kibana - Logstash - Filebeat - Winlogbeat - Windows - Linux - YAML - Draw.io # 作者 **Abdul Haseeb** 网络安全分析师 | SOC 分析师 兴趣领域: - 蓝队 - SOC 运营 - SIEM - 威胁检测 - Linux 管理 - 安全自动化 ## 许可证 本项目基于 MIT 许可证授权。 ## 致谢 本项目作为我网络安全学习之旅的一部分而构建,旨在培养使用 Elastic Stack、集中式日志记录和 SIEM 基础知识的实践经验。标签:ELK Stack, Mutation, 内容过滤, 可视化, 越狱测试, 运维监控