启用系统防火墙
# 使用iptables或nftables设置基本防护
sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP
sudo iptables -A INPUT -p tcp --dport 443 -m connlimit --connlimit-above 50 -j DROP
调整内核参数
# 编辑/etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.conf.all.rp_filter = 1
Web服务器配置优化
Nginx示例:
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
limit_req zone=one burst=20;
limit_conn addr 10;
}
使用Fail2Ban
# 安装并配置Fail2Ban
sudo apt install fail2ban
# 配置针对HTTP异常的规则
部署专用防护工具
云服务集成
流量分析与监控
# 实时监控工具
sudo apt install iftop nload
# 日志分析工具
sudo apt install goaccess
攻击发生时:
事后分析:
建议根据业务特点组合使用以上措施,并定期进行压力测试验证防护效果。对于大规模攻击,应考虑专业DDoS防护服务。