yyoma/SecurityOnion
GitHub: yyoma/SecurityOnion
该项目是一份详细的部署手册,展示如何在资源受限的裸机设备上通过 VirtualBox 无头模式搭建稳定的 Security Onion SIEM 监控环境。
Stars: 0 | Forks: 0
# SecurityOnion
模拟隔离企业 SOC 网络的裸机网络安全实验室。在 Ubuntu Server 宿主机上通过 VirtualBox CLI 以无头模式构建,通过私有 NAT 网络路由企业级 SIEM (Security Onion 2) 和 Linux 分析师工作站,用于安全的恶意软件流量分析、取证 hunting 以及资源限制优化测试。
## 📌 项目概述
本仓库作为一份 playbook,详细介绍了裸机 **Security Onion (v3.x)** 网络安全监控 (NSM) 和 SIEM 环境的设计、部署与优化。该项目的目标是在现实世界的资源限制下安装并运行一套现代安全环境。Security Onion 的标准安装预期使用的是现代硬件,或者拥有大量 CPU 核心和内存的配置。该项目展示了如何通过架构修改、严格的组件定位(Ubuntu 版本和安装模式)以及深入的 kernel/JVM 故障排查,使企业级安全工具能够在低规格的裸机节点上运行,同时不严重损害可靠性。
# 🛠️ 生产工程限制
* **物理宿主机 CPU:** 限制为 4 核
* **物理宿主机内存:** 12GB 内存,后升级至 16GB(该硬件支持的最大容量)。
* **目标技术栈:** Security Onion 3.x (Elasticsearch, Logstash, Kibana, Fleet, Zeek, Suricata, SaltStack)
* **面临的挑战:** 直接在裸机桌面环境中安装 Security Onion 导致了部分 SaltStack 部署崩溃。切换到虚拟机修复了这些错误,但在尝试使用标准静态 IP 配置时,出现了网络隔离失败和客户机之间的连接问题。
## 🗂️ 仓库结构
为了方便浏览实现细节,本 playbook 在 `docs/` 文件夹中被划分为结构清晰的章节:
* **`docs/01-architecture-and-network.md`**:物理裸机规格、虚拟内存预算以及软件定义的网络架构拓扑图。
* **`docs/02-installation-and-setup.md`**:分步的无头 OS 初始化、自动化安装封装脚本以及 Web 控制台管理配置。
* **`docs/03-troubleshooting-and-optimization.md`**:技术核心。详细分析了 JVM 堆内存耗尽、磁盘交换缓解措施、解析损坏的 SaltStack 配置状态文件 (`Result: False`)、由于桥接 MAC 地址导致无法与虚拟机通信的问题,以及 Docker daemon 的故障排查 (`so-elasticsearch`, `so-fleet`)。
* **`docs/04-analyst-playbook.md`**:关于流量摄入监控、日志查询和验证安全遥测数据的操作指南。
* **`/scripts`**:用于稳定该节点的自动化实用工具、文件系统垃圾回收和配置调整封装脚本。
# 架构概述
* [ 物理家用路由器 (192.168.1.254) ]
│
│
┌────────────────────────┴────────────────────────┐
│ Ubuntu Server 裸机宿主机 │
│ IP: 192.168.1.227 │
└────────────────────────┬────────────────────────┘
│
(VirtualBox CLI 层 / Headless VBoxManage)
│
┌────────────────────────┴────────────────────────┐
│ Security Onion 虚拟机 (静态管理) │
│ 接口 1 (enp0s3): bond0 嗅探 │
│ 接口 2 (enp0s8): 192.168.1.200 │
└─────────────────────────────────────────────────┘
# 1. 硬件资源分配模型
此部署使用 Ubuntu 作为服务器镜像,节省了原本用于维护图形界面的 RAM,并将其直接分配给实际的系统。这使得操作更加流畅,并允许使用另一台设备上的远程桌面连接进行远程访问。通过剥离虚拟化 hypervisor 层和繁重的桌面环境,物理 12GB 内存的几乎 100% 都被直接交付给了容器化的安全应用程序。
# 2. 操作模式优化
选择 EVAL 模式是因为它附带了位于 Docker 容器内的网络安全监控 (NSM) 和日志管理工具,包括:
The Elastic Stack / OpenSearch(用于数据摄入、存储和可视化)
Zeek 或 Suricata(用于网络流量嗅探、签名匹配和协议分析)
Wazuh(用于基于主机的入侵检测)
SaltStack(用于内部容器和配置管理)
Stenographer(用于全包捕获)
# 快速开始 / 摄入验证
要在优化后的集群上启动诊断评估或验证系统健康状况,请运行以下管理操作:
```
# 验证所有容器化子系统是否处于 active 和 healthy 状态
sudo so-status
# 检查是否存在资源耗尽故障或失败的 SaltStack state maps
sudo salt-call state.highstate test=True
# 监控实时内存配置文件并识别 OOM kernel flags
sudo dmesg -T | grep -i -E 'oom|kill'
```
标签:DAST, Metaprompt, Security Onion, VirtualBox, 低资源优化, 内容过滤, 安全运营中心, 恶意软件分析, 网络安全监控, 网络映射, 请求拦截, 越狱测试, 驱动开发