在Linux系统中,合理配置iptables防火墙规则,可以有效缓解CC攻击带来的压力。比如,可通过connlimit模块限制每个源IP在established/related状态下的并发连接数,并结合实际业务场景设置合适阈值(如官网20–30、API接口50–100),同时配合recent模块拦截短时间内高频建立连接的访问行为。也可以使用iptables -m recent结合脚本实现Web CC攻击防御,其中recent模块由内核完成毫秒级访问频次识别与临时封禁,脚本则负责日志分析、长期黑名单维护、自动解封以及安全告警。典型配置示例(HTTP 80端口,1秒内≥10次新连接即触发熔断)如下:
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --name http_cc --rcheck --seconds 1 --hitcount 10 -j DROP
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --name http_cc --set
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
1.限制单个IP的最大并发连接数
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j REJECT #允许单个IP的最大连接数为 302.限制单个IP在指定时间内允许新建的连接数量
iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 30 -j REJECT iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEPT #单个IP在60秒内只允许最多新建30个连接当网站服务器遭遇CC攻击时,通过部署合适的iptables规则,可以自动封禁异常IP地址,快速降低恶意请求对Web服务器和业务服务的影响,从而提升Linux服务器的安全防护能力与访问稳定性。
