确认攻击特征与资源占用情况

通过监控工具(如 tophtopnetstat)快速定位异常进程或连接。CC攻击通常表现为:

  • 大量ESTABLISHED状态的TCP连接(尤其是80/443端口)。
  • CPU或内存占用率飙升,但无对应业务流量增长。
  • 日志中高频重复的请求URL或IP(如tail -f /var/log/nginx/access.log)。

临时缓解措施

启用防火墙封锁恶意IP
使用iptablesfirewalld封锁高频请求IP:

iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP  # 限制单IP连接数
iptables -A INPUT -p tcp --dport 80 -m recent --name CC --set                # 记录请求IP
iptables -A INPUT -p tcp --dport 80 -m recent --name CC --update --seconds 60 --hitcount 100 -j DROP  # 60秒内超过100次请求则丢弃  

调整Web服务器配置

  • Nginx:限制请求速率与连接数
    limit_req_zone $binary_remote_addr zone=cc:10m rate=10r/s;
    limit_conn_zone $binary_remote_addr zone=conn_limit:10m;
    server {
        limit_req zone=cc burst=20 nodelay;
        limit_conn conn_limit 20;
    }
    

  • Apache:启用mod_evasive模块防御高频请求。

业务层防护与恢复

启用CDN或WAF服务

  • 将域名解析切换至CDN(如Cloudflare、阿里云CDN),开启“防护模式”过滤恶意流量。
  • 配置WAF规则拦截特征请求(如User-Agent异常、高频单一URL访问)。

优化应用代码与数据库

  • 检查是否存在未优化的慢查询(通过EXPLAIN分析SQL语句)。
  • 对高频接口添加缓存(如Redis),减少直接访问数据库。
  • 验证码或人机验证(如reCAPTCHA)拦截自动化请求。

长期防护策略

日志分析与自动化封禁

  • 使用fail2ban自动封禁恶意IP:
    # 配置fail2ban规则匹配Nginx日志中的CC攻击特征
    fail2ban-regex /var/log/nginx/access.log '^<HOST>.*HTTP/1\.1" 200.*GET.*(wp-login|api)'
    

架构级优化

  • 部署负载均衡分散流量,结合弹性伸缩(如AWS Auto Scaling)应对突发流量。
  • 启用DDoS防护服务(如阿里云DDoS高防、AWS Shield)。

监控与告警

  • 配置Prometheus+Grafana监控关键指标(连接数、响应时间、5xx错误率)。
  • 设置告警阈值(如CPU>90%持续5分钟),通过邮件或Slack通知运维人员。

注:以上操作需根据实际业务环境调整参数,测试环境验证后再上线。恢复后需复盘攻击路径,修补漏洞(如未授权API接口、弱密码等)。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐