AtlasVector/SOC-Lab-Environment

GitHub: AtlasVector/SOC-Lab-Environment

基于Proxmox构建的企业级SOC模拟实验室,提供网络分段、流量监控、入侵检测和集中日志分析能力,用于安全运营和检测工程的实践学习。

Stars: 0 | Forks: 0

## 简介 虽然这不是我的第一台家庭服务器,但这是我首次构建明确以安全运营为重点的实验室。作为一种爱好,我之前曾运行过一个小型的个人家庭实验室,用于**家庭自动化和自托管服务**,这帮助我在 Linux、网络和故障排查方面打下了坚实的基础。 后来,我在 Windows 主机上使用 VMware Fusion 构建了我的第一个专用**网络安全实验室**。该环境对于将理论付诸实践至关重要,但随着实验室规模的扩大,我开始遇到硬件限制,尤其是在内存使用和可扩展性方面。 为了消除这些限制并支持进一步的实验,我决定在 **Proxmox VE** 上重建实验室。我没有选择迁移现有环境,而是决定从头开始,利用这个机会应用所学知识,并有意识地迎接新的技术挑战。 ## 实验室目标 该实验室的主要目标是创建一个学习环境,在这里遇到问题是意料之中且受到鼓励的。实验室的设计初衷不是为了回避复杂性,而是为了引入需要调查、实验和动手解决问题的新挑战。 实验室强调: - 通过故障排查和实验进行学习 - 面对陌生的技术挑战 - 通过测试和观察验证想法与假设 这种方法通过解决实际问题(而不是遵循预定义的路径),不断创造建立理解和信心的机会。 ## 环境概述 实验室托管在单个 Proxmox VE 节点上,由多台具有明确职责的虚拟机组成。服务被刻意分离,以支持故障排查、安全实验以及更容易理解系统行为。 该环境包括: - 网络路由与控制 - 分段的内部网络 - 流量监控与检测 - 集中式日志与分析 - 基于 Windows 的基础设施 - 用于实验的测试主机 ## 网络设计、分段与路由 实验室网络旨在支持隔离、受控通信,以及对可见性和访问边界的实验。分段是通过结合使用 Linux 网桥、VLAN 和中央防火墙/路由器来实现的。 在 Proxmox 层面,该环境围绕两个主要的 Linux 网桥构建: - **`vmbr0` – 面向 WAN 的网桥**     子网:`192.168.50.0/24`     寻址:由上游网络(家庭路由器)分配 DHCP - **`vmbr1` – 内部实验室网桥**     子网:`10.10.10.0/24`     用途:承载内部实验室流量和 VLAN   内部实验室网络使用 VLAN 进行了进一步分段,这些 VLAN 通过 `vmbr1` 进行中继并在 pfSense 上终结。这允许多个隔离的网络共享相同的物理网桥,同时在逻辑上保持分离。 ### 内部网络分段 定义了以下内部网络: **VLAN 10 (vtnet1.10) – EmployeesVLAN10** - **子网**:`10.10.10.0/24` - **子网范围**:`10.10.10.1` - `10.10.10.254` - **网关**:`10.10.10.254` - **DHCP 范围**:`10.10.10.10 - 10.10.10.30` - **DNS 服务器**:`10.10.10.254` **用途:** Windows 工作站和用户活动 **VLAN 20 (vtnet1.20)– ServerVLAN20** - **子网**:`10.10.20.0/24` - **子网范围**:`10.10.20.1` - `10.10.20.254` - **网关**:`10.10.20.254` - **DHCP 范围**:`10.10.20.10`- `10.10.20.30` **用途:** 服务器端服务和基础设施 **VLAN 30 (vtnet1.30)– ManegmentVLAN30** - **子网**:`10.10.30.0/24` - **子网范围**:`10.10.30.1` - `10.10.30.254` - **网关**:`10.10.30.254` - **DHCP 范围**:`10.10.30.10 - 10.10.30.30` - **用途:** 管理、监控和安全组件 除了基于 VLAN 的分段外,还使用了一个专用网络用于测试和攻击模拟: **ATTACKERLAN40**   - **子网**:`10.10.40.0/24` - **网关**:`10.10.40.254` - **连接类型**:专用 pfSense 接口 (`vtnet2`) - **DHCP 范围**:`10.10.40.1` - `10.10.40.40` - **用途:** 用于攻击和检测验证的隔离测试主机 ### 防火墙与路由 pfSense 充当实验室的中央路由和控制点。所有内部网络都通过 pfSense 进行路由,它负责: - VLAN 间路由 - 实施网络隔离 - 应用防火墙策略 - 充当所有网段的默认网关 这种设计允许对内部网段之间的流量进行显式路由和过滤,同时支持对横向移动、隔离边界和监控覆盖范围进行受控测试。 ## 流量镜像与网络可见性 在尝试将 SPAN 流量镜像到 Suricata IDS 时,很明显 **Proxmox 中的标准 Linux 网桥不支持原生端口镜像**。这个限制是在测试而不是设计阶段暴露出来的,需要一种替代方法来维持完整的网络可见性。 作为一种变通方法,流量镜像是在**虚拟网卡(tap 接口)级别**使用 Linux **流量控制 (`tc`)** 实现的。这允许将来自受监控 VM 接口的入口流量直接镜像到 Suricata 监控接口。 为了确认流量已成功镜像到 Suricata VM 上的正确接口,直接在监控接口上执行了抓包。 在本实验室中,Suricata 监控接口为 `enp6s19`。可见性通过以下方式进行了验证: ``` sudo tcpdump -i enp6s19 ``` 为了确保镜像在主机重启后仍然保持活动状态,该配置被封装在 Proxmox 主机上的一个 **systemd 服务**中。 作为未来的改进,实验室将探索 **Open vSwitch (OVS)**,以评估其原生 SPAN 和镜像功能与当前基于 tc 的解决方案的优劣。 ## Suricata 配置与告警验证 一旦在接口级别确认了流量的可见性,下一步就是确保 Suricata 能够正确接收并处理镜像的流量。 Suricata 被配置为监听专用的监控接口:`enp6s19` 在进行下一步之前,使用以下命令测试 Suricata 配置 ` ``` sudo suricata -T -c /etc/suricata/suricata.yaml -v ``` #### **服务验证** 验证了 Suricata 服务状态,以确认其正在主动监控接口:
标签:ELK Stack, Home Lab, HTTP工具, IT运维, Metaprompt, PE 加载器, pfSense, Proxmox VE, Socks5代理, Suricata, Windows服务器, 企业环境模拟, 子域名变形, 安全实验, 安全运营中心, 家庭实验室, 插件系统, 故障排查, 无线安全, 流量检测, 流量监控, 现代安全运营, 网络分段, 网络安全实验室, 网络映射, 网络路由, 虚拟化, 集中式日志