Marc-Chamorro/virtual-network-threat-detection

GitHub: Marc-Chamorro/virtual-network-threat-detection

基于 Containerlab 构建的企业级虚拟网络安全实验室,集成真实服务、IDS 监控与机器学习异常检测。

Stars: 1 | Forks: 0


使用 Containerlab 和 AI 在虚拟网络中进行智能威胁检测

毕业设计项目 (Treball de Fi de Grau)
管理与信息系统计算机工程学位
TecnoCampus,隶属庞培法布拉大学

探索完整文档 »

目录
  1. 关于
  2. 项目支柱
  3. 项目结构
  4. 快速开始
  5. 许可证
# 关于 本仓库包含作为**毕业设计项目 (TFG)** 一部分开发的实现。 该项目的目标是**提供一个模块化且可扩展的虚拟化环境,以模拟用于网络安全研究的企业网络基础设施**。 本项目的主要目标是将网络模拟与智能安全分析连接起来。通过使用 Containerlab 和 Docker,该系统允许用户: - 模拟复杂的、分段的各种网络。 - 在安全、隔离的环境中生成正常和恶意流量。 - 使用真实的 IDS 工具(如 Suricata)监控网络流量。 - 利用 Elastic 工具和机器学习(Isolation Forest)分析日志,以发现异常活动和威胁。 本仓库旨在具有可复现性,允许学生和研究人员通过单个命令部署一个完整的安全实验室。

(返回顶部)

# 项目支柱 ## 基础设施设计 该环境使用 **Containerlab** 和 **Docker** 来模拟真实的、分段的企业网络。 - **安全区域:** 架构分为四个主要区域: - 互联网核心 - 攻击者网络 - 良性网络 - 企业基础设施 - **L2/L3 分段:** 内部组织通过 VLAN(DMZ、监控、管理、服务和用户)进行管理,使用 Arista cEOS 交换机和基于 Linux 的中央防火墙。 - **隔离:** 整个实验室在隔离的 Docker 网络中运行,以确保模拟不会影响主机或外部网络。 ## 真实服务实现 本实验室实现了真实服务,以生成真实的网络行为和日志,与其他理论模型相比更具真实性。 - **Web 与管理:** Nginx HTTP 服务器和 OpenSSH 服务器。 - **基础设施:** 集中式 DHCP (ISC) 和 DNS (Dnsmasq),为节点提供动态配置。 - **企业工作负载:** 完整的邮件堆栈 (Postfix/Dovecot) 用于 SMTP/IMAP 模拟,以及具有 chroot 隔离功能的 FTP 服务器。 ## 网络监控 安全可见性由专用的入侵检测系统 (IDS) 节点提供。 - **流量镜像:** 中央防火墙使用 iptables 中的 TEE 功能复制企业网络的所有入站/出站数据包,并将其发送到 IDS 节点。 #### 此内容正在构建中,可能会发生变更 - **日志生成:** Suricata 在混杂模式下监控镜像流量,生成 JSON 格式的日志,用于实时分析模拟的威胁,如端口扫描或 DoS 攻击。 - **数据分类与结构化:** -> Elastic (等待以防 elastic 失败或其他情况) ## 智能威胁检测 (AI) 项目的最后阶段涉及使用机器学习处理安全数据。 #### 可能会发生变更 - **模型:** 实施 **Isolation Forest** 算法进行异常检测。 - **目标:** 检测复杂日志中可能被传统系统忽略的异常模式。 # 项目结构 ``` . ├─ docker/ │ └─ ... ├─ docs/ │ └─ ... ├─ labs/ │ └─ ... ├─ scripts/ │ └─ ... ├─ run.sh └─ README.md ``` ### 关键组件 - `run.sh`: 执行、构建和部署实验室的主要入口点。 - `docker/`: 包含自定义节点(路由器、Kali、服务器等)的源代码。 - `docs/`: 文档文件,也可在以下网址查阅:[文档](https://marc-chamorro.github.io/virtual-network-threat-detection/)。 - `labs/`: 包含各个网络设备的拓扑设计文件和配置文件。 - `scripts/`: 环境用于构建和实验室管理的内部逻辑。

(返回顶部)

# 快速开始 ## 前置条件 - **操作系统:** Linux(推荐 Ubuntu 22.04+ 或 25.10)。 - **硬件:** 至少需要 12GB RAM 和 8 核才能运行设计的环境,若包含监控工具则需要 20GB 和 12 核。 - **工具:** Docker 和 Containerlab 已完全安装。 **建议** - 使用专用虚拟机 (VM),以确保没有恶意流量或内容意外传播到任何敏感设备。 有关详细要求,请参阅:[文档 - GettingStarted](https://marc-chamorro.github.io/virtual-network-threat-detection/getting-started/) ## 快速安装 1. **安装核心工具:** 按照 [文档 - Installation](https://marc-chamorro.github.io/virtual-network-threat-detection/installation/) 设置 Docker 和 Containerlab。 2. **克隆仓库:** ``` git clone https://github.com/marc-chamorro/virtual-network-threat-detection.git cd virtual-network-threat-detection chmod +x run.sh ``` ## 执行 项目通过 `run.sh` 交互式菜单进行管理。 ``` ./run.sh ``` *使用交互式菜单首先构建镜像(镜像控制),然后部署场景(拓扑控制)。* ***强制导入*** 为了使实验室正常工作,必须将外部镜像导入实验室。请按照以下步骤操作:[文档 - External Images](https://marc-chamorro.github.io/virtual-network-threat-detection/docker/supported-images/?h=arista#arista-ceos) ## 典型工作流程: 1. **镜像控制:** 构建您的项目镜像 (*_vntd) 并导入外部镜像。 2. **拓扑控制:** 从 labs/ 目录中选择一个实验室并进行部署。 3. **分析:** 网络启动后,流量将由 IDS 节点自动监控。 有关脚本选项的完整演示,请参阅 [文档 - Usage Guide](https://marc-chamorro.github.io/virtual-network-threat-detection/usage/)。 ## 可用拓扑 所有提供的可用拓扑可以在以下位置找到: ``` labs/ ``` 提供的主要场景是一个具有多个区域的**企业网络**。 **企业主实验室:** 命名为 `topology.clab.yml`,是用于 TFG 研究的核心环境。 ![Example Topology](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/72ac1d5957025637.svg) 可以通过遵循拓扑文档 [文档 - Labs Overview](https://marc-chamorro.github.io/virtual-network-threat-detection/labs/) 中描述的指南来添加其他拓扑。

(返回顶部)

# 监控 如何查看日志 -> 引用监控站点 在此添加链接并说明 # 许可证 本项目作为学术毕业设计项目的一部分开发。有关更多信息,请参阅 `LICENSE`。 在 **GNU GPLv3 许可证** 下分发。本项目作为毕业设计项目的一部分,专为学术和研究目的而开发。有关更多信息,请参阅 `LICENSE`。

(返回顶部)

标签:AMSI绕过, BurpSuite集成, Containerlab, Docker, Elastic Stack, IDS分析, Metaprompt, MIT许可证, Suricata, TFG, 人工智能, 企业网络架构, 入侵检测系统, 威胁检测, 安全数据湖, 安全防御评估, 异常检测, 恶意流量, 毕业设计, 流量重放, 现代安全运营, 用户模式Hook绕过, 网络安全, 网络模拟, 网络流量生成, 虚拟网络, 计算机工程, 请求拦截, 逆向工具, 隐私保护