kyle-s-key/HomeLab
GitHub: kyle-s-key/HomeLab
基于Wazuh、Suricata和GNS3构建的SOC家庭实验室,实现企业级深度防御架构和攻击检测验证。
Stars: 0 | Forks: 0
# 🛡️ SOC 家庭实验室:Wazuh, Suricata & GNS3 网络
   
## 📌 项目摘要
本项目展示了一个可复用的虚拟家庭网络,旨在模拟真实的企业环境。目标是通过集成网络分段 (VLANs)、入侵检测系统 和 XDR/SIEM 平台 (Wazuh) 来实施 **Defense-in-Depth(深度防御)**。
**主要成果:**
* 使用 **Cisco vIOS**(路由器/交换机)和 **ASAv Firewall** 部署了分段网络。
* 配置 **Suricata** 通过 SPAN 端口镜像来嗅探流量。
* 将路由器、IDS 和端点的日志收集到 **Wazuh** 中。
* 通过模拟攻击 并验证检测结果,确认了安全策略的有效性。
## 🛠️ 技术与工具
* **Hypervisor & Emulation:** VMware Workstation Pro, GNS3
* **Network Infrastructure:**
* Cisco ASAv Firewall (`asav992-32.qcow2`)
* Cisco vIOS L2 Switch (`viosl2-adventerprisek9`)
* Cisco IOU L3 Router (`i86bi-linux-l3-jk9s-15.0.1.bin`)
* **Security & Monitoring:** Wazuh (SIEM/XDR) on Amazon Linux 2023, Suricata (IDS) on Ubuntu Server
* **Endpoints:** Kali Linux (Attacker), Windows 10 (Victim)
## 🏗️ 网络架构
该网络使用集成 VMware Workstation Pro 的 GNS3 进行模拟。

### VLAN 配置
我实施了网络分段,以将管理流量与端点流量隔离。
| VLAN ID | Name | Subnet | Description |
| :--- | :--- | :--- | :--- |
| **10** | Management | `192.168.10.0/24` | Wazuh Server & Suricata |
| **20** | Kali | `192.168.20.0/24` | Attacker Machine (Dept A) |
| **30** | Windows | `192.168.30.0/24` | Victim Machine (Dept B) |
*精简后的 Cisco 路由器和交换机配置可在 [/configs](configs) 文件夹中找到。*
## ⚔️ 攻击与防御模拟
为了验证检测能力,我进行了一次实时攻击模拟。
### 1. 攻击
使用 Kali Linux VM (VLAN 20),我对 Windows 10 端点 (VLAN 30) 运行了激进模式的 Nmap 扫描。
```
nmap -A 192.168.30.2
```
### 2. 检测
Suricata 通过交换机上的 SPAN 端口检测到了异常流量。日志被转发到 Wazuh Manager,触发了警报:**"ET SCAN Possible Nmap User-Agent Observed"**。

## 🖧 网络配置要点
### VLAN 间路由(Router-on-a-Stick)
我在核心路由器上配置了子接口,以允许管理、Kali 和 Windows VLAN 之间的流量路由,同时保持分段。
```
! Router-on-a-Stick Configuration for VLAN 10 (Management)
interface Ethernet0/0.10
description Gateway for Management VLAN
encapsulation dot1q 10
ip address 192.168.10.1 255.255.255.0
```
### 2. 流量分析 (SPAN Port)
为了让 Suricata IDS 能够检查网络流量,我在核心交换机上配置了一个 Switched Port Analyzer (SPAN) 会话。这将路由器上行链路的所有流量镜像到监控接口。
```
! Mirror traffic from the Router (Gi0/0) to Suricata (Gi2/2)
monitor session 1 source interface Gi0/0
monitor session 1 destination interface Gi2/2
```
### 3. 网络分段
我实施了 Extended ACLs 以强制执行严格的分段。以下配置阻止 Windows 10 VLAN 访问管理子网,同时允许 Wazuh agent 通信所需的特定端口 (1514/1515)。
```
ip access-list extended SECURE-VLANS
! Permit Wazuh Agent Traffic (TCP/UDP)
permit udp any host 192.168.10.10 eq 1514
permit tcp any host 192.168.10.10 eq 1515
! Deny all other Windows VLAN traffic to Management VLAN
deny ip 192.168.30.0 0.0.0.255 192.168.10.0 0.0.0.255
permit ip any any
```
### 4. 集中式日志记录
我配置了核心路由器将所有系统日志和安全事件转发到 Wazuh SIEM,以进行集中监控和告警。
```
! Configure Router to send logs to Wazuh Server
logging host 192.168.10.10
logging trap informational
```
## 🔧 挑战与故障排除(经验教训)
本项目需要大量的故障排除工作。以下是我克服的主要技术障碍:
### 1. Wazuh JSON Decoder 错误
**问题**:尽管 Suricata 日志已被转发,但并未出现在 Wazuh dashboard 中。日志显示 `wazuh-analysisd ERROR Too many fields for JSON decoder`。
**解决方案**:Wazuh 中的默认 decoder 限制为 256 个字段,但 Suricata 的 `eve.json` 非常冗长。我修改了 `internal_options.conf` 文件以增加该限制:
```
# /var/ossec/etc/internal_options.conf
analysisd.decoder_order_size=1024 # Changed from 256
```
我后来了解到,自定义更改应该改为在 `/var/ossec/etc/local_internal_options.conf` 文件中进行,以便在 Wazuh 升级后依然保留。
### 2. 交换机镜像不兼容(SPAN Port 失败)
**问题**:在配置 IDS 时,交换机上的 `monitor session` 命令失败并显示“Invalid Input”错误。我发现我最初使用的 Cisco IOU L2 镜像不支持 Port Mirroring (SPAN),而这对将流量发送到 Suricata 至关重要。这是我在项目中遇到的最大挫折。
**解决方案**:我将网络基础设施迁移到了支持 local SPAN 的 **Cisco vIOS Layer 2** 镜像。这需要重建拓扑并重新输入所有交换机命令,但成功实现了流量检查。将来,我会尝试在实施之前验证潜在设备的硬件能力是否满足我的需求。
### 3. Suricata Socket 权限
**问题**:Suricata 服务反复失败,提示 `failed to create socket directory /var/run/suricata/: Permission denied`。
**解决方案**:这是 Ubuntu 服务器上的权限冲突。我手动创建了运行目录并将所有权分配给 `suricata` 用户。
```
sudo mkdir /var/run/suricata
sudo chown suricata:suricata /var/run/suricata
```
## 📂 配置文件
[Router_config.cfg](configs/Router_config.cfg) - ACLs, Subinterfaces, and DHCP.
[Switch_config.cfg](configs/Switch_config.cfg) - VLANs, Trunking, and SPAN port.
[ossec.conf](configs/ossec.conf) - Wazuh Agent configuration snippets.
## ⚠️ 免责声明
本仓库及相关实验室环境仅用于教育目的。所有攻击和模拟均在一个隔离、经授权且虚拟化的环境中进行,旨在展示防御能力和网络监控概念。
标签:AMSI绕过, ASAv, Cisco, GNS3, IPS, IP 地址批量处理, Metaprompt, Nmap, OISF, Suricata, VLAN, VMware, Wazuh, Windows 10, 企业网络仿真, 入侵检测系统, 威胁检测, 威胁检测与响应, 安全事件监控, 安全数据湖, 安全架构, 安全运营, 家庭实验室, 密码管理, 扫描框架, 插件系统, 日志管理, 现代安全运营, 网络分段, 网络安全, 网络模拟, 虚拟驱动器, 蜜罐, 证书利用, 防御深度, 隐私保护