首页主机资讯LNMP怎样防止DDoS攻击

LNMP怎样防止DDoS攻击

时间2025-11-18 19:27:03发布访客分类主机资讯浏览832
导读:LNMP环境下防御DDoS的实用方案 一 分层防御思路 边缘与网络层:优先把流量交给CDN/WAF,利用其全球清洗与缓存能力,显著降低源站压力。 主机与传输层:用iptables/ufw/firewalld做端口与来源管控,仅暴露必要服务...

LNMP环境下防御DDoS的实用方案

一 分层防御思路

  • 边缘与网络层:优先把流量交给CDN/WAF,利用其全球清洗与缓存能力,显著降低源站压力。
  • 主机与传输层:用iptables/ufw/firewalld做端口与来源管控,仅暴露必要服务。
  • 应用层(Nginx):开启连接数限制速率限制,抵御连接耗尽与CC类攻击。
  • 应用与数据库:精简与加固PHP/MySQL,降低被滥用风险。
  • 自动化处置:用Fail2Ban基于日志自动封禁恶意IP。
  • 运维与响应:持续更新补丁监控告警,遇到大流量及时与ISP/云厂商联动清洗。
    以上做法能在多数LNMP场景下有效缓解DDoS/CC冲击,但无法“完全杜绝”,需分层协同与应急预案配合。

二 Nginx关键配置示例

  • 并发连接数限制(防连接耗尽)
http {
    
    limit_conn_zone $binary_remote_addr zone=addr:10m;

    server {
    
        listen 80;

        location / {
    
            limit_conn addr 10;
   # 每个IP最大并发连接数
        }

    }

}

  • 请求速率限制(防CC)
http {
    
    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

    server {
    
        listen 80;

        location / {
    
            limit_req zone=one burst=5 nodelay;
  # 突发5个请求,不延迟处理
        }

    }

}

  • 敏感目录访问控制(减少攻击面)
location /sensitive-data {
    
    allow 192.168.1.0/24;
    
    deny all;

}

  • 强制HTTPS(降低明文滥用与劫持风险)
server {
    
    listen 80;
    
    server_name example.com;
    
    return 301 https://$host$request_uri;

}
    

上述配置分别通过连接/速率限制与访问控制,削弱DDoS/CC与暴力扫描对Nginx的冲击。

三 防火墙与Fail2Ban

  • 防火墙基础策略
    • Ubuntu(ufw):仅放行必要端口
      sudo ufw enable
      sudo ufw default deny incoming
      sudo ufw default allow outgoing
      sudo ufw allow 22/tcp
      sudo ufw allow 80/tcp
      sudo ufw allow 443/tcp
      
    • CentOS(firewalld):按来源与端口精细化放行
      firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="123.123.123.123" port port="80" protocol="tcp" accept'
      firewall-cmd --reload
      
    • 也可在iptables层对特定来源放行80/443,其余默认丢弃(务必保留管理通道如22)。
  • Fail2Ban自动封禁
    • 安装与启用
      sudo apt-get install fail2ban    # Ubuntu/Debian
      sudo yum install fail2ban        # CentOS/RHEL
      sudo systemctl enable --now fail2ban
      
    • 保护Nginx示例(/etc/fail2ban/jail.local)
      [nginx]
      enabled = true
      port = http,https
      filter = nginx-badbots
      logpath = /var/log/nginx/access.log
      maxretry = 3
      bantime = 600
      

通过“最小暴露面+自动封禁”,可在攻击初期快速抑制恶意来源。

四 应用与数据库加固

  • PHP
    • 禁用危险函数、限制上传大小与类型、严格校验输入与输出;使用CSP等安全头降低XSS风险。
  • MySQL
    • 仅允许可信来源访问、最小权限分配、强口令策略;必要时对连接加密。
  • 通用
    • 持续更新系统与软件、修补漏洞,减少被利用的可能。
      这些措施能降低应用层被滥用后放大攻击的风险,配合Nginx限流形成纵深防御。

五 监控响应与高等级防护

  • 监控与日志
    • 实时查看资源与连接:top/htopiotop;分析访问与错误日志,配合fail2ban/logwatch建立告警基线。
  • 专业防护与协同
    • 启用CDN/WAF(如 Cloudflare)进行缓存与规则拦截,进一步分散与清洗流量。
    • 遭遇大规模攻击时,及时与ISP/云厂商联动进行上游清洗或启用高防服务。
      持续监控与上游协同是应对大流量攻击的关键环节。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: LNMP怎样防止DDoS攻击
本文地址: https://pptw.com/jishu/750424.html
LNMP如何提升网站访问速度 LNMP如何搭建WordPress网站

游客 回复需填写必要信息