1.
建立基线与监控策略
(小分段:1)确定正常流量基线:使用历史监控(Prometheus/Grafana、Zabbix、Netdata)统计峰值和平均值;(2)设置阈值告警:如5分钟流量超过基线的200%触发告警;(3)配置收集点:在服务器边界与应用层均采集netflow、nginx/access.log与系统指标。
2.
实时检测工具与初步判断
(小分段:1)查看连接状态:ss -antp 或 netstat -anp,观察大量TIME_WAIT或SYN_RECV;(2)流量抓包:tcpdump -i eth0 -c 10000 -w /tmp/attack.pcap tcp;(3)使用iftop、nethogs或vnstat定位峰值出口与IP来源。
3.
日志与指标快速定位异常特征
(小分段:1)分析Web日志:grep -E "(\.jpg|\.php)" access.log | awk统计单IP请求数;(2)检查UA与Referer:识别爬虫或伪造UA;(3)结合tcpdump与日志比对,确认是否为DDoS(大量不同源)或爬虫刷单(少数IP高频)。
4.
短期应急:立即缓解措施(操作步骤)
(小分段:1)临时封禁高流量IP:iptables -A INPUT -s 1.2.3.4 -j DROP;(2)启用nginx限流:在http段配置 limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s,location中 limit_req zone=one burst=20 nodelay;(3)限制并发连接:nginx limit_conn_zone $binary_remote_addr zone=addr:10m;(4)若为SYN泛滥,启用内核SYN防护:sysctl -w net.ipv4.tcp_syncookies=1。
5.
中期应急:网络层与边缘协作
(小分段:1)联系高防服务商或ISP请求流量清洗(提供capture、时间戳、受影响IP);(2)若支持BGP Flowspec或黑洞:请求上游临时黑洞或Flawspec规则;(3)启用CDN或WAF防护规则以在边缘过滤异常请求。
6.
深度分析与取证步骤
(小分段:1)保存证据:保留pcap、nginx日志和系统指标文件到只读存储;(2)使用tshark/wireshark过滤常见攻击特征:tshark -r attack.pcap -Y "tcp.flags.syn==1 && tcp.flags.ack==0";(3)汇总攻击来源:按源IP、AS号、地理位置输出报告提供给运营商。
7.
配置策略自动化与缓解脚本
(小分段:1)编写脚本自动封禁:基于fail2ban或自定义脚本解析access.log并调用iptables/nft;(2)实现自动回滚:封禁时记录规则ID,攻击结束后自动解除;(3)结合Prometheus告警触发自动扩容或切换至清洗流量链路。
8.
恢复与后续硬化措施
(小分段:1)逐步放开封禁并观察:解除规则后以小流量阈值观察48小时;(2)加固应用层:优化缓存、启用验证码、限制API速率与认证;(3)制定SOP并演练:包含联络人、上游流程与时间窗。
9.
常用命令与示例汇总
(小分段:1)抓包:tcpdump -i eth0 -w /tmp/a.pcap host 1.2.3.4;(2)查看连接:ss -s && ss -antp | head;(3)iptables快速封IP:iptables -I INPUT -s 1.2.3.4 -j DROP;(4)nginx限流示例见第4段。
10.
问:如何区分真实流量激增与攻击?
11.
答:通过多维度对比判断
(小分段:1)来源分布:真实流量通常来源于广泛地理与正常AS,而DDoS多为集中或短时间爆发;(2)访问特征:检查UA、Referer、请求路径频率与会话行为;(3)结合业务事件:是否有促销/新闻引流,可用实时抓包验证TCP特征。
12.
问:设置告警阈值的实用建议是什么?
13.
答:基于历史基线并设置多层阈值
(小分段:1)短期阈值(1-5分钟):峰值超过历史峰值的150%-200%触发快速告警并自动限流;(2)中期阈值(15-60分钟):用于触发上游清洗或扩容;(3)长期阈值用于事后分析与SLA评估。
14.
问:选择美国高防服务器供应商时应关注哪些要点?
15.
答:核心能力与响应机制
(小分段:1)清洗能力与带宽峰值说明、是否支持BGP Flowspec与黑洞;(2)技术支持SLA:是否有7x24响应通道与快速规则下发;(3)集成能力:是否能与你现有监控、WAF、CDN无缝协作并提供历史流量回放。
来源:美国高防服务器网站维护中流量异常检测与应急处置方法