1. 当网站遭遇DDoS攻击时的紧急应对措施
网站突然遭遇DDoS攻击时,最关键的黄金时间是前30分钟。作为经历过多次实战的老运维,我总结了一套行之有效的"三步急救法"。
1.1 第一步:快速识别攻击特征
首先需要通过以下指标确认是否遭受DDoS攻击:
- 服务器CPU/内存使用率突然飙升
- 网络带宽占用接近100%
- 同一IP在短时间内发起大量连接请求
- 服务器日志中出现大量相似的异常请求
重要提示:不要立即重启服务器!这会导致合法用户会话中断,且攻击者通常会等待服务恢复后立即发起第二轮攻击。
1.2 第二步:立即启动流量清洗
临时应急方案推荐:
- 启用云服务商的DDoS防护服务(以阿里云为例):
# 通过API快速开启基础防护 aliyun ddosbgp open --InstanceId your_instance_id --EipId your_eip_id- 配置Nginx限流规则(示例配置):
limit_req_zone $binary_remote_addr zone=ddos:10m rate=30r/s; server { location / { limit_req zone=ddos burst=50 nodelay; } }- 临时屏蔽可疑IP段:
# 使用iptables屏蔽/24网段 iptables -A INPUT -s 192.168.1.0/24 -j DROP1.3 第三步:业务降级保障核心功能
当全面防御难以实施时,建议:
- 关闭非核心服务端口
- 静态化关键页面
- 启用CDN缓存(若已部署)
- 切换备用IP(如有条件)
我曾处理过一个电商网站案例,通过将商品详情页静态化+启用CDN边缘缓存,在攻击期间保持了80%的用户访问能力。
2. 构建多层防御体系实现"免疫"
2.1 网络层防护架构设计
推荐的三层防御架构:
- 边缘层:DDoS高防(5Tbps+清洗能力)
- 中间层:WAF(Web应用防火墙)
- 源站层:主机安全加固
阿里云典型配置方案:
graph LR A[用户] --> B[DDoS高防] B --> C[WAF] C --> D[源站服务器]2.2 关键组件配置详解
2.2.1 DDoS高防配置要点
回源设置建议:
- 轮询算法+权重分配(多源站时)
- 回源重试次数设为3
- 开启流量标记(X-Forwarded-For)
协议优化:
# 启用HTTP/2提升性能 aliyun ddosbgp ModifyDomainResource --ProtocolType https \ --Http2 enable --InstanceId your_instance_id2.2.2 WAF防护策略配置
核心规则配置表:
| 防护类型 | 推荐配置 | 注意事项 |
|---|---|---|
| CC防护 | 频率限制50次/秒 | 需设置白名单放行API网关 |
| SQL注入 | 防护等级:严格 | 可能误拦含特殊字符的搜索 |
| XSS防护 | 开启过滤 | 影响富文本编辑器需调整规则 |
| 爬虫防护 | 验证码挑战 | 移动端需优化用户体验 |
2.3 源站加固方案
- 操作系统层面:
# 调整内核参数抗SYN Flood echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf sysctl -p- 服务软件优化:
# Nginx抗连接耗尽配置 worker_connections 4000; worker_rlimit_nofile 50000;- 应急响应预案:
- 准备备用带宽资源
- 建立黑白名单机制
- 定期演练攻击场景
3. 运维监控与持续优化
3.1 智能监控体系搭建
推荐监控指标矩阵:
| 监控层级 | 关键指标 | 告警阈值 |
|---|---|---|
| 网络层 | 入向带宽 | >80%持续5分钟 |
| 系统层 | TCP半连接数 | >5000 |
| 应用层 | 5xx错误率 | >1% |
| 业务层 | 订单成功率 | <95% |
Prometheus示例配置:
alert_rules: - alert: DDoS_Attack expr: rate(node_network_receive_bytes_total[1m]) > 100MB for: 5m labels: severity: critical3.2 攻防演练实践
建议每季度进行一次红蓝对抗演练:
- 使用工具模拟CC攻击
- 测试WAF规则有效性
- 验证应急响应流程
- 评估业务影响范围
常用测试工具:
# 合法压力测试工具 siege -c 100 -t 60s https://yourdomain.com3.3 成本优化建议
| 防护方案 | 月成本 | 适用场景 |
|---|---|---|
| 基础DDoS防护 | 免费 | 小流量攻击 |
| 高防IP | ¥3000+ | 50G以下攻击 |
| 云原生防护 | 按量付费 | 突发大流量 |
我曾帮助一个游戏客户通过混合方案(日常基础防护+活动期间启用高防)节省了60%的安全预算。
4. 常见问题与实战技巧
4.1 典型故障排查指南
问题现象:配置WAF后网站部分功能异常
排查步骤:
- 检查WAF拦截日志
- 确认是否误拦合法请求
- 测试直接访问源站
- 调整防护规则灵敏度
问题现象:高防开启后延迟增加
优化方案:
- 启用BGP线路优化
- 配置TCP快速打开
- 调整回源超时时间
4.2 高级防护技巧
- 指纹识别防御:
# 基于JA3指纹的流量过滤 map $http_ssl_client_ja3_fingerprint $block_ja3 { default 0; "xxxxxxxx" 1; # 恶意指纹 }- 智能速率限制:
-- OpenResty动态限流 local limit_req = require "resty.limit.req" local lim = limit_req.new("my_limit_store", 100, 50)- 区块链溯源方案(适用于高价值业务):
- 记录攻击者指纹上链
- 建立威胁情报共享网络
- 实现跨平台联防联控
4.3 法律维权指南
当遭受重大攻击时应:
- 保存完整日志和流量记录
- 联系网安部门报案
- 寻求专业司法鉴定
- 通过民事诉讼索赔
某金融客户通过法律途径成功追回200万元损失,关键证据就是完整保存了攻击期间的TCPdump数据包。