CentOS服务器DDoS防御需分层设防:内核层调大tcp_max_syn_backlog、somaxconn并启用syncookies;网络层用iptables限速SYN连接、丢弃INVALID包;应用层部署mod_evasive拦截HTTP泛洪,辅以DDoS deflate自动封IP。

CentOS 服务器做 DDoS 防御,核心是分层设防:内核层控连接、网络层限流量、应用层拦恶意请求。不靠单一工具,而是组合策略,才能应对 SYN 泛洪、HTTP 慢速攻击、UDP 反射等不同类型的 DDoS。
调优 TCP 内核参数,缓解 SYN Flood
SYN 半连接堆积是最常见的入口瓶颈。默认值(如 tcp_max_syn_backlog=128、somaxconn=128)在高并发下极易被填满。需主动调大并启用保护机制:
- 编辑 /etc/sysctl.conf,追加以下内容:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.core.somaxconn = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_fin_timeout = 30
- 执行 sysctl -p 生效;
- 若运行 Apache,还需同步调整 MPM 的 ListenBacklog(如设为 2048),否则内核队列再大,应用层也接不住。
用 iptables 做实时连接限速
iptables 是轻量、可靠的第一道网关。重点不是“封所有”,而是“控节奏”:
- 新建链限制新连接速率(每秒最多 3 个 SYN,突发允许 6 个):
iptables -N syn-flood
iptables -I INPUT -p tcp --syn -j syn-flood
iptables -I syn-flood -m limit --limit 3/s --limit-burst 6 -j RETURN
iptables -A syn-flood -j REJECT
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
- 补充丢弃无效包规则(减少内核处理开销):
- iptables -t mangle -A PREROUTING -m conntrack --ctstate INVALID -j DROP
- CentOS 7+ 支持 SynProxy,对高危端口(如 80/443)启用可显著降低半连接压力。
部署 mod_evasive 防 HTTP 层泛洪
当攻击集中在 Web 层(比如单 IP 每秒刷几十个 /wp-login.php),iptables 很难精准识别,这时需要应用层拦截:
- 安装:yum install epel-release && yum install mod_evasive;
- 配置(/etc/httpd/conf.d/mod_evasive.conf)关键项:
DOSPageCount 2
DOSPageInterval 1
DOSSiteCount 50
DOSSiteInterval 1
DOSBlockingPeriod 600
DOSEmailNotify admin@yourdomain.com
- 含义:同一 IP 1 秒内访问同页面超 2 次,或全站请求超 50 次,即拉黑 10 分钟;
- 务必配合 systemctl restart httpd 生效,并确认 SELinux 不阻止模块加载(必要时设 setsebool -P httpd_can_network_connect 1)。
启用 DDoS deflate 自动封异常 IP
适合中小流量站点,作为辅助监控和响应手段:
- 安装:wget http://www.inetbase.com/scripts/ddos/install.sh && chmod +x install.sh && ./install.sh;
- 修改配置 /usr/local/ddos/ddos.conf:
FREQ=1
NO_OF_CONNECTIONS=100
KILL=1
APF_BAN=0
EMAIL_TO="admin@example.com"
- 注意:该脚本依赖 netstat,在高并发下有一定开销,建议仅用于应急补位,不替代 iptables 和内核调优。

















