我在运行端口80的apache服务器上遇到了小型HTTP洪水攻击,该服务器在端口8080上代理tomcat。
现在的情况是,这会导致tomcat创建100-1000个会话,这取决于有多少客户端通过了cloudflare防火墙和我的服务器(我为我的Apache服务器安装了libapache2-mod-qos )。
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>发布于 2020-09-02 01:10:00
据您所知,这是合法的通信,而不是DOS / DDOS的一部分?我假设cloudflare并非如此,然而,如果是这样,那么最好让IPS在应用程序级别检查流量,并根据匹配的攻击签名拒绝它。
如果是ligitmate,那么您将需要根据生成的代码和日志来评估tomcat应用程序是如何运行的。
也许Tomcat应用程序要求客户端将此数据发送入站。
https://stackoverflow.com/questions/63691960
复制相似问题