如何利用 CloudFlare 缓解针对网站的 DDoS 攻击

介绍

Cloudflare是一家公司,提供内容交付网络(CDN)和分布式DNS服务,作为网站的反向代理。

在本教程中,您将学习如何使用Cloudflare的免费级别服务来保护您的Web服务器免受持续的基于HTTP的分布式拒绝服务(DDoS)攻击,通过启用 我处于攻击模式

前提条件

本教程假设您有以下内容:

  • 網頁伺服器
  • 指向您的網頁伺服器 的註冊網域 * 存取發出網域登記者的控制面板

您还必须在继续之前注册 Cloudflare 帐户。

<$>[注] **注:**本教程将需要使用Cloudflare的名称服务器。

步骤 1 - 配置您的域名以使用 Cloudflare

在使用任何 Cloudflare 功能之前,您必须配置您的域名以使用 Cloudflare 的 DNS。

如果你还没有这样做,请登录Cloudflare。

添加网站并扫描DNS记录

登录后,您将被带到 ** 开始使用 Cloudflare ** 页面. 在这里,您必须点击顶部的 ** 添加网站 ** 按钮来添加您的网站到 Cloudflare:

Add a site button

输入您想要使用 Cloudflare 的域名,然后点击添加网站按钮,您将被带到一个看起来像这样的页面:

Select Cloudflare Plan

在本教程中,我们将选择 免费计划选项. 如果您想为不同的计划支付,因为您想要额外的Cloudflare功能,请自由这样做。

下一页显示了您网站的 DNS 记录扫描结果. 请确保您的所有现有 DNS 记录都存在,因为这些是 Cloudflare 将使用的记录来解决您域的请求。

Add DNS Records

请注意,对于指向您的 Web 服务器(s)的 A 和 CNAME 记录, ** 状态(s)列应该有一个橙色云,一个箭头通过它,这表明流量将在击中您的服务器(s)之前通过 Cloudflare 的反向代理。

更改您的名称服务器

下一頁會顯示需要移除的名稱伺服器和應添加的 Cloudflare 名稱伺服器。

Change your nameservers

若要更改您的域名服务器,请登录您的域名注册器控制面板并进行 Cloudflare 提供的 DNS 更改,例如,如果您通过 Google 或 NameCheap 等注册器购买了您的域名,则需要登录相应的注册器控制面板并在那里进行更改。

如果您无法弄清楚如何做到这一点,则与 如何从常用域登记器中指向 DigitalOcean名称服务器中描述的过程类似,除非您将使用 Cloudflare 名称服务器而不是 DigitalOcean 的名称服务器。

在示例中,域使用了DigitalOcean的名称服务器,我们需要更新它以使用Cloudflare的DNS。

当你完成更改你的名称服务器时,点击 继续按钮. 名称服务器更换可能需要长达24小时,但通常只需要几分钟。

等待命名服务器更新

由于更新名称服务器需要不可预测的时间,您可能会看到下一个页面:

Pending nameservers

Pending状态意味着Cloudflare正在等待名称服务器更新到其所规定的名称服务器(例如: olga.ns.Cloudflare.comrob.ns.Cloudflare.com)。

Cloudflare 已启动

一旦命名服务器更新,您的域将使用Cloudflare的DNS,您将看到它具有活跃状态。

这意味着Cloudflare作为您的网站的反向代理程序,您可以访问您注册的定价级别的所有功能,如果您正在使用 free级别,正如我们在本教程中所看到的那样,您将可以访问一些功能,可以提高您的网站的安全性,速度和可用性。

我们不会涵盖本教程中的所有功能,因为我们专注于减轻持续的DDoS攻击,但它们包括CDN,SSL,静态内容缓存,防火墙(在流量到达服务器之前)和流量分析工具。

另外,请注意设置摘要,您的域名下面会显示您的网站的当前安全级别(默认中等)和一些其他信息。

在继续之前,为了充分利用 Cloudflare,您将需要遵循以下指南: 推荐所有 Cloudflare 用户的第一步 这对于确保 Cloudflare 允许您希望允许的服务的合法连接,并确保您的 Web 服务器日志显示原始访问者的 IP 地址(而不是 Cloudflare 的反向代理 IP 地址)。

一旦设置完毕,让我们看看Cloudflare防火墙中的I’m Under Attack Mode设置。

步骤 2 - 启用 ** 我处于攻击模式中**

默认情况下,Cloudflare的防火墙安全设置为 中等,这提供了对被评为中等威胁的访问者的一些保护,通过在允许他们继续访问您的网站之前向他们呈现一个挑战页面。

如果您启用此模式,任何访问您的网站的访问者将呈现一个间接页面,该页面执行一些浏览器检查,并延迟访问者大约5秒钟,然后将其传送到您的服务器。

Interstitial Page

如果检查通过,访问者将被允许进入您的网站. 防止和延迟恶意访问者连接到您的网站的组合往往足以保持并运行,即使在DDoS攻击期间。

<$>[注] **注:**网站访问者必须启用JavaScript和Cookie来传输中间页面.如果这不受理,请考虑使用防火墙安全设置。

请记住,当您的网站成为DDoS攻击的受害者时,您只需要启用I’m Under Attack Mode功能,否则它应该被关闭,以便不会令正常用户无缘无故访问您的网站。

如何允许我在攻击模式下

如果您想要启用 I'm Under Attack Mode,最简单的方法是访问 Cloudflare 概览页面(默认页面),并在右侧栏中切换:

Under Attack Mode action

安全设置将立即切换到 I'm Under Attack状态. 现在,您的网站的任何访问者都将呈现上文所述的Cloudflare间接页面。

如何禁用我在攻击模式下

由于 I'm Under Attack Mode只能在DDoS紧急情况下使用,所以如果你没有受到攻击,你应该禁用它。

I'm Under Attack disabled

然后选择您想要切换的安全级别. 默认和一般推荐的模式是 中等. 您的网站应该返回一个 ** 活跃**状态,然后DDoS保护页面将被禁用。

结论

现在你的网站正在使用Cloudflare,你有另一个工具来轻松地保护它免受HTTP基于的DDoS攻击。还有各种其他工具,Cloudflare提供,你可能对设置感兴趣,如免费SSL证书。

您可以了解更多有关使用 Cloudflare 来保护您的网站的信息,通过我们的 [如何在 Ubuntu 22.04 上使用 Cloudflare 和 Nginx 来托管网站] 教程。

Published At
Categories with 技术
comments powered by Disqus