# 基于SDN的云计算环境DDoS动态防御系统 **Repository Path**: lynki_Ray/ddos-AWD-system ## Basic Information - **Project Name**: 基于SDN的云计算环境DDoS动态防御系统 - **Description**: 本项目旨在构建一个基于 软件定义网络(SDN) 与 云计算架构 的 动态DDoS检测与防御系统,通过结合开源组件与轻量级检测算法,建立高弹性、高可视化的网络安全防护体系。 系统整合了 SDN 控制器、流量分析模块、DDoS 检测引擎与动态响应机制,并通过可视化面板与日志系统实现实时监控与取证支持。适用于科研、教学、企业云平台等多种场景。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-06-12 - **Last Updated**: 2025-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于SDN的云计算环境DDoS动态防御系统 ## —— 面向高弹性云平台的安全防护体系设计与实现 --- ## 一、项目简介 本项目旨在构建一个基于 **软件定义网络(SDN)** 与 **云计算架构** 的 **动态DDoS检测与防御系统**,通过结合开源组件与轻量级检测算法,建立高弹性、高可视化的网络安全防护体系。 系统整合了 SDN 控制器、流量分析模块、DDoS 检测引擎与动态响应机制,并通过可视化面板与日志系统实现实时监控与取证支持。适用于科研、教学、企业云平台等多种场景。 --- ## 二、技术架构与模块划分 | 模块 | 技术选型 | 功能说明 | | ------------ | ------------------------------------------ | ----------------------------- | | **网络拓扑模拟器** | `Mininet` | 构建网络实验拓扑,支持 CLI 与 Python 脚本控制 | | **SDN 控制器** | `Ryu` + `Docker`
*(解决 Python 2 兼容性问题)* | 负责流表管理、流量决策、攻击响应等 | | **流量采集模块** | `sFlow`
*(需配置 JDK 11)* | 实时采集网络流量特征,如包速率、流量大小等 | | **检测引擎** | 信息熵分析(IP/端口熵)+ 轻量级机器学习算法 | 精确识别潜在的 DDoS 攻击模式 | | **可视化与日志分析** | `Bomo` + `Wireshark` | 实时展示网络状态,保存攻击日志,辅助后续审计 | | **服务器管理面板** | `1Panel` | 现代化 Web 面板,快速部署后端服务,管理系统资源 | --- ## 三、环境配置指南 ### 1. Mininet 安装与运行拓扑脚本 安装 Mininet: ```bash sudo apt update sudo apt install mininet ``` 执行拓扑脚本 `topo.py`: ```bash sudo python3 topo.py ``` 系统将自动进入 Mininet CLI 控制台,模拟网络环境。 --- ### 2. 配置并运行 Ryu 控制器(基于 Docker) #### 拉取官方镜像: ```bash docker pull osrg/ryu ``` > 镜像地址:[https://hub.docker.com/r/osrg/ryu](https://hub.docker.com/r/osrg/ryu) > (如无法访问,可通过其他镜像源或科学上网) #### 启动 Docker 并挂载本地项目目录: ```bash cd /home/ubuntu/DDOS_defender docker run -it --rm \ -v $(pwd):/app \ -w /app \ osrg/ryu bash ``` #### 启动控制器脚本: 运行官方示例: ```bash ryu-manager ryu.app.simple_switch_13 ``` 或运行自定义防御控制器: ```bash ryu-manager simple_switch.py ``` --- ### 3. 启动防御逻辑脚本 打开另一个终端运行 DDoS 防御主程序: ```bash ryu-manager --verbose simple_ddos_defense.py ``` **功能简介:** * 监听交换机连接,安装 Table-Miss 默认流表; * 捕获 ARP 报文,建立合法主机白名单; * 对未学习的 IP 地址自动安装高优先级丢弃规则; * 合法主机流量则下发正常转发表项。 --- ### 4. 模拟 DDoS 攻击流量 #### 安装攻击工具 hping3: ```bash sudo apt install hping3 ``` #### 在 Mininet CLI 中启动攻击脚本: ```bash h2 hping3 -S -p 80 -i u100 h1 & h3 hping3 -S -p 80 -i u100 h1 & h4 hping3 -S -p 80 -i u100 h1 & h5 hping3 -S -p 80 -i u100 h1 & ``` > 模拟多个主机以高频发送 SYN 报文至目标主机,造成资源消耗攻击。 --- ### 5. 流量监控与日志分析 #### 使用 Wireshark: ```bash wireshark ``` * 选择虚拟接口(如 `s1-eth1`, `lo`, `docker0` 等)监控特定主机端口; * 可视化流量分布与异常流速。 #### 配合 sFlow 工具与 Bomo 前端面板: * 实现流量曲线、连接数、协议类型等信息展示; * 可输出攻击日志,支持事件追踪与报表生成。 --- ## 四、项目特点 * 🔧 **轻量部署:** 基于 Docker + Mininet,环境可快速复现; * 🧠 **智能检测:** 基于信息熵与机器学习的混合型识别机制; * 🌐 **动态响应:** SDN 控制器可实时响应异常流量并调整策略; * 📊 **可视化强:** 实时监控系统状态,兼顾教学与生产场景; * ☁️ **云原生兼容:** 系统设计可向 OpenStack、Kubernetes 拓展部署。 --- ## 五、参考与扩展方向 * 增加特征提取维度:如 TCP 标志位、连接持续时间等; * 接入深度学习模型:提升变种攻击的检测精度; * 联动 WAF/IPS 等安全组件,形成多层防护体系; * 云平台部署方案优化(如接入 OpenStack Neutron 插件)。