ubuntu

Ubuntu LNMP服务器如何防止DDoS攻击

小樊
51
2025-09-18 13:57:47
栏目: 云计算

Ubuntu LNMP服务器防止DDoS攻击的综合策略

1. 基础网络层防护:防火墙配置

使用ufw(Uncomplicated Firewall)或iptables限制不必要的入站流量,仅开放必需端口(如SSH的22/tcp、HTTP的80/tcp、HTTPS的443/tcp),默认拒绝所有入站请求。例如,ufw的基础配置命令:
sudo ufw enable && sudo ufw default deny incoming && sudo ufw allow 22/tcp && sudo ufw allow 80/tcp && sudo ufw allow 443/tcp
通过iptables可进一步限制单IP连接速率,如限制80端口每秒最多接受5个新连接:
sudo iptables -A INPUT -p tcp --syn --dport 80 -m limit --limit 5/s -j ACCEPT && sudo iptables -A INPUT -p tcp --syn --dport 80 -j DROP

2. Nginx应用层防护:限制连接与请求

通过Nginx内置模块控制并发连接和请求速率,避免单个IP占用过多资源:

3. 自动封禁恶意IP:Fail2Ban

安装fail2ban监控Nginx日志(/var/log/nginx/access.log),自动封禁频繁发起恶意请求的IP(如60秒内失败3次,封禁10分钟):

sudo apt-get install fail2ban
sudo systemctl enable fail2ban && sudo systemctl start fail2ban

创建自定义配置文件/etc/fail2ban/jail.local,添加以下内容:

[nginx]
enabled = true
port = http,https
filter = nginx-badbots
logpath = /var/log/nginx/access.log
maxretry = 3
bantime = 600

4. CDN与反向隧道:隐藏真实IP

使用Cloudflare等CDN服务,将域名解析到CDN节点IP,而非服务器真实IP,由CDN分散流量并缓存静态内容(如图片、CSS、JS),减轻服务器压力。配置时需关闭Nginx的real_ip模块(若开启),避免泄露真实IP。

5. Web应用防火墙(WAF):过滤恶意请求

安装ModSecurity(开源WAF),通过规则集(如OWASP Core Rule Set)识别并阻止SQL注入、跨站脚本(XSS)、慢速HTTP攻击等恶意请求。安装命令示例:

sudo apt-get install libapache2-mod-security2
sudo systemctl enable apache2-mod-security2 && sudo systemctl start apache2-mod-security2

需将Nginx配置为反向代理转发请求至Apache(若使用Apache作为WAF),或在Nginx中集成ModSecurity模块。

6. 系统与服务优化:降低攻击影响

7. 监控与应急响应:及时发现与处置

0
看了该问题的人还看了