Najya808/Elasticsearch-Threat-Hunting-and-Observability-Labs
GitHub: Najya808/Elasticsearch-Threat-Hunting-and-Observability-Labs
一份围绕 Elasticsearch 与 Elastic Security 的动手实验课程,帮助学习者在真实场景中掌握日志采集、威胁检测与可观测性实践。
Stars: 0 | Forks: 0
# Elasticsearch-Threat-Hunting-and-Observability-Labs
动手实验课程来自 Alrazzaq 实习,专注于 Elasticsearch 部署、Elastic Security(SIEM)、Kibana 可视化、日志摄取、威胁检测以及使用日志、指标和 APM 的可观测性实践,遵循 CIS 安全最佳实践。
- [实验 01 — 安装 Elasticsearch](lab-01-installing-elasticsearch.md)
- 学习下载、安装和配置 Elasticsearch,验证服务,并了解基本的集群和网络设置。本实验为后续所有威胁狩猎和可观测性实验奠定基础。
- [实验 02 — 安装 Kibana](lab-02-installing-kibana.md)
- 安装并配置 Kibana 以连接到 Elasticsearch 实例,验证集成以实现集中化日志可视化与分析。
- [实验 03 — 基础 Elasticsearch 查询](lab-03-basic-elasticsearch-querying.md)
- 执行基础查询,包括列出索引、检索文档,并使用查询参数优化结果以进行有效的数据探索。
- [实验 04 — 加载示例日志数据](lab-04-loading-sample-log-data.md)
- 创建结构化示例日志并通过 Kibana 上传和摄取管道将其导入 Elasticsearch,验证数据解析。
- [实验 05 — 理解索引、分片和副本](lab-05-understanding-indices-shards-replicas.md)
- 创建并探索具有不同分片和副本设置的 Elasticsearch 自定义索引,分析其对性能和容错能力的影响。
- [实验 06 — Kibana Discover 基础使用](lab-06-basic-kibana-discover-usage.md)
- 学习如何导航 Kibana Discover:选择索引、应用过滤器、调整时间范围、排序数据并保存自定义搜索视图。
- [实验 07 — 创建索引模式](lab-07-creating-an-index-pattern.md)
- 在 Kibana 中创建并验证 Elasticsearch 索引模式,为可视化与仪表板准备数据。
- [实验 08 — 使用 Kibana Lens 进行基础可视化](lab-08-using-kibana-lens-for-basic-visualization.md)
- 在 Kibana Lens 中创建基础可视化,定制图表、应用时间过滤器,并保存以供仪表板集成。
- [实验 09 — 构建简单 Kibana 仪表板](lab-09-building-a-simple-kibana-dashboard.md)
- 构建一个简单的 Kibana 仪表板,添加现有的 Lens 可视化,并通过额外可视化与保存的搜索增强分析能力。
- [实验 10 — Filebeat 简介](lab-10-introduction-to-filebeat.md)
- 安装并配置文件以监控日志文件并将其转发到 Elasticsearch,确保日志持续采集用于分析与可视化。
- [实验 11 — Metricbeat 简介](lab-11-introduction-to-metricbeat.md)
- 安装并配置 Metricbeat 以收集系统指标(包括 CPU 和内存使用),并将数据发送到 Elasticsearch 以在 Kibana 中进行监控与可视化。
- [实验 12 — Packetbeat 简介](lab-12-introduction-to-packetbeat.md)
- 安装并配置 Packetbeat 以捕获网络流量,启用 DNS 或 HTTP 模块监控,并在 Elasticsearch 和 Kibana 中可视化数据。
- [实验 13 — Heartbeat 简介](lab-13-introduction-to-heartbeat.md)
- 安装并配置 Heartbeat 以使用 ICMP Ping 监控主机可用性,并在 Kibana 中可视化监控数据。
- [实验 14 — Elasticsearch 安全基础](lab-14-elasticsearch-security-basics.md)
- 学习管理用户角色和访问权限,确保通过 Kibana 对索引进行安全可控的访问。
- [实验 15 — 使用 Filebeat 添加 Syslog 数据](Lab_15_Adding_Syslog_Data_with_Filebeat.md)
- 配置文件以采集 Syslog 数据,确保正确摄取到 Elasticsearch,并在 Kibana 中可视化 Syslog 事件。
- [实验 16 — 使用 Logstash Grok 进行数据解析](Lab_16_Data_Parsing_with_Logstash_Grok.md)
- 学习配置 Logstash 的 Grok 过滤器,解析非结构化日志,并将结构化数据转发到 Elasticsearch 以在 Kibana 中可视化。
- [实验 17 — Ingest Node 管道](Lab_17_Ingest_Node_Pipelines.md)
- 学习创建 Elasticsearch 摄取管道,通过 Filebeat 或直接摄取将其分配给索引,并在 Kibana Discover 中验证转换后的数据。
- [实验 18 — 使用 ILM 进行数据保留(索引生命周期管理)](Lab_18_Data_Retention_with_ILM.md)
- 学习创建并应用 ILM 策略,管理索引生命周期阶段,并验证 Kibana 中的自动索引转换。
- [实验 19 — Elastic Security (SIEM) 应用简介](Lab_19_Intro_to_Elastic_Security_SIEM_App.md)
- 学习在 Kibana 中导航 Elastic Security (SIEM) 应用,探索 Hosts、Network 和 Timelines 视图,并使用 SIEM 功能有效分析安全数据。
- [实验 20 — Elastic Security 中的主机概览](Lab_20_Host_Overview_in_Elastic_Security.md)
- 学习导航 Elastic Security 的主机部分,分析主机活动,应用过滤器和查询,并保存查询以供将来使用。
- [实验 21 — Elastic Security 中的网络概览](Lab_21_Network_Overview_in_Elastic_Security.md)
- 使用 Packetbeat 监控入站和出站连接,在 Kibana 中按 IP 和端口过滤网络流量,并记录可疑或意外连接。
- [实验 22 — 构建调查时间线](Lab_22_Building_Timelines_for_Investigations.md)
- 学习使用开源工具创建和管理调查时间线,添加并标注事件及备注,以可视化事件序列支持取证分析。
- [实验 23 — 使用基础 KQL 查询进行威胁狩猎](Lab_23_Threat_Hunting_with_Basic_KQL_Queries.md)
- 学习使用 KQL 执行基础威胁狩猎,检测可疑的 PowerShell 活动,基于时间条件过滤日志,并导出查询以便协作。
- [实验 24 — 检测规则简介](Lab_24_Introduction_to_Detection_Rules.md)
- 学习探索并激活 Elastic Security 中的预构建检测规则,模拟可疑进程执行,并验证 SIEM 中的告警生成。
- [实验 25 — 自定义检测规则](Lab_25_Custom_Detection_Rules.md)
- 学习在 Elastic 中创建自定义检测规则,使用 EQL 检测重复的登录失败尝试,配置严重性和风险评分,设置自动邮件告警,并通过模拟身份验证失败验证告警。
- [实验 26 — Kibana 中的告警与操作](Lab_26_Alerting_and_Actions_in_Kibana.md)
- 学习在 Kibana 中创建告警,配置使用 SMTP 连接器的操作,定义触发条件,并验证关键事件的邮件通知。
- [实验 27 — Elastic Security 中的机器学习基础](Lab_27_Basics_of_Machine_Learning_in_Elastic_Security.md)
- 学习导航 Elastic Security 的机器学习功能,启用登录活动的预构建异常检测作业,监控作业执行,并分析检测到的异常以识别异常安全模式。
- [实验 28 — 可观测性概览(日志、指标、APM)](Lab_28_Observability_Overview_Logs_Metrics_APM.md)
- 学习可观测性概念,包括日志、指标和 APM;配置 Prometheus、Elasticsearch、Kibana 和 Jaeger;并使用开源工具监控系统性能。
- [实验 29 — 使用 Logs UI 的集中化日志视图](Lab_29_Centralized_Logs_View_with_Logs_UI.md)
- 学习在多台 Linux 服务器上启用并配置文件beat,将日志发送到 Elasticsearch,在 Kibana 的 Observability 部分访问并导航 Logs UI,使用 KQL 按主机和服务实时过滤日志,并高效分析集中化日志数据。
- [实验 30 — 系统可观测性的指标 UI](Lab_30_Metrics_UI_for_System_Observability.md)
- 学习导航可观测性工具中的 Metrics UI,监控 CPU、内存和磁盘使用趋势,解读性能峰值和异常,并分析每台主机的详细指标以进行系统性能故障排查。
- [实验 31 — APM 基础](Lab_31_APM_Fundamentals.md)
- 学习安装并集成 Elastic APM 代理到 Node.js 或 Python 应用中,在 Kibana 中配置 APM 服务器,生成流量以捕获事务,并通过 APM 仪表板分析响应时间、吞吐量和错误指标。
- [实验 32 — APM 中的服务地图可视化](Lab_32_Service_Map_Visualization_in_APM.md)
- 学习访问并分析 APM 中的服务地图,识别服务依赖和调用流,检查每个服务的响应时间和错误指标,并使用分布式跟踪在微服务环境中检测瓶颈。
- [实验 33 — 基础合成监控](Lab_33_Synthetic_Monitoring_Basics.md)
- 学习使用 Heartbeat 配置基于浏览器的合成监控,模拟用户旅程,在 Kibana Uptime 中分析监控结果,识别故障和延迟问题,并评估历史性能趋势。
- [实验 34 — 使用分布式跟踪进行追踪](Lab_34_Tracing_with_Distributed_Traces.md)
- 学习使用 OpenTelemetry 实现分布式跟踪,对接微服务,触发端到端事务,在 Jaeger 中可视化跟踪,并分析延迟和服务依赖以识别瓶颈。
- [实验 35 — 创建用于威胁狩猎的自定义可视化](Lab_35_Creating_Custom_Visualizations_for_Threat_Hunting.md)
- 学习创建用于威胁狩猎的 Kibana 自定义可视化,按用户或源 IP 过滤和分析安全事件,在短时间间隔内监控高频活动,并将可视化组织仪表板中以进行持续监控。
- [实验 36 — 字段映射与 ECS(Elastic Common Schema)](Lab_36_Field_Mappings_and_ECS.md)
- 学习将自定义日志字段映射到 ECS 等价项,创建 Elasticsearch 摄取管道,并验证 Kibana Security 和 Observability 应用中的字段映射,以改进日志管理和分析。
- [实验 37 — 创建自定义 ECS 管道](Lab_37_Creating_Custom_ECS_Pipeline.md)
- 学习创建自定义 ECS 摄取管道,将其应用于 Filebeat 或 Logstash,并验证 Kibana Discover 和 Security 应用中的 ECS 字段(如 client.ip 和 user.id),以标准化日志数据用于可观测性和安全分析。
- [实验 38 — Kibana Canvas 用于报告](Lab_38_Kibana_Canvas_for_Reporting.md)
- 学习导航 Kibana Canvas,添加并配置来自 Elasticsearch 索引的数据源,使用文本、形状和图表创建交互式报告,并设计用于安全或可观测性监控的动态仪表板。
- [实验 39 — 历史威胁分析](Lab_39_Historical_Threat_Analysis.md)
- 学习在 Kibana 中分析历史事件日志,识别通过进程创建和网络连接事件的可疑活动,创建威胁时间线,并保存搜索以供持续监控和调查。
- [实验 40 — 导出与共享仪表板](Lab_40_Exporting_Sharing_Dashboards.md)
- 学习将仪表板导出为 PDF 和 CSV,生成可共享链接,应用只读权限,并验证访问权限以确保安全分发。
- [实验 41 — 随时间的趋势分析](Lab_41_Trend_Analysis_Over_Time.md)
- 学习在 Kibana 中创建时间序列可视化,分析日/夜时段的数据趋势,记录峰值和谷值,并将结果导出为报告以与利益相关者共享。
- [实验 42 — 使用 Watcher 进行基础告警(OSS 基础版)](Lab_Watcher_Basic_Alerting.md)
- 学习:在 Kibana Dev Tools 中配置一个 Watch 以监控关键错误,设置邮件/Webhook 动作,并通过注入示例日志数据测试告警。
- [实验 44 — Kibana 中的索引模式与字段自定义](Lab_44_Index_Patterns_Field_Customization.md)
- 学习格式化数值字段以提高可读性,创建脚本字段以合并 `firstName` 和 `lastName`,并在 Discover 和可视化中验证更改。
- [实验 45 — 基础 GeoIP 威胁狩猎](Lab_45_Simple_GeoIP_Threat_Hunting.md)
- 学习使用 GeoIP 数据丰富 IP 日志,在坐标地图上可视化登录尝试,并使用 Kibana 和 Logstash 检测来自异常区域的异常活动。
- [实验 46 — 基础 EQL(事件查询语言)使用](Lab_46_Basic_EQL_Usage.md)
- 学习如何构建并运行简单的 EQL 顺序查询,使用额外条件优化查询,并分析事件日志以获取潜在的安全洞察。
- [实验 47 — 维护 Elasticsearch 性能](Lab_47_Maintaining_Elasticsearch_Performance.md)
- 学习如何监控 Elasticsearch 集群健康,评估资源使用情况(磁盘、内存、CPU),并实施 ILM 和索引轮换以高效管理大型数据集。
- [实验 48 — 处理高容量日志](Lab_48_Handling_Large_Log_Volumes.md)
- 学习如何通过创建 Elasticsearch 数据流、定义轮换条件来管理高容量日志数据,并验证高效的数据索引以实现可扩展的日志管理。
- [实验 50 — 最终可观测性与威胁狩猎仪表板](Lab_50_Final_Observability_Dashboard.md)
- 学习如何集成 Filebeat、Metricbeat、Packetbeat、ELK Stack 和 Kibana,以创建统一的 SOC 仪表板。该仪表板提供“单一视图”,用于可观测性、威胁狩猎和实时监控系统指标、网络流量和安全告警。
标签:AMSI绕过, API集成, APM, CIS最佳实践, Elasticsearch, Elasticsearch Deployment, Elastic Security, Index Pattern, Ingest Pipeline, Kibana Discover, Log Analysis, Observability, Security Monitoring, 内容过滤, 分片副本, 动手实验, 可观测性, 威胁检测, 安全最佳实践, 实习实践, 指标监控, 日志可视化, 日志摄入, 日志解析, 索引管理, 网络配置, 自定义请求头, 证书伪造, 越狱测试, 速率限制, 集群部署