AmirBrDr/network-security-lab

GitHub: AmirBrDr/network-security-lab

基于 OSPF 虚拟路由基础设施的网络安全可观测性实验平台,集成监控、入侵检测与本地 AI 事件分析。

Stars: 1 | Forks: 0

# 网络安全实验室 网络安全实验室是一个公开的作品集项目,它从一个完整的 OSPF 路由实验室开始,并将其扩展为一个网络安全可观测性平台。 其目标是在一个连贯的实验室中展示实际的网络、Linux 基础设施、监控、入侵检测、事件记录以及由本地 AI 辅助的故障排除能力。 ## 项目摘要 该实验室建立在基于 FRRouting 的三路由器 OSPF 拓扑之上。一旦路由基础稳定,该项目就会加入指标、日志、仪表板、IDS 警报、受控的攻击模拟以及提供支持的本地 AI 助手。 AI 层并不是该项目的核心。其基础是网络:OSPF、VLAN、TAP 接口、故障测试、可观测性以及安全证据。 ## 拓扑 ![网络安全实验室拓扑](https://raw.githubusercontent.com/AmirBrDr/network-security-lab/main/docs/images/topology.svg) ## 物理拓扑 ![网络安全实验室物理拓扑](https://raw.githubusercontent.com/AmirBrDr/network-security-lab/main/docs/images/physical-topology.svg) ## 可观测性预览 ![Grafana 网络仪表板显示实验室接口流量](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/01464fed0e023330.png) 阶段 3 在 OSPF 实验室的基础上添加了 Grafana 可观测性层,包含 用于系统健康、网络接口流量、FRR 服务状态、 OSPF 邻居计数和集中式 Loki 日志的仪表板。 ## 该项目展示的内容 - 使用 OSPFv2 和 OSPFv3 的动态路由。 - FRRouting 配置与验证。 - 基于 VLAN 和 TAP 的虚拟网络。 - IPv4 和 IPv6 路由。 - 默认路由通告与托管 VLAN。 - 网络故障测试与收敛测量。 - 使用 Prometheus 和 Grafana 进行监控。 - 使用 Loki 进行集中式日志记录。 - 使用 Suricata 进行入侵检测。 - 在隔离的实验室虚拟机内进行受控的安全模拟。 - 使用 Ollama 进行本地 AI 辅助的故障排除。 - 文档、截图、证据以及作品集打包。 初始拓扑使用 OSPF 三角形中的三个路由器: | 节点 | 角色 | TAP | | --- | --- | --- | | `R1` | 路由器 / 默认路由源 | `tap62` | | `R2` | 路由器 | `tap63` | | `R3` | 路由器 | `tap64` | | 监控虚拟机 | IDS 传感器与安全监控 | `tap65` | | 管理虚拟机 | 可观测性与管理服务 | `tap66` | | MacBook Pro M3 Pro | 使用 Ollama 进行本地 AI 推理 | 主机 | 预留的 TAP 接口: | TAP | 用途 | | --- | --- | | `tap67` | 未来的客户端、DMZ 或集成 | | `tap68` | 未来扩展 | | `tap69` | 备份、调试或未来集成 | ## 计划技术栈 | 层级 | 工具 | | --- | --- | | 路由 | FRRouting, OSPFv2, OSPFv3 | | 虚拟网络 | TAP 接口, VLANs, 2 型 hypervisor 虚拟机 | | 指标 | Prometheus, exporters | | 仪表板 | Grafana | | 日志 | Loki | | IDS | 优先使用 Suricata,未来可能添加 Zeek | | AI 推理 | Apple Silicon 上的 Ollama | | AI 后端 | FastAPI | | 检索 | 基于文档、配置和选定参考的本地 RAG | ## 运行弹性 实验室虚拟机被配置为在大学 2 型 hypervisor 重启(例如维护或更新重启)后自动启动。`@reboot` crontab 条目会运行实验室启动脚本并记录输出以供故障排除;详细信息记录在[服务器资源](docs/server-resources.md)中。 ## 路线图 该项目在 [docs/roadmap.md](docs/roadmap.md) 中进行追踪。 当前的里程碑结构: | 里程碑 | 目标 | | --- | --- | | M0 - 规划与范围 | 验证项目范围、仓库、追踪器、TAP 计划和资源 | | M1 - OSPF 基础 | 构建完整的 FRRouting OSPF 实验室 | | M2 - 故障测试 | 测量收敛、丢包和路由恢复 | | M3 - 可观测性 | 添加 Prometheus、Grafana、Loki、日志、指标和警报 | | M4 - 安全 / IDS | 部署 Suricata 并记录受控事件 | | M5 - AI 支持层 | 为日志、警报和故障添加本地 AI 解释 | | M6 - RAG 知识层 | 将助手的回答基于项目文档和配置 | | M7 - 演示界面 | 可选的拓扑、警报、聊天和事件时间线 UI | | M8 - 作品集打包 | 最终的 README、截图、证据、视频和摘要 | ## 最低成功标准 如果项目实现了以下目标,则被认为是成功的: - 在 `R1`、`R2` 和 `R3` 之间实现稳定的 OSPFv2 和 OSPFv3 路由。 - 实验室范围内的 IPv4 和 IPv6 连通性。 - 有文档记录的路由表、邻居、配置和数据包证据。 - 包含测量到的收敛行为的故障测试。 - 用于网络和系统可见性的 Grafana 仪表板。 - 为路由器和关键服务提供集中式日志。 - 来自受控且仅限实验室模拟的 Suricata 警报。 - 包含证据和结论的事件报告。 - 一个清晰解释该项目的公开 GitHub 仓库。 ## 安全边界 所有安全测试仅限于隔离的实验室环境。 受控扫描、可疑流量和暴力破解模拟仅在运行于本地/2 型 hypervisor 设置中的实验室虚拟机之间进行。不打算对任何外部系统进行测试。 ## 仓库结构 ``` . ├── README.md ├── docs │ ├── ai-stack.md │ ├── architecture.md │ ├── images │ │ └── topology.svg │ ├── ospf-lab.txt │ ├── project-calendar.md │ ├── roadmap.md │ ├── server-resources.md │ └── tap-plan.md ├── monitoring │ └── grafana │ ├── dashboards │ └── provisioning ├── screenshots │ ├── phase1 │ └── phase3 └── LICENSE ``` ## 文档 - [项目路线图](docs/roadmap.md) - [项目日历](docs/project-calendar.md) - [地址分配计划](docs/addressing-plan.md) - [架构](docs/architecture.md) - [TAP 计划](docs/tap-plan.md) - [服务器资源](docs/server-resources.md) - [AI 技术栈](docs/ai-stack.md) - [OSPF 实验室参考](docs/ospf-lab.txt)
标签:AI风险缓解, DLL 劫持, FRRouting, Metaprompt, OSPF, 大语言模型, 网络架构, 自定义请求头, 逆向工具