Apache Tomcat服务器上的HTTP洪水导致问题

Apache Tomcat服务器上的HTTP洪水导致问题,apache,http,tomcat9,flooding,Apache,Http,Tomcat9,Flooding,我在运行端口80的apache服务器上遇到了小的HTTP洪水,该服务器在端口8080上代理tomcat 现在发生的情况是,这导致tomcat根据通过cloudflare防火墙和我的服务器防火墙的客户端数量(我为我的Apache服务器安装了libapache2 mod qos)创建100到1000个会话 IPTABLES: /sbin/iptables -A INPUT -p tcp -m connlimit --connlimit-above 111 -j REJECT --reject-wi

我在运行端口80的apache服务器上遇到了小的HTTP洪水,该服务器在端口8080上代理tomcat

现在发生的情况是,这导致tomcat根据通过cloudflare防火墙和我的服务器防火墙的客户端数量(我为我的Apache服务器安装了
libapache2 mod qos
)创建100到1000个会话

IPTABLES:


/sbin/iptables -A INPUT -p tcp -m connlimit --connlimit-above 111 -j REJECT --reject-with tcp-reset
/sbin/iptables -A INPUT -p tcp --tcp-flags RST RST -m limit --limit 2/s --limit-burst 2 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --tcp-flags RST RST -j DROP
/sbin/iptables -A INPUT -p tcp -m conntrack --ctstate NEW -m limit --limit 60/s --limit-burst 20 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m conntrack --ctstate NEW -j DROP
iptables -A INPUT -p tcp --dport 80 -m hashlimit --hashlimit-upto 50/min \
    --hashlimit-burst 500 --hashlimit-mode srcip --hashlimit-name http -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP

例如:

现在这对我来说是个大问题,如果有人能帮我弄清楚如何解决这个问题,我会很高兴的

mod qos配置:

<IfModule qos_module>
  # handle connections from up to 100000 different IPs
   QS_ClientEntries 100000
   # allow only 50 connections per IP
   QS_SrvMaxConnPerIP 10
   # limit maximum number of active TCP connections limited to 256
   MaxClients 256
   # disables keep-alive when 180 (70%) TCP connections are occupied
   QS_SrvMaxConnClose 180
   # minimum request/response speed
   # (deny slow clients blocking the server, keeping connections open without requesting anything
   QS_SrvMinDataRate 150 1200
</IfModule>

#处理多达100000个不同IP的连接
QS_客户人数100000
#每个IP仅允许50个连接
QS_SRVMAXCONN 10
#将活动TCP连接的最大数量限制为256
MaxClients 256
#当180(70%)TCP连接被占用时,禁用保持活动状态
QS_srvmaxconnconclose 180
#最小请求/响应速度
#(拒绝阻塞服务器的慢速客户端,保持连接打开而不请求任何内容。)
QS_SrvMinDataRate 150 1200

据您所知,这是合法流量,而不是DOS/DDOS的一部分吗? 我假设涉及cloudflare,但如果不是这样,那么最好让IPS在应用程序级别检查流量,并根据匹配的攻击特征拒绝流量

如果是ligitmate,那么您需要根据tomcat应用程序生成的代码和日志来评估它是如何运行的

可能Tomcat应用程序要求客户端将此数据发送入站