在CentOS上配置Apache以防御DDoS攻击涉及多个步骤和技术。以下是一些关键的防御措施:
使用iptables
或firewalld
来限制入站和出站流量,只允许特定端口的流量通过。例如:
# 允许SSH和HTTP流量通过
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 其他流量拒绝
iptables -A INPUT -j DROP
或者使用firewalld
:
# 允许SSH和HTTP流量通过
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
通过设置反向代理服务器(如Nginx或HAProxy)来分担服务器压力,隐藏真实的Apache服务器。
ModSecurity是一个开源的Web应用程序防火墙,可以检测和阻止恶意请求。安装并配置ModSecurity以增强Apache的安全性。
使用mod_evasive
或mod_qos
等模块来限制单个IP地址的最大连接数,防止恶意用户通过发起大量连接消耗服务器资源。
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify [email protected]
</IfModule>
内容分发网络(CDN)可以分散流量,减轻服务器压力,并提供一定程度的DDoS防护服务。
及时更新Apache和其他软件的补丁,确保服务器安全性和稳定性。
SYN Cookies是一种防御SYN Flood攻击的机制。在/etc/sysctl.conf
中启用SYN Cookies:
net.ipv4.tcp_syncookies = 1
sysctl -p
实时监控网络流量,设置异常流量报警。可以使用Zabbix、Prometheus等监控工具。
通过上述措施,可以显著提高CentOS上Apache服务器的安全性,有效防御DDoS攻击。