首页主机资讯Ubuntu Tomcat如何防止DDoS攻击

Ubuntu Tomcat如何防止DDoS攻击

时间2025-12-12 13:52:03发布访客分类主机资讯浏览794
导读:Ubuntu Tomcat 防 DDoS 实用方案 一 分层防护思路 边缘与系统层:在Ubuntu上启用UFW限制来源与端口,调优内核网络参数以抵御SYN Flood,必要时用iptables connlimit限制单源并发连接,降低资源...

Ubuntu Tomcat 防 DDoS 实用方案

一 分层防护思路

  • 边缘与系统层:在Ubuntu上启用UFW限制来源与端口,调优内核网络参数以抵御SYN Flood,必要时用iptables connlimit限制单源并发连接,降低资源被占满的风险。
  • 反向代理与边界层:在 Tomcat 前部署Nginx/Apache作为反向代理,启用速率限制、连接数限制、请求体大小限制WAF(如 ModSecurity),过滤异常与恶意流量。
  • Tomcat 应用层:收紧Connector 并发与超时、禁用不必要协议与组件(如AJP)、关闭自动部署、删除管理应用、限制管理接口访问、开启访问日志与监控,减少可被利用的攻击面与放大点。

二 关键配置示例

  • Tomcat 连接器收紧(server.xml)

    • 将连接与线程收敛到业务所需范围,建议:connectionTimeout=2000–5000 msmaxThreads=150–400acceptCount=100–500;禁用或删除未使用的AJP连接器;关闭autoDeploy/deployOnStartup;删除或限制访问webapps/manager、host-manager。示例:
      <
          Connector port="8080" protocol="HTTP/1.1"
                 connectionTimeout="2000"
                 maxThreads="200"
                 minSpareThreads="25"
                 maxSpareThreads="75"
                 acceptCount="100"
                 redirectPort="8443"
                 enableLookups="false"
                 maxHttpHeaderSize="8192"
                 URIEncoding="UTF-8" />
      
      
    • 说明:缩短超时与收紧并发可有效缓解**HTTP 慢速攻击(Slowloris/Slow POST/Range)**与连接耗尽;关闭自动部署与移除管理应用能减少被滥用风险。
  • 系统与防火墙(UFW + iptables)

    • UFW 仅放行必要来源与端口(示例仅开放 8080/8443 给内网/白名单):
      sudo ufw allow from 203.0.113.0/24 to any port 8080,8443 proto tcp
      sudo ufw enable
      
    • 限制单源并发连接(示例:每个来源 IP 对 80/443 最多 20 个并发连接):
      sudo iptables -A INPUT -p tcp --syn --dport 80,443 -m connlimit --connlimit-above 20 -j REJECT --reject-with tcp-reset
      
    • 说明:连接数限制可显著抑制CC/连接耗尽类攻击;UFW 提供基础策略,iptables 实现细粒度控制。
  • 内核参数(抵御 SYN Flood)

    • 临时启用与调优(攻击期间按需应用,平时不建议长期改动):
      sudo sysctl -w net.ipv4.tcp_syncookies=1
      sudo sysctl -w net.ipv4.tcp_max_syn_backlog=1280
      sudo sysctl -w net.ipv4.tcp_synack_retries=2
      sudo sysctl -w net.ipv4.tcp_syn_retries=2
      
    • 说明:syncookies 在半连接队列溢出时启用挑战应答,backlog 与重试次数调小可加速回收半开连接,降低资源占用。
  • 反向代理与 WAF(Nginx 示例)

    • 速率与并发限制、请求体限制与基础 WAF:
      http {
          
        limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;
          
        limit_conn_zone $binary_remote_addr zone=perip:10m;
      
      
        server {
          
          listen 80;
          
          server_name your.domain;
      
      
          location / {
          
            limit_req zone=api burst=20 nodelay;
          
            limit_conn perip 20;
          
            client_max_body_size 10m;
          
            proxy_pass http://127.0.0.1:8080;
          
            proxy_set_header Host $host;
          
            proxy_set_header X-Real-IP $remote_addr;
          
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          
            proxy_set_header X-Forwarded-Proto $scheme;
      
          }
          
      
          # 可选:启用 ModSecurity/WAF
          # modsecurity on;
          
          # modsecurity_rules_file /etc/nginx/modsec/main.conf;
      
        }
      
      }
      
      
    • 说明:在代理侧进行速率/并发/大小限制与WAF规则匹配,可提前丢弃大量恶意请求,显著降低 Tomcat 压力。

三 检测与应急

  • 快速判断异常
    • 查看连接状态与来源分布:
      netstat -ntu | awk '{
      print $5}
          ' | cut -d: -f1 | sort | uniq -c | sort -nr | head
      ss -s
      
    • 抓包识别高频方法(如大量 GET/POST):
      sudo tcpdump -s0 -A -n -i any | grep -o -E '(GET|POST|HEAD) .*'
      
    • 观察 SYN_RECEIVED 是否异常增多以识别 SYN Flood
  • 处置步骤
    • 立即在UFW/iptables层面封禁攻击源段或全局限流;临时下调 Tomcat maxThreads/acceptCount 并缩短 connectionTimeout;在代理/WAF 上开启更严格的速率与规则;保留日志用于溯源与取证。

四 安全加固与运维要点

  • 删除或限制管理应用(docs、examples、manager、host-manager),修改默认端口,禁用PUT/DELETE等不必要方法,开启访问日志错误页面自定义,隐藏版本信息,降低信息泄露与滥用风险。
  • 使用非 root用户运行 Tomcat,最小化权限;仅开放必要端口与协议;定期更新 Tomcat 与系统补丁;对管理界面实施IP 白名单或禁用。

五 何时引入专业防护

  • 当遭遇大流量/应用层 CC且单台服务器与常规限速难以缓解时,建议引入云厂商/专业 DDoS 防护/CDN或上游清洗服务,结合自动伸缩边界 WAF,形成多层纵深防御。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Tomcat如何防止DDoS攻击
本文地址: https://pptw.com/jishu/770481.html
Linux下Telnet命令详解 Telnet连接Linux失败怎么办

游客 回复需填写必要信息