Edualk12/virtualized-cybersecurity-lab-proxmox

GitHub: Edualk12/virtualized-cybersecurity-lab-proxmox

该项目提供了一个基于 Proxmox VE 虚拟化平台搭建的网络安全实验室,用于实践网络分段、SIEM 监控与入侵检测。

Stars: 0 | Forks: 0

# **使用 Proxmox VE 的网络安全测试与监控实验室** ![Proxmox VE](https://img.shields.io/badge/Proxmox_VE-E57000?style=for-the-badge&logo=proxmox&logoColor=white) ![pfSense](https://img.shields.io/badge/pfSense-212121?style=for-the-badge&logo=pfsense&logoColor=white) ![Security Onion](https://img.shields.io/badge/Security_Onion-4E944F?style=for-the-badge&logo=linux&logoColor=white) ![Splunk](https://img.shields.io/badge/Splunk-000000?style=for-the-badge&logo=splunk&logoColor=white) ![Kali Linux](https://img.shields.io/badge/Kali_Linux-557C94?style=for-the-badge&logo=kalilinux&logoColor=white) ![Windows Server](https://img.shields.io/badge/Windows_Server-0078D6?style=for-the-badge&logo=windows&logoColor=white) ![Windows 10](https://img.shields.io/badge/Windows_10-0078D6?style=for-the-badge&logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black) ![Virtual Networking](https://img.shields.io/badge/Virtual_Networking-2496ED?style=for-the-badge&logo=cisco&logoColor=white) ![IDS/IPS](https://img.shields.io/badge/IDS%2FIPS-D72638?style=for-the-badge&logo=shieldsdotio&logoColor=white) ![SIEM](https://img.shields.io/badge/SIEM-2D3142?style=for-the-badge&logo=splunk&logoColor=white) ![Metasploitable 2](https://img.shields.io/badge/Metasploitable_2-black?style=for-the-badge&logo=linux&logoColor=white) ![Nmap](https://img.shields.io/badge/Nmap-0078D7?style=for-the-badge&logo=nmap&logoColor=white) ## 网络/安全架构 ![diagram](https://github.com/Edualk12/virtualized-cybersecurity-lab-proxmox/blob/main/images/CYBER%20HOMELAB.png) ## 展示技能 - 防火墙配置 - Vlan 配置 - Hypervisor 配置与管理 - 网络架构 ## 使用的工具和技术 - Proxmox Virtual Environemnt (Hypervisor) - 虚拟化 - PFsense (防火墙) - Windows 10 - Windows Server 2022 - Security Onion - Splunk - Vlans # 攻击场景示例与检测分析 ### 攻击 1:Nmap 侦察与检测 - [攻击 1:Nmap 侦察](https://github.com/Edualk12/virtualized-cybersecurity-lab-proxmox/blob/main/attacks/Attack1.md) ### 攻击 2:WIP - []() ### 攻击 3:WIP - []() ## PC 规格 ### Dell Optiplex 3050 使用 Mini-PC 作为我的 Proxmox VE 是最实用和常见的选择,因为它具有很高的能效,并且能以相对较低的价格获得不错的规格配置。 | CPU | 核心数 | |-----|-----| | Intel i5-8500t | 6 核 | | RAM | 容量 | |-----|-----| | Kingston DDR4 | 16 Gb | | 存储类型 | 容量 | |-----|-----| | Kingston M.2 SSD | 256 Gb | ## PROXMOX VE(虚拟机资源分配) 我安装了 Proxmox VM 作为我的 Hypervisor,因为它是免费且开源的,并且提供了多种不同的配置功能,这让我能更好地学习 Hypervisor 并进行虚拟机的设置。 我在网络中为不同的用途配置了不同的虚拟机,并且对它们的规格进行了设置和优化,以适应我有限的资源,如下所示 | 虚拟机 | 操作系统 | 角色/用途 | CPU | RAM | 存储 | |-----------------|------------------|--------------|------|-----|---------| | Proxmox VE | Proxmox VE | 承载虚拟网络安全实验室的 Hypervisor | 1 核 | 1 GB | - | | pfSense | pfSense | 防火墙、路由器和网络分段 | 1 核 | 2 GB | 8 GB | | AD Server | Windows Server 2022 | Active Directory、DNS 和企业服务 | 2 核 | 2 GB | 35 GB | | Security Onion | Security Onion | IDS/IPS、网络监控和威胁检测 | 4 核 | 8 GB | 100 GB | | PC-1 (受害机) | Windows 10 | 用户工作站和攻击目标 | 2 核 | 2 GB | 32 GB | | Splunk Server | Ubuntu Server | SIEM、日志收集和安全分析 | 2 核 | 2 GB | 32 GB | | Metasploitable 2 | Linux | 攻击目标 | 1 核 | 2 GB | 2 GB | ## 虚拟机 ### SECURITY ONION Security Onion 是目前最通用、最有用的 SIEM 之一,因为它提供了各种丰富的工具和功能,但由于我的资源有限,我不得不将大部分计算资源分配给它。 ### Splunk 用于监控和记录来自 Active Directory 的原始数据,从而实现对攻击的实时检测。 ### Active Directory 包含了所有客户端 PC 的所有信息(每个用户身份、密码和访问权限)。因此它是一个主要目标,这也是为什么将其纳入 Pentesting 的原因。 ### Metasploitable 2 Metasploitable 2 是一个故意存在漏洞的 Linux 虚拟机,旨在为安全专业人员提供一个合法、安全的训练环境,以练习渗透测试和漏洞利用。 ## 网络分段与防火墙配置 ### 路由器静态路由配置 由于我的攻击机 Kali Linux 处于一个独立的“网络”中,我需要配置一条从 Kali Linux VM 到虚拟网络中不同 VLAN 的静态路由。 ``` Router> enable Router# configure terminal Router(config)# ip route [destination-network] [subnet-mask] [next-hop-ip] ``` ## PFSENSE VLAN 配置 我为不同的虚拟机配置了 Vlan,以增加安全性和可管理性。在初始设置完成后,使用 Web 界面配置 pfsense 防火墙非常简单直接。 ![pfsense](https://github.com/Edualk12/virtualized-cybersecurity-lab-proxmox/blob/main/images/PFsense.png) | 接口 | VLAN/网络名称 | IP 地址 / 子网掩码 | 用途 | |-----------|-------------------|---------------------|---------| | WAN | WAN | 192.168.1.97/24 | 互联网接入和外部网络连接 | | LAN | LAN | 192.168.15.1/24 | 内部管理网络 | | OPT1 | OPT1 | 192.168.25.1/24 | 额外的内部网络网段 | | OPT2 | VICTIM_NETWORK_LAN | 192.168.35.1/24 | 受害者和攻击目标网络 | | OPT3 | SPLUNK | 192.168.45.1/24 | SIEM 服务器和日志分析网络 | ## 使用 Open V Switch 配置 Security Onion 监控接口 根据我在搭建网络过程中的经验,我发现无法使用 pfsense 内置的 span port 配置。经过研究,我发现最常用的方法之一是使用 Open Vswitch 将 Security Onion 的监控接口连接到虚拟机。因此,我为我的网络创建了一个单独的虚拟接口 (vmbr3),而嗅探接口为 (vmbr2),这样我就可以将流量从虚拟网桥 3 (vmbr3) 镜像到嗅探接口。 ![pfsense](https://github.com/Edualk12/virtualized-cybersecurity-lab-proxmox/blob/main/images/spanport.png) ## 从 vmbr3 到 vmbr2 的端口镜像 ### 修补 vmbr2 和 3 ``` # Connect vmbr3 to vmbr2 ovs-vsctl add-port vmbr3 patch-to-vmbr2 \ -- set Interface patch-to-vmbr2 type=patch options:peer=patch-to-vmbr3 # 将 vmbr2 连接回 vmbr3 ovs-vsctl add-port vmbr2 patch-to-vmbr3 \ -- set Interface patch-to-vmbr3 type=patch options:peer=patch-to-vmbr2 ``` ### 将 vmbr3 镜像到 vmbr2 ``` ovs-vsctl -- set bridge vmbr3 mirrors=@m \ -- --id=@m create mirror name=bridge-span \ select_all=true \ output_port=$(ovs-vsctl get port patch-to-vmbr2 _uuid) ``` ### Proxmox 网络接口配置 ``` iface lo inet loopback auto enp1s0 iface enp1s0 inet manual iface wlp2s0 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.1.12/24 gateway 192.168.1.1 bridge-ports enp1s0 bridge-stp off bridge-fd 0 bridge-vlan-aware yes bridge-vids 2-4094 auto vmbr1 iface vmbr1 inet manual ovs_type OVSBridge auto vmbr2 iface vmbr2 inet manual ovs_type OVSBridge ovs_ports patch-to-vmbr3 tap102i1 auto vmbr3 iface vmbr3 inet manual ovs_type OVSBridge ``` ## SIEM 和 IDS/IPS 仪表板 ## 遇到的问题 - 问题描述:我可以从虚拟机向外 ping 通我的物理 PC,也可以从外部 ping 通 pfsense 的 WAN 端口,但我无法从物理 PC 直接 ping 进内部的 VM 网络。 - 根本原因:我的主家用路由器完全不知道 VM 子网的存在。当我的 PC 尝试与 VM 通信时,路由器甚至没有考虑过 pfSense 的 WAN 接口——它直接假设这些流量是发往互联网的并将其丢弃。 - 解决方案:我在主家用路由器上添加了一条静态路由,明确告诉它如何通过 pfSense 的 WAN IP 找到 VM 子网,并在 pfSense 上开放了一条防火墙规则,允许流量穿越进入 LAN。 - metapsplitable 与 peroxmox 不兼容 - 不同虚拟机的可用资源有限 ## 经验教训 ## 未来改进
标签:CTI, XXE攻击, 安全实验室, 插件系统, 网络安全, 虚拟化, 防火墙, 隐私保护