MenasrChahir/Enterprise-SOC-Telemetry-Attack-Detection-Lab

GitHub: MenasrChahir/Enterprise-SOC-Telemetry-Attack-Detection-Lab

一个基于 Wazuh 和 Docker 的企业级 SOC 遥测实验室,演示从应用日志采集到威胁可视化告警的完整安全检测管道。

Stars: 0 | Forks: 0

# 企业级 SOC 遥测攻击检测实验室 本项目演示了端到端的安全遥测工程:捕获原始的应用程序事务日志,通过内嵌的 endpoint 传感器安全地进行流式传输,根据可编程的签名模式解析数据流,并在中央 SIEM 界面中可视化高严重性威胁。 ## 🎯 项目目标 本项目的核心目标是模拟现代企业环境在遭受实际网络攻击时,如何实现对分布式基础设施的可见性。 该实验室实现了四个关键的安全工程里程碑: * **遥测生成:** 配置动态的 Web 服务应用层,以生成持续的事务访问日志。 * **传感器解耦:** 将主动的 endpoint 监控 daemon 直接嵌入到目标资产中,作为基于主机的入侵检测系统 (HIDS)。 * **自动化标准化:** 将原始的非结构化日志字符串路由到中央解析引擎,以标准化数据 schema。 * **威胁分析与规则验证:** 通过将实时的攻击 payload 与严格的模式匹配签名进行比对,触发高严重性的分析警报。 ## 🏗️ 架构管道 ``` [ Threat Actor ] │ (Malicious HTTP Injection) ▼ [ Target Web Server (Apache) ] ──► [ Local Access Log File ] │ (Continuous Monitoring) ▼ [ Wazuh Agent Sensor ] │ (TLS Encrypted Stream) ▼ [ Central Wazuh Manager ] ──► [ Rule Engine Match ] │ ▼ [ Indexer Database ] │ ▼ [ Dashboard web UI ] ``` ## 💻 锁定的 Agent 镜像蓝图 (`Dockerfile`) 受监控的资产是使用自定义的镜像蓝图构建的,旨在将安全合规传感器直接嵌入到基础操作系统中。 Dockerfile FROM debian:bookworm-slim # 1. 安装生产级 Web 应用程序服务器依赖项 RUN apt-get update && apt-get install -y \ apache2 \ curl \ gnupg \ procps \ && rm -rf /var/lib/apt/lists/* # 2. 建立 SIEM 仓库频道并验证 GPG 密钥 RUN curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --dearmor -o /usr/share/keyrings/wazuh.gpg RUN echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | tee /etc/apt/sources.list.d/wazuh.list # 3. 部署 endpoint 传感器,严格锁定版本以确与管理器兼容 RUN apt-get update && apt-get install -y wazuh-agent=4.10.0-1 # 4. 自动化传感器网络路由配置,将其指向中央管理器 RUN sed -i 's/
MANAGER_IP<\/address>/
wazuh.manager<\/address>/g' /var/ossec/etc/ossec.conf EXPOSE 80 # 5. 初始化 endpoint runtime 循环与 Web daemon CMD service wazuh-agent start && apache2ctl -D FOREGROUND ⚡ 攻击模拟与遥测生命周期 1. 执行漏洞 Payload 使用针对性的 HTTP 请求模拟了恶意的 Web 向量。该 payload 执行了目录遍历攻击,尝试使用相对跟踪路径 (../) 爬出 Web 文档根目录并访问敏感的系统文件 (/etc/passwd)。 Bash curl -G "http://localhost:8080/index.html" --data-urlencode "file=../../../../etc/passwd" 2. 日志生成与解析逻辑 Apache 应用层将事务事件元数据直接写入磁盘上的 `/var/log/apache2/access.log`。后台的 wazuh-agent 立即将新的日志字符串 tokenize,通过加密的 TLS 通道将其传输给管理器,并触发了对规则 31103 的精确正则表达式查找匹配: XML 31101 \.\./\.\./\.\./\.\./etc/passwd Web 服务器规则 - 目录遍历尝试 🛠️ Linux 系统工程与故障排除的胜利 在现代 Linux 工作站上构建安全实验室引入了严格的平台限制。本项目成功克服并解决了几个核心的系统冲突: 软件包锁定解析:通过诊断 Web 仓库与集群基础版本之间的上游版本不匹配问题,克服了最初的 agent 部署失败,最终通过实施严格的软件点版本约束 (wazuh-agent=4.10.0-1) 解决了该问题。 SELinux 资源优化:解决了一个严重的桌面资源瓶颈。在此瓶颈中,Fedora 的 D-Bus 激活的 setroubleshootd daemon 在容器数据库操作期间用 GUI 警报淹没了系统。通过追踪策略循环、将目录上下文更新为 `container_file_t` 并屏蔽警报服务以恢复系统性能,完全缓解了 CPU 飙升问题。 持久化缓存管理:修复了由持久化 Docker 卷中损坏的、写了一半的配置状态文件引起的后端 API 链接瞬时崩溃,方法是编排了一个细粒度的卷清理循环 (`docker compose down -v`)。 🚀 如何运行该实验室 1. 启动核心 SIEM 技术栈 Bash cd wazuh-images/single-node docker compose up -d 2. 启动企业目标资产 Bash docker run -d \ --name enterprise-webserver \ --network single-node_default \ -p 8080:80 \ vulnerable-apache 3. 优雅地销毁实验室环境 Bash docker rm -f enterprise-webserver docker compose down
标签:CISA项目, OPA, Wazuh, 安全运营, 应用安全, 扫描框架, 版权保护, 请求拦截, 靶场