joelouf/security-lab

GitHub: joelouf/security-lab

基于 Proxmox 构建的企业级网络安全实验室,集成 SIEM、NIDS 和多层网络分段,支持攻击模拟与威胁检测的完整闭环实践。

Stars: 0 | Forks: 0

Security Lab Banner

一个基于 Proxmox 构建的综合网络安全环境,用于模拟、检测和响应现实世界中的安全威胁。它具有由虚拟化 pfSense 防火墙控制的 VLAN 分段网络、分布式 Wazuh SIEM 技术栈、通过 Suricata 和 Zeek 实现的双层网络入侵检测,以及通过 WireGuard 和 Apache Guacamole 实现的安全远程访问。

该实验室旨在不断演进,并支持添加新功能,使其成为进行安全工程实践的长期平台。

目录


## 概述 本项目提供了一个自托管的网络安全实验室,在单台物理服务器上镜像企业网络架构。主要目标是: - 使用行业标准的安全工具**构建和维护**一个分段、受监控的网络环境。 - 通过 Active Directory 域、易受攻击的 Web 应用程序和故意可利用的机器来**模拟现实的攻击面**。 - 使用分布式 SIEM、网络入侵检测和集中式日志记录来**检测、分析和响应**威胁。 - 在具有定义信任边界的可控、隔离环境中**发展攻击性安全技能**。 - **构建一个可扩展的平台**,随着学习目标的演进,扩展到新的网络安全领域。 该架构反映了在单节点部署中 realism(真实性)、security(安全性)和 resource efficiency(资源效率)之间的权衡,包括由防火墙策略强制执行的网络分段、通过 Wazuh agent 实现的端点可见性,以及通过虚拟交换机上的 SPAN 端口进行的全包网络监控。 ## 架构 ### 网络拓扑 ![Network Topology](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/f90611ebf6195529.svg) *上图展示了完整的实验室拓扑,从 ISP 分界点通过双路由器设置,进入带有两个 Open vSwitch 网桥的 Proxmox hypervisor、虚拟化 pfSense 防火墙以及所有 VLAN 分段的内部网络。* ### 硬件 整个实验室运行在一台连接到隔离个人网络的专用服务器上。 | 组件 | 规格 | |-|-| | **服务器** | Minisforum MS-01-S1390 Mini PC | | **处理器** | Intel Core i9-13900H | | **内存** | 96 GB DDR5-5600 SODIMM (2 × 48 GB Crucial) | | **主存储** | 2 TB Crucial P3 Plus PCIe 4.0 NVMe M.2 SSD | | **副存储** | 500 GB Crucial P3 Plus PCIe 4.0 NVMe M.2 SSD | | **备份存储** | 2 TB 外置 SSD (通过网络连接到个人路由器) | | **个人路由器** | Wi-Fi 6E 路由器 (与 ISP 网关双路由器隔离) | | **电力线适配器** | 电力线以太网网桥连接到服务器 | | **家庭路由器** | ISP 提供的网关 (分界点) | ### 网络分段 实验室使用双路由器拓扑将其流量与家庭网络隔离。在 Proxmox 内部,两个 Open vSwitch 网桥和一个虚拟化 pfSense 防火墙跨五个不同的网络区域强制执行分段。 | VLAN | 名称 | 子网 | 用途 | Internet 访问 | |-|-|-|-|-| | - | 生产环境 LAN | 192.168.1.0/24 | 基础设施服务 (Wazuh, NIDS, WireGuard, Guacamole) | 是 | | Native | 默认 | 10.0.0.0/24 | vmbr1 上的未标记流量 | 根据 pfSense 策略 | | 10 | SEC_OPS | 10.10.10.0/24 | 安全运维 (Kali Linux) | 是 | | 20 | AD_LAB | 10.20.20.0/24 | Active Directory 环境 (DC, Windows 端点) | 是 | | 30 | SEC_EGRESS | 10.30.30.0/24 | 具有 Internet 访问权限的非受信主机 (OWASP Juice Shop) | 是 | | 40 | SEC_ISOLATED | 10.40.40.0/24 | 完全隔离的非受信主机 (VulnHub 机器) | 否 - 仅限 Kali 访问 | 这种分段在网络层面实施了最小权限原则。VLAN 30 和 40 中的易受攻击和非受信主机被限制访问生产基础设施,而 SEC_ISOLATED 区域完全没有 Internet 访问权限,从而在发生失控利用时限制爆炸半径。 ### 路由与流量 流量通过实验室的流向如下: 1. 来自内部 VM 的 **WAN 绑定流量** 通过 pfSense 路由 (vtnet1 → vtnet0),输出到个人路由器的 LAN (vmbr0),并通过家庭路由器到达 ISP。 2. **VLAN 间流量** 由 pfSense 防火墙规则进行路由和过滤。VLAN 标签在 vmbr1 处加盖,并由 pfSense 子接口 (vtnet1.10 至 vtnet1.40) 处理。 3. **生产环境 LAN 流量** (vmbr0) 承载基础设施服务和 pfSense WAN 接口。个人路由器上的静态路由将 10.10.10.0/24 和 10.20.20.0/24 流量定向回 pfSense 的 WAN IP 以进行返回路由。 4. **NIDS 可见性** 通过在 vmbr0 和 vmbr1 上配置的 SPAN 端口实现,将所有帧的副本转发给 NIDS 节点,以便在每个网段进行全包捕获和分析。 5. **远程访问** 通过 WireGuard (UDP 51820,通过家庭路由器上的 Dynamic DNS 暴露) 或生产环境 LAN 上的 Apache Guacamole 进入。 ## 工具与技术 | 类别 | 工具 | |-|-| | **Hypervisor** | Proxmox VE | | **虚拟网络** | Open vSwitch | | **防火墙与路由** | pfSense | | **SIEM 与日志管理** | Wazuh (Manager, Indexer, Dashboards), Filebeat | | **网络入侵检测** | Suricata, Zeek | | **远程访问** | WireGuard, Apache Guacamole | | **攻击性安全** | Kali Linux | | **易受攻击目标** | OWASP Juice Shop, VulnHub 机器 | | **目录服务** | Active Directory, Windows Server 2025 | | **端点** | Windows 11 Enterprise, Debian | | **容器化** | Docker | | **存储与备份** | ZFS, Proxmox Backup | ## 环境 ### Hypervisor 与虚拟化 Proxmox VE 在单个物理节点上管理所有实验室工作负载,为资源密集型系统提供 KVM 虚拟机,为轻量级服务提供 LXC 容器。选择它而不是 VMware ESXi 和 Microsoft Hyper-V 主要是出于许可证稳定性的考虑 —— Broadcom 收购 VMware 带来的不确定性使 ESXi 无法作为长期基础,而 Hyper-V 在 Microsoft 停止免费独立产品后需要完整的 Windows Server 许可证。Proxmox 提供开源许可,无功能门控,原生 ZFS 快照,以及无需额外费用的专用备份产品。 两个 Open vSwitch (OVS) 网桥强制执行第 2 层分段。选择 OVS 而不是标准 Linux 网桥是为了原生支持 802.1Q VLAN 中继、端口镜像 (SPAN) 和严格的第 2 层隔离 —— 这些能力否则需要补充工具,如物理 TAP 或 iptables TEE 目标。 | 接口 | 类型 | 端口 / 从属 | CIDR | 角色 | |-|-|-|-|-| | `enp89s0` | OVS Port | - | - | 到 vmbr0 的物理上行链路 | | `vmbr0` | OVS Bridge | `enp89s0` `vmbr0_mgmt` | - | 生产环境 LAN | | `vmbr0_mgmt` | OVS IntPort | - | 192.168.1.16/24 | 管理接口 (gw: 192.168.1.1) | | `vmbr1` | OVS Bridge | `vmbr1_10` `vmbr1_20` `vmbr1_30` `vmbr1_40` | - | 安全交换机 (无物理上行链路) | | `vmbr1_10` | OVS IntPort | - | - | SEC_OPS (VLAN 10) | | `vmbr1_20` | OVS IntPort | - | - | AD_LAB (VLAN 20) | | `vmbr1_30` | OVS IntPort | - | - | SEC_EGRESS (VLAN 30) | | `vmbr1_40` | OVS IntPort | - | - | SEC_ISOLATED (VLAN 40) | vmbr0 桥接到物理 NIC 以进行 LAN 和 WAN 连接。vmbr1 没有物理上行链路,只能通过 pfSense 的中继端口访问。两个网桥上的 SPAN 端口将镜像帧提供给 NIDS 节点,从而跨所有网段提供被动全包可见性。 存储分布在两个 NVMe 驱动器上以实现故障隔离:500 GB 驱动器作为 Directory 类型存储托管 Proxmox OS 和模板,而 2 TB 驱动器是用于所有 VM 磁盘映像和容器卷的 ZFS 池,选择它是因其支持快速回滚的写时复制快照,适用于破坏性测试后的恢复。个人路由器的 LAN 使用专用子网,与家庭路由器的默认范围不同,以将实验室网络与家庭网络隔离。 ### 防火墙与网络安全 虚拟化 **pfSense** 防火墙作为整个实验室的唯一策略执行点。其 WAN 接口 (vtnet0) 位于 vmbr0 上,具有生产环境 LAN 上的静态地址,而其 LAN 接口 (vtnet1) 作为 VLAN 中继连接到 vmbr1,承载每个安全区域的子接口 (vtnet1.10 至 vtnet1.40)。所有 VLAN 间路由和访问控制都在此处强制执行 —— 没有任何流量可以在不经过 pfSense 的情况下在 VLAN 之间穿越。 防火墙规则按 VLAN 实施最小权限网络访问。SEC_OPS (VLAN 10) 被允许到达目标 VLAN 20、30 和 40 进行攻击操作。AD_LAB (VLAN 20) 和 SEC_EGRESS (VLAN 30) 具有 Internet 访问权限,但无法到达生产基础设施。SEC_ISOLATED (VLAN 40) 没有 Internet 访问权限,也没有通往任何网络的路由,除了来自 VLAN 10 上 Kali 的入站连接,从而限制了故意易受攻击系统的爆炸半径。DHCP 由 pfSense 在每个 VLAN 子接口上提供,并为基础设施主机提供静态预留。个人路由器上的静态路由将 10.x.x.x 返回流量定向回 pfSense 的 WAN IP。 ### SIEM 与日志管理 **Wazuh** 技术栈作为分布式架构部署在生产环境 LAN 上的三个专用 VM 中: **Wazuh Manager** (192.168.1.19) - 接收 agent 事件,应用规则匹配和关联,并将处理后的数据转发给 Indexer。 - **Wazuh Indexer** (192.168.1.17) - 基于 OpenSearch 的存储,跨警报、归档和监控索引进行全文搜索。 - **Wazuh Dashboards** (192.168.1.18) - 用于警报可视化、威胁搜寻和 agent 管理的 Web 界面。连接到 Indexer (查询) 和 Manager (用于配置和主动响应的 API)。 分布式部署将摄取、存储和展示关注点分离,允许每个组件独立配置资源和维护。Wazuh agent 部署在 VLAN 10 和 20 的受监控端点上 (Kali, DC1, Win10Ent1, Win10Ent2),通过 TCP 1514 向 Manager 报告主机级遥测数据 —— 日志收集、文件完整性监控和安全配置评估。NIDS 节点上的 Filebeat 将 Suricata 和 Zeek 警报传送到 Wazuh 管道,从而实现网络级检测与端点事件之间的集中关联。 ### 网络入侵检测 (NIDS) 生产环境 LAN 上的专用 **NIDS 节点** (192.168.1.20) 同时运行 **Suricata** 和 **Zeek**,提供互补的检测能力。Suricata 针对已知威胁模式执行基于签名的入侵检测,而 Zeek 提供协议分析和连接元数据,支持超出单纯签名识别范围的行为调查和威胁搜寻。 该节点从 vmbr0 和 vmbr1 上的 SPAN 端口接收镜像流量,使其能够同时查看生产基础设施和所有 VLAN 分段的安全流量 —— 而无需可能引入延迟或成为故障点的内联部署。来自两个引擎的警报通过 Filebeat 转发到 Wazuh SIEM,以便与端点遥测数据进行统一警报和关联。 ### 远程访问 两条独立的访问路径提供安全的实验室管理: - **WireGuard** - 在生产环境 LAN 上的专用 LXC 容器 (192.168.1.4) 中运行。UDP 端口 51820 通过 Dynamic DNS 在家庭路由器上暴露,从而实现来自外部网络的加密隧道访问。连接后,远程客户端拥有相当于位于生产环境 LAN 上的网络级访问权限。 - **Apache Guacamole** - 在生产环境 LAN 上的专用 LXC 容器 (192.168.1.3) 中运行,提供无客户端、基于浏览器的 RDP 和 SSH 访问实验室 VM。这通过允许从无法安装 VPN 客户端或仅提供基于浏览器连接的环境进行访问,补充了 WireGuard 的功能。 ### 攻击性安全 **Kali Linux** 部署在 VLAN 10 (SEC_OPS) 上作为主要攻击平台。将其放置在专用 VLAN 上可将攻击工具与目标环境分开,确保攻击流量跨 VLAN 边界生成,并且对 pfSense 防火墙和 NIDS 均可见 —— 从而镜像企业环境中 SOC 将拥有的网络可见性。pfSense 规则允许 Kali 分别到达 VLAN 20、30 和 40,以针对 Active Directory、Web 应用程序和隔离目标进行交战。 ### Active Directory 环境 VLAN 20 (AD_LAB) 托管一个 Windows Active Directory 域: - **DC1** - Windows Server 2025 域控制器。 - **Win11Ent1** 和 **Win11Ent2** - 加入域的 Windows 11 Enterprise 工作站。 该环境支持攻击场景,包括凭据窃取、横向移动、Group Policy 滥用和域枚举。这三台主机都运行 Wazuh agent,提供对身份验证事件、进程执行和文件完整性更改的端点级可见性,以及来自 NIDS 的网络级检测。 ### 易受攻击目标 - **OWASP Juice Shop** (VLAN 30 - SEC_EGRESS) - 一个通过 Docker 部署的故意易受攻击的 Web 应用程序,用于测试 Web 应用程序攻击,包括注入、XSS 和身份验证破坏。放置在 SEC_EGRESS 上是因为其预期功能需要 Internet 访问,但被限制访问生产基础设施。 - **VulnHub 机器** (VLAN 40 - SEC_ISOLATED) - 用于练习渗透测试技术的故意可利用 VM。放置在 SEC_ISOLATED 上,没有 Internet 访问权限,也没有通往生产系统的路由 —— 只有 VLAN 10 上的 Kali 可以到达它们,从而限制了任何失控利用的爆炸半径。 ### 备份与存储 Proxmox 的内置备份调度程序将 VM 和容器备份写入连接到个人路由器作为网络附加存储的 **2 TB 外置 SSD**。这将备份数据与服务器本地磁盘分离,确保服务器上的驱动器故障不会同时破坏备份集。网络附加方法还使服务器的 NVMe 插槽专用于生产工作负载。 ## 路线图 计划的增强功能包括: - [ ] **网络地址清理** - 将个人路由器从默认的 192.168.1.0/24 方案迁移到自定义且更连贯的寻址方案。 - [ ] **Ansible 自动化** - 自动化 Wazuh 组件的维护任务,例如升级和配置管理。 - [ ] **AWS 集成** - 将实验室扩展到 AWS,以获得云安全监控和混合环境的实践经验。 - [ ] **恶意软件分析沙箱** - 在隔离的 VLAN 上部署专用分析环境,以进行安全的动态和静态恶意软件分析。 - [ ] **检测工程流水线** - 构建用于开发、测试和部署自定义 Wazuh 规则和 Suricata 签名的 CI/CD 工作流。 - [ ] **MITRE ATT&CK 覆盖矩阵** - 构建并维护一个可视化地图,显示实验室可以检测的 ATT&CK 技术,按数据源组织。 ## 参考资料 - [Proxmox Cybersecurity Lab Project - 0xBEN](https://benheater.com/proxmox-cybersecurity-lab/) - [Building Blue Team Home Lab - facyber (Marko Andrejic)](https://facyber.me/posts/blue-team-lab-guide-part-1/) - [Free VMware ESXi: Restrictions and Limitations](https://www.nakivo.com/blog/free-vmware-esxi-restrictions-limitations/) - [VMware ESXi Free vs. Paid: What You Need to Know](https://www.ituonline.com/blogs/vmware-esxi-free-vs-paid/) - [My Proxmox Server Build 2025! Minisforum BD795M with 32 threads, 96 GB memory, 10 gig](https://www.youtube.com/watch?v=qFWQldUqzyk&t=82s) - [Minisforum MS-01 Review: Almost Perfect Home Lab Server](https://www.youtube.com/watch?v=T229S9gh2x8) - [Building a Home Lab for Offensive Security & Security Research](https://systemoverlord.com/2017/10/24/building-a-home-lab-for-offensive-security-basics.html#hardware-1) - [Offensive Security Labs Documentation](https://offensivesecuritylabs.com/kb/) - [the ULTIMATE Proxmox Guide - Post-Install, ZFS, GPU Passthrough, and more!](https://www.youtube.com/watch?v=KMNS_JoHFhg&t=196s) - [How to Change Primary Proxmox VE IP Address](https://www.servethehome.com/how-to-change-primary-proxmox-ve-ip-address/) - [Mismatching pve-ssl.pem certificate after hostname change](https://forum.proxmox.com/threads/mismatching-pve-ssl-pem-certificate-after-hostname-change-correct-process-for-renaming-and-changing-the-ip-address-of-hosts-in-a-cluster.158886/) - [Switching Desktop Environments](https://www.kali.org/docs/general-use/switching-desktop-environments/) - [Design and Implementation of a Cyber Security Test Bed](https://scholarworks.calstate.edu/downloads/8336h2271) ### 官方文档 - [Proxmox VE Documentation](https://pve.proxmox.com/wiki/Main_Page) - [pfSense Documentation](https://docs.netgate.com/pfsense/en/latest/) - [Wazuh Documentation](https://documentation.wazuh.com/current/) - [Open vSwitch Documentation](https://docs.openvswitch.org/en/latest/) - [Suricata Documentation](https://docs.suricata.io/en/latest/) - [Zeek Documentation](https://docs.zeek.org/en/current/) - [WireGuard Documentation](https://www.wireguard.com/quickstart/) - [Apache Guacamole Documentation](https://guacamole.apache.org/doc/gug/) ## 联系方式 ### Joe Maalouf
github.com/joelouflinkedin.com/in/joelouf

回到顶部 ↑

标签:AMSI绕过, Apache Guacamole, Beacon Object File, HomeLab, IP 地址批量处理, Metaprompt, NIDS, OISF, PE 加载器, pfSense, Proxmox, Rootkit, SecOps, Suricata, Terraform 安全, VLAN, Wazuh, WireGuard, Zeek, 云安全架构, 威胁响应, 威胁检测, 安全工程, 安全架构, 安全运营, 家庭实验室, 容器化, 扫描框架, 插件系统, 日志管理, 模拟环境, 流量捕获, 现代安全运营, 网络分段, 网络安全实验室, 网络拓扑, 虚拟化, 请求拦截, 远程访问, 防火墙