jacobdcook/blue-team-soc-monitoring-lab

GitHub: jacobdcook/blue-team-soc-monitoring-lab

一个基于 Wazuh SIEM 的蓝队 SOC 监控实验环境,展示从 SIEM 部署、日志采集到攻击检测与告警分析的完整安全运营工作流程。

Stars: 0 | Forks: 0

# 蓝队 SOC 监控实验室 ## 项目概述 本项目展示了一个实战化的安全运营中心 (SOC) 监控环境。我部署了 **Wazuh SIEM**(安全信息和事件管理)堆栈来监控一台 Linux 主机,模拟了一场 **暴力破解认证攻击**,并分析了生成的安全警报,以理解威胁检测工作流程。 ### 关键目标 * **SIEM 部署:** 安装并配置 Wazuh manager、indexer 和 dashboard。 * **日志聚合:** 配置基于主机的监控,以采集系统认证日志 (`/var/log/auth.log`)。 * **攻击模拟:** 开发了一个 Python 脚本以生成逼真的认证失败尝试。 * **威胁分析:** 分析 SIEM 警报以识别攻击模式以及成功/失败的登录尝试。 ## 技术架构 * **SIEM 平台:** Wazuh (Manager, Indexer, Dashboard) * **监控:** 通过 Wazuh 原生安装进行主机级日志收集 * **自动化:** Python 3 (攻击模拟) * **环境:** Linux Mint (基于 Ubuntu) ## 实验执行与证据 ### 1. 基础设施设置 Wazuh 堆栈已成功部署并初始化。所有核心服务(Manager、Indexer 和 Dashboard)均运行正常且通信无误。 ![基础设施状态](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/05bbf83341152440.png) ### 2. SIEM 访问 Wazuh Dashboard 提供了一个集中式界面,用于监控整个基础设施中的安全事件。 ![Wazuh Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/43304168fc152442.png) ### 3. 攻击检测 我执行了一个自定义的 Python 脚本 (`brute_force_simulator.py`) 来模拟针对主机的暴力破解攻击。Wazuh 的规则引擎成功检测到了“多次登录失败”模式,并生成了实时安全警报。 ![安全警报](https://raw.githubusercontent.com/jacobdcook/blue-team-soc-monitoring-lab/main/screenshots/03-wazuh-brute-force-alerts.png) ## 安全分析 在模拟过程中,Wazuh 检测到了几种关键事件类型: * **Rule ID 5501:** PAM:登录会话已打开。 * **Rule ID 5502:** PAM:登录会话已关闭。 * **Rule ID 5402:** 成功执行 sudo 至 ROOT。 * **Rule ID 5712:** SSHD 暴力破解检测(由多次登录失败尝试触发)。 这展示了区分正常管理行为与潜在恶意活动的能力。 ## 可复现验证 每一项检测声明都由 `tests/test_detection_accuracy.py` 提供支持。运行 `pytest tests/ -v -s` 进行复现。 | 测试证明的内容 | 结果 | |---|---| | 242 个模拟认证风格事件(攻击 + 良性混合) | 50 个攻击事件,192 个良性事件 | | 12 种不同的检测规则模式均对真阳性触发 | SSH 暴力破解、SSH 登录失败、多次登录失败、PAM 认证失败、sudo 至 root、异常 IP 登录、重复认证失败、密码猜测、非工作时间登录、多用户 targeting、快速连续尝试、认证失败后紧接着成功 | | 调优排除项移除良性噪点而不丢弃攻击 | 移除了 79 个误报警报匹配(cron PAM 噪点、服务账户登录、预期内的 sudo、systemd 重启) | | 调优后零真阳性丢失 | 调优前触发的每个攻击事件在调优后依然触发 | | 调优后的检测精度:100% | 保留 131 个警报,全部针对攻击事件 | **19 个测试,0 个失败。** 该测试模拟了真实的 auth.log 模式 —— 即 Wazuh 规则 5402、5501、5503、5712 在生产环境中触发的相同事件类型。调优排除项反映了检测工程师或 SOC 团队在第一周警报分类后会构建的内容(抑制已知的服务账户、cron 作业和计划部署)。 ## 工具与文件 * `brute_force_simulator.py`:用于模拟认证攻击的 Python 脚本。 * `docker-compose.yml`:Wazuh 堆栈部署的 Infrastructure-as-Code。 * `setup.sh`:自动设置和证书生成脚本。 * `tests/test_detection_accuracy.py`:Pytest 工具 —— 242 个模拟事件,12 种规则模式,调优指标。 ## 学习成果 * 获得企业级 SIEM 平台的实战经验。 * 深入理解安全事件关联和基于规则的检测。 * 熟练掌握 Linux 安全日志分析和系统管理。 * 具备通过专业文档传达技术安全发现的能力。
标签:AMSI绕过, Docker容器, OISF, Python, TGT, Wazuh, 主机监控, 威胁检测, 安全实验, 安全规则引擎, 安全运营中心, 攻击面发现, 攻防演练, 无后门, 日志管理, 暴力破解模拟, 网络安全, 网络映射, 认证日志, 请求拦截, 逆向工具, 速率限制, 隐私保护