从一次真实的服务器瘫痪说起:我是如何用Wireshark揪出SYN Flood攻击源并封禁的

发布时间:2026/6/16 23:00:17

从一次真实的服务器瘫痪说起:我是如何用Wireshark揪出SYN Flood攻击源并封禁的 从一次真实的服务器瘫痪说起我是如何用Wireshark揪出SYN Flood攻击源并封禁的凌晨2点37分监控系统刺耳的警报声把我从睡梦中惊醒。仪表盘上服务器CPU使用率飙升至98%网络吞吐量突破历史峰值而正常业务请求的响应时间已经超过15秒——这显然不是普通的流量高峰。作为一名有五年运维经验的老兵我立刻意识到我们正在遭受攻击。1. 故障初现当服务器开始拒绝服务登录跳板机后top命令显示nginx进程占用了异常高的系统资源。但更奇怪的是netstat -ant输出的TCP连接列表中超过80%的连接都停留在SYN_RECV状态——这是典型的半开连接特征。正常情况下三次握手应在毫秒级完成而此刻这些连接就像被按下了暂停键。提示SYN_RECV状态表示服务器已发送SYN-ACK但未收到客户端的ACK确认这类连接会占用内核资源直到超时默认60秒。我迅速排除了应用层的问题因为日志中没有异常API调用数据库连接池使用率正常最近没有进行过代码部署此时一个危险的信号闪现这极可能是传输层的SYN Flood攻击。攻击者伪造海量TCP连接请求却不完成握手耗尽服务器的连接队列资源。2. 取证分析Wireshark中的攻击指纹为了确认猜测我在受影响服务器上启动了Wireshark抓包过滤条件设置为tcp.flags.syn1 and tcp.flags.ack0短短30秒内捕获到超过12,000个SYN包——这已经远超正常业务量。更关键的是这些数据包呈现以下特征特征项正常流量当前流量源IP分布分散高度集中(5个IP)TTL值多样化(64,128等)统一值255源端口随机高位端口固定80/443时序间隔随机精确毫秒级同步通过Statistics Endpoints视图攻击源IP立刻无所遁形——前五个IPv4地址贡献了92%的SYN包。这种机械化、高并发的连接请求正是自动化攻击工具的典型行为。3. 紧急止血防火墙策略的精准手术确认攻击源后需要立即实施封禁。在Linux服务器上iptables是最直接的防御武器# 封禁特定IP的所有入站流量 iptables -A INPUT -s 203.0.113.45 -j DROP iptables -A INPUT -s 198.51.100.22 -j DROP ... # 针对SYN Flood的通用防护限制新建连接速率 iptables -N SYN_FLOOD iptables -A INPUT -p tcp --syn -j SYN_FLOOD iptables -A SYN_FLOOD -m limit --limit 10/s --limit-burst 20 -j RETURN iptables -A SYN_FLOOD -j DROP对于云服务器用户还需要在安全组中同步规则。以AWS为例aws ec2 authorize-security-group-ingress \ --group-id sg-903004f8 \ --ip-permissions IpProtocol-1,FromPort-1,ToPort-1,IpRanges[{CidrIp203.0.113.45/32,DescriptionBlocked for SYN Flood}]实施封禁后通过watch -n 1 netstat -ant | grep SYN_RECV | wc -l观察半开连接数以肉眼可见的速度下降五分钟后系统负载回归正常水平。4. 深层防御从应急到预防的体系化建设这次事件暴露出基础架构的脆弱性。事后我们实施了多层防护网络层加固启用SYN Cookie机制sysctl -w net.ipv4.tcp_syncookies1调整内核参数优化连接处理echo 2048 /proc/sys/net/ipv4/tcp_max_syn_backlog echo 30 /proc/sys/net/ipv4/tcp_synack_retries监控预警体系部署基于Prometheus的异常检测规则- alert: SYNFloodDetected expr: rate(netstat_tcp_syn_recv[1m]) 50 for: 2m labels: severity: critical annotations: summary: SYN Flood detected on {{ $labels.instance }}架构级防护在边缘节点部署Nginx限流模块limit_conn_zone $binary_remote_addr zonesyn_flood:10m; limit_conn syn_flood 20;这次深夜救火经历让我深刻体会到网络安全没有银弹。真正的防御需要结合实时监控、快速响应和深度加固形成立体的防护体系。现在我的手机里依然保存着那天凌晨的抓包截图——它时刻提醒我在看似平静的网络流量下可能正暗涌着危险的暗流。

相关新闻