我发现当网站遭遇CC攻击时,封了IP后,被封IP的请求依然可以得到nginx的响应(响应了错误状态码),这样的封IP机制导致被封IP的请求依然会占用nginx连接,当遭遇大并发CC攻击的时候,虽然CPU和内存占用不多,但大量的TCP连接将占用大量的带宽,导致网站无法正常访问。
我处理这个问题的笨办法是将nginx防火墙封掉的IP导出,再重新添加到firewalld的禁止列表中。
像这样:
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="8.8.8.8" drop'
总结:被封的IP不应该继续响应,而是直接丢弃,不建立连接,防止利用此问题进行流量攻击。
|
|