意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

怎样保护Nginx服务器免受DDoS攻击

来源:恒创科技 编辑:恒创科技编辑部
2023-08-08 15:00:00

  相关报告显示,黑客每天都在企图使用新方法发起 DDoS 攻击。这使得 DDoS 保护成为服务器安全的关键一步。在恒创科技,我们帮助我们的香港服务器租用用户在其服务器上实施 DDoS 保护,并提供卓有成效的香港高防服务器来帮助企业和开发者实现全品类 DDoS 攻击的智能检测和高效防护。今天,我们将讨论几种 Nginx 服务器中预防 DDoS 的不同方式。


  众所周知,DDoS(分布式拒绝服务)攻击通过使用来自多台联网设备的过多流量来使您的服务器系统过载或饱和,从而导致服务器宕机,网络拥塞,您的品牌声誉受损,财务损失等等。在恒创科技,我们启用多种沟通渠道,来协助用户实现 DDoS 保护。我们的香港服务器租用服务支持工程师会检查包含有关原始 IP 地址,地理位置等信息的服务器日志从而找到问题的根源。现在让我们看看我们的专用支持工程师使用的不同 Nginx DDoS 预防方法来缓解这种攻击。


  一、软件防火墙

  Nginx DDoS 预防的最简单方法之一是使用 CSF,iptables,UFW,APF 等软件防火墙。例如,在 iptables 中,我们的托管工程师使用脚本命令限制端口 80 上的连接数。并且,如果连接数超过连接限制,则该 IP 将在服务器中被阻止访问。同样,大多数 Web 主机在其 cPanel 服务器中使用 CSF 防火墙。在这里,我们调整 CT_LIMIT,CT_BLOCK_TIME,CT_INTERVAL 等参数来限制连接。同样,Ubuntu 服务器具有默认防火墙 UFW(简单防火墙)。UFW 的默认规则是拒绝所有传入连接并允许所有传出连接。因此,用户只能在服务器上启用所需的端口和 IP,从而减少服务器暴露于 DDoS 攻击的风险。


  二、调整 Nginx 参数

  我们的支持工程师调整各种 Nginx 参数以防止大规模 DDoS 攻击,包括:

  1.Nginx 工作进程

  我们调整的一个重要参数是 Nginx 配置文件 /etc/nginx/nginx.conf 中的工作进程数和连接数。我们逐步将工作进程和连接调整为更高的值来处理 DDoS 攻击。例如,我们通过设置 Nginx 配置文件,来调整工作连接,允许每个工作进程处理多达 50000 个连接。最重要的是,我们的支持工程师会在增加这些值之前检查服务器资源,因为未优化的值可能会破坏整台香港服务器。除此之外,我们还使用系统打开文件限制来限制连接数。换句话说,我们在 /etc/sysctl.conf 中修改参数 fs.file-max。另外,设定每个用户的开放文件限制数。例如在 /etc/security/limits.conf 文件中设置 Nginx 工作进程的打开文件限制。

  2. 限制请求率

  速率限制是防止 Nginx 中 DDoS 的方法之一。它可以限制在特定时间段内允许从特定客户端 IP 地址发出的请求数。如果超出此限制,Nginx 会拒绝这些请求。因此,这是我们的托管工程师在服务器强化过程中调整的最重要参数之一。我们调整 Nginx 配置文件中的 limit_req_zone 指令以限制请求。类似地,我们使用 limit_req 指令来限制与特定位置或文件的连接。

  3. 限制连接速率

  此外,我们的 Nginx Experts 速率限制了从单个 IP 地址进行的连接数。换句话说,我们调整 limit_conn_zone 和 limit_conn 指令以限制每个 IP 地址的连接数。


怎样保护Nginx服务器免受DDoS攻击


  4.Nginx 超时参数

  同样,与服务器的慢速连接使这些连接长时间保持对服务器的开放。因此,服务器无法接受新连接。在这种情况下,我们的技术支持专家调整 Nginx 的超时参数,如 client_body_timeout 和 client_header_timeout 较低值。使用 client_body_timeout 指令定义 Nginx 在客户端主体写入之间等待的时间。

  5. 限制 HTTP 请求大小

  同样,大缓冲区值或大 HTTP 请求大小使 DDoS 攻击更容易。因此,我们限制 Nginx 配置文件中的缓冲区值以减轻 DDoS 攻击。

  6. 限制与后端服务器的连接

  当 Nginx 用作负载均衡器时,我们的托管工程师会调整 Nginx 参数以限制每个后端服务器处理的连接数。所以,使用 max_conns 指令指定 Nginx 可以为服务器打开的连接数。该队列指令限制时,该组中的所有服务器已达到连接限制已排队的请求数。最后,timeout 指令指定可以在队列中保留请求的时间。除上述参数之外,我们还将 Nginx 配置为根据请求 URL,User-Agent,Referer,Request 标头等阻止连接。


  三、在服务器上安装 Fail2ban

  Fail2ban 是一款出色的入侵检测软件,可以阻止连接到服务器的可疑 IP。这会扫描服务器日志以查找可疑访问权限并在防火墙中阻止此类 IP。例如,我们创建一个 fail2ban jail /etc/fail2ban/jail.local 并添加相关代码来监控对 Nginx 的请求数。这将扫描 Nginx 日志文件并阻止 IP 与服务器建立过多连接。


  四、启用基于 sysctl 的保护

  另外,我们在 Nginx 服务器上调整内核和系统变量。我们在 /etc/sysctl.conf 文件中启用 syn cookie,泛洪速率限制,每 IP 限制。最重要的是,我们关注以下防止 IP 欺骗、允许 TCP SYN cookie 保护等参数。


  五、启用香港高防服务器

  除 DDoS 预防之外,我们建议客户采用恒创科技香港高防服务器来部署 Nginx。我们的香港高防服务器基于智能化的全品类 DDoS 攻击检测系统和流量清洗平台,接入高防线路,可以全天候 24 小时实时保护您的服务器免受 DDoS 攻击侵害。我们的香港高防服务器,根据攻击情况,支持自动侦测和秒级触发清洗高达 600Gbps 规模的 DDoS 攻击,支持压力测试,支持防御无效退款承诺。


  总之,Nginx 节点中的 DDoS 预防是确保安全性的重要一步,如果您的服务正在遭受攻击,则建议启用香港高防服务器。我们在此为您分享 Nginx 服务器中 DDoS 预防的基本方法,并时刻准备着为客户提供 DDoS 攻击防御技术支持,希望对您有所帮助。


上一篇: 2019清明节放假通知 下一篇: CentOS服务器的DDoS防护指南