插件窝 干货文章 如何应对Linux服务器的拒绝服务攻击

如何应对Linux服务器的拒绝服务攻击

启用 防护 连接 install 935    来源:    2025-04-12

Linux服务器拒绝服务攻击(DoS/DDoS)防御指南

识别拒绝服务攻击

  1. 常见症状

    • 服务器响应缓慢或无响应
    • 网络带宽异常高占用
    • CPU/内存使用率异常飙升
    • 大量异常连接请求
  2. 诊断工具

    # 查看网络连接
    netstat -antp
    ss -s
    
    # 监控带宽使用
    iftop -n
    nload
    
    # 检查系统资源
    top
    htop
    vmstat 1
    

即时缓解措施

  1. 网络层防护

    # 使用iptables临时封禁IP
    iptables -A INPUT -s [攻击IP] -j DROP
    
    # 限制连接速率
    iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP
    iptables -A INPUT -p tcp --dport 80 -m limit --limit 50/minute --limit-burst 200 -j ACCEPT
    
  2. 启用SYN Cookies

    sysctl -w net.ipv4.tcp_syncookies=1
    
  3. 调整内核参数

    # 增加半连接队列大小
    sysctl -w net.ipv4.tcp_max_syn_backlog=2048
    
    # 减少SYN+ACK重试次数
    sysctl -w net.ipv4.tcp_synack_retries=2
    

长期防御策略

  1. 基础设施防护

    • 启用云服务商的DDoS防护服务(AWS Shield, Cloudflare等)
    • 使用CDN分散流量
    • 配置负载均衡
  2. 系统加固

    # 禁用ICMP重定向
    sysctl -w net.ipv4.conf.all.accept_redirects=0
    
    # 启用IP欺骗防护
    sysctl -w net.ipv4.conf.all.rp_filter=1
    
  3. 服务配置优化

    • Web服务器(Nginx/Apache)调整:
      • 限制并发连接数
      • 设置请求速率限制
      • 启用缓存
  4. 监控与告警

    • 部署监控工具(Zabbix, Prometheus等)
    • 设置异常流量告警
    • 定期分析日志

高级防护工具

  1. Fail2ban

    # 安装
    apt-get install fail2ban  # Debian/Ubuntu
    yum install fail2ban      # CentOS/RHEL
    
    # 配置示例(/etc/fail2ban/jail.local)
    [sshd]
    enabled = true
    maxretry = 3
    bantime = 3600
    
  2. DDoS deflate

    wget https://www.inetbase.com/scripts/ddos/install.sh
    chmod +x install.sh
    ./install.sh
    
  3. Cloudflare/ArvanCloud等CDN服务

    • 启用DDoS防护模式
    • 配置防火墙规则
    • 启用速率限制

应急响应计划

  1. 建立明确的升级流程
  2. 准备备用服务器或灾备方案
  3. 与ISP保持联系渠道畅通
  4. 定期进行抗DDoS演练

通过以上措施的综合应用,可以显著提高Linux服务器对抗拒绝服务攻击的能力。