Dyddxd/Diploma_Configs

GitHub: Dyddxd/Diploma_Configs

这是一个基于Wazuh SIEM基础设施的学士论文项目,通过集成定制的ProcessTreeViewer插件到OpenSearch Dashboards,实现了对安全事件和进程树的深度可视化分析与监控。

Stars: 0 | Forks: 0

# 集成 ProcessTreeViewer 插件的 Wazuh SIEM 基础设施 ## 概述 本仓库包含部署在 **Yandex Cloud** 上基于 Wazuh 的 SIEM 系统的基础设施配置、部署脚本和测试套件。该设置由一个中央 Wazuh 服务器和两个受监控的代理组成,集成了 OpenSearch 用于日志存储,以及一个用于安全事件分析的定制 **ProcessTreeViewer** 插件。 ### 核心组件 - **Wazuh Server** — 在单节点上运行的 Manager、Indexer 和 OpenSearch Dashboards - **Wazuh Agents (x2)** — 基于 `auditd` 的进程事件收集的端点监控 - **OpenSearch + OpenSearch Dashboards** — 日志索引和可视化 - **Filebeat** — 将事件从代理传输到 OpenSearch - **ProcessTreeViewer Plugin** — 用于交互式进程树可视化的定制 OpenSearch Dashboards 插件 ## 架构 ``` ┌──────────────────────────────────────────────────────────┐ │ Yandex Cloud │ │ │ │ ┌───────────────┐ ┌───────────────┐ │ │ │ Wazuh Agent1 │ │ Wazuh Agent2 │ │ │ │ 10.129.0.30 │ │ 10.129.0.23 │ │ │ │ │ │ │ │ │ │ - auditd │ │ - auditd │ │ │ │ - wazuh-agent│ │ - wazuh-agent│ │ │ └──────┬────────┘ └──────┬────────┘ │ │ │ port 1514 (TCP) │ │ │ └────────┬───────────┘ │ │ ▼ │ │ ┌───────────────────────────┐ │ │ │ Wazuh Server │ │ │ │ 10.129.0.13 │ │ │ │ │ │ │ │ - Wazuh Manager │ │ │ │ - OpenSearch (:9200) │ │ │ │ - Filebeat │ │ │ │ - OpenSearch Dashboards │ │ │ │ (:5601) │ │ │ │ └─ ProcessTreeViewer │ │ │ └───────────────────────────┘ │ └──────────────────────────────────────────────────────────┘ ``` ## 系统要求 | Component | OS | CPU | RAM | Disk | |-----------------|---------------|------|------|------| | Wazuh Server | Ubuntu 24.04 | 8 | 8 GB | 50 GB| | Wazuh Agent 1 | Ubuntu 24.04 | 2 | 4 GB | 40 GB| | Wazuh Agent 2 | Ubuntu 24.04 | 2 | 4 GB | 40 GB| ## 仓库结构 ``` . ├── wazuh-server/ # Server-side configurations │ ├── var-ossec-etc-ossec.conf # Wazuh Manager main config │ ├── wazuh-server-opensearch.yml # OpenSearch configuration │ ├── wazuh-server-opensearch.service # OpenSearch systemd service │ ├── wazuh-server-opensearch-dashboards.service # Dashboards systemd service │ ├── wazuh-server-filebeat.yml # Filebeat pipeline config │ ├── wazuh-server-filebeat.service # Filebeat systemd service │ ├── wazuh-server-local-rules.xml # Custom Wazuh detection rules │ ├── wazuh-server-preexec-opensearch.txt # OpenSearch pre-setup script │ ├── wazuh-server-install-plugin.sh # Plugin installation script │ └── wazuh-server-uninstall-plugin.sh # Plugin uninstallation script │ ├── wazuh-agent1/ # Agent 1 configurations │ ├── var-ossec-etc-ossec.conf # Wazuh Agent config │ └── wazuh-agent1-auditd-rules.txt # Auditd monitoring rules │ ├── wazuh-agent2/ # Agent 2 configurations │ ├── var-ossec-etc-ossec.conf # Wazuh Agent config │ └── wazuh-agent2-auditd-rules.txt # Auditd monitoring rules │ ├── test-scripts/ # Security event test scripts │ ├── green-test-script.sh # Safe system info collection │ ├── yellow-test-script.sh # Reconnaissance simulation │ ├── red-test-script.sh # Privilege escalation simulation │ ├── process-tree-hierarchy-test.sh # Deep process tree test │ ├── process-branching-test.sh # Wide branching test │ ├── process-chain-test.sh # Sequential chain test │ ├── process-time-filter-test.sh # Time-based filtering test │ └── process-user-color-test.sh # User color coding test │ ├── GENERAL_INFRASTRUCTURE_RUS.md # Infrastructure documentation (RU) ├── GENERAL_INFRASTRUCTURE_ENG.md # Infrastructure documentation (EN) └── plugin-frontend.png # Plugin UI screenshot ``` ## 数据流 1. **Collection** — 每个代理上的 `auditd` 捕获进程执行事件(`execve` 系统调用、文件访问等) 2. **Transport** — Wazuh Agent 将事件发送到 Wazuh Manager(端口 1514,TCP,AES 加密) 3. **Processing** — Wazuh Manager 应用检测规则并转发告警 4. **Indexing** — Filebeat 将处理后的告警传输到 OpenSearch(端口 9200,HTTPS) 5. **Visualization** — 带有 ProcessTreeViewer 插件的 OpenSearch Dashboards 渲染交互式进程树 ## 测试脚本 `test-scripts/` 目录包含用于验证监控管道的脚本: | Script | Severity | Purpose | |---------------------|----------|--------------------------------------------| | `green-test-script.sh` | Low | 系统信息收集(运行时间、磁盘、用户) | | `yellow-test-script.sh` | Medium | 侦察模拟(读取 passwd、netstat) | | `red-test-script.sh` | High | 攻击模拟(读取 shadow、/tmp 执行、sudo) | | `process-tree-*.sh` | Info | ProcessTreeViewer 插件功能测试 | 可以通过 `cron` 安排脚本以进行持续测试: ``` # /etc/crontab 示例 */5 * * * * root /path/to/test-scripts/green-test-script.sh ``` ## 插件访问 部署后,可以通过以下地址访问 ProcessTreeViewer: ``` http://:5601/app/processTreeViewer ``` ## 自定义检测规则 位于 `wazuh-server/wazuh-server-local-rules.xml`: - **Rule 100001** — SSH 认证失败告警(来自特定 IP) - **Rule 100002** — Auditd 进程创建检测(`execve` 系统调用跟踪) - 合规性映射:PCI DSS,GDPR ## 参考资料 - [Wazuh 文档](https://documentation.wazuh.com/current/) - [OpenSearch 文档](https://docs.opensearch.org/latest/) - [Yandex Cloud](https://cloud.yandex.com/) ## 许可证 本项目是学士学位论文的一部分。配置文件仅供教育和参考用途。
标签:auditd, Cutter, EDR, Filebeat, OpenSearch Dashboards, ProcessTreeViewer, Wazuh, Wazuh Agent, Wazuh Server, Yandex Cloud, 审计日志, 对抗机器学习, 特权提升, 端点检测与响应, 网络安全, 脆弱性评估, 脱壳工具, 自动化部署, 进程树可视化, 隐私保护