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

来自菜鸟教程
跳转至:导航、​搜索

介绍

CloudFlare 是一家通过充当网站反向代理来提供内容交付网络 (CDN) 和分布式 DNS 服务的公司。 CloudFlare 的免费和付费服务可用于以多种方式提高网站的安全性、速度和可用性。 在本教程中,我们将向您展示如何使用 CloudFlare 的免费套餐服务,通过启用“我处于攻击模式”来保护您的 Web 服务器免受持续的基于 HTTP 的 DDoS 攻击。 这种安全模式可以通过在将连接传递到 Web 服务器之前显示一个插页式页面来验证连接的合法性来缓解 DDoS 攻击。

先决条件

本教程假设您具备以下条件:

  • 网络服务器
  • 指向您的 Web 服务器的注册域
  • 访问颁发域的域注册商的控制面板

在继续之前,您还必须注册一个 CloudFlare 帐户。 请注意,本教程将需要使用 CloudFlare 的名称服务器。

配置您的域以使用 CloudFlare

在使用 CloudFlare 的任何功能之前,您必须将您的域配置为使用 CloudFlare 的 DNS。

如果您还没有这样做,请登录 CloudFlare。

添加网站并扫描 DNS 记录

登录后,您将被带到 CloudFlare 入门 页面。 在这里,您必须将您的网站添加到 CloudFlare:

输入要使用 CloudFlare 的域名,然后单击 开始扫描 按钮。 您应该被带到如下所示的页面:

这大约需要一分钟。 完成后,单击继续按钮。

下一页显示 DNS 记录扫描的结果。 确保所有现有的 DNS 记录都存在,因为这些记录是 CloudFlare 将用于解析对您的域的请求的记录。 在我们的示例中,我们使用 cockroach.nyc 作为域:

请注意,对于指向您的 Web 服务器的 A 和 CNAME 记录,Status 列应该有一个橙色的云,并带有一个穿过它的箭头。 这表明流量将在到达您的服务器之前流经 CloudFlare 的反向代理。

接下来,选择您的 CloudFlare 计划。 在本教程中,我们将选择 Free plan 选项。 如果您因为需要额外的 CloudFlare 功能而想为不同的计划付费,请随意这样做:

更改您的域名服务器

下一页将显示您域的当前名称服务器的表格以及它们应该更改的内容。 其中两个应更改为 CloudFlare 名称服务器,其余条目应删除。 以下是如果您的域使用 DigitalOcean 名称服务器时页面可能看起来的示例:

要更改您的域的名称服务器,请登录到您的域注册商控制面板并进行 CloudFlare 提供的 DNS 更改。 例如,如果您通过 GoDaddy 或 NameCheap 等注册商购买了您的域名,您将需要登录相应的注册商控制面板并在其中进行更改。

该过程因您的特定域名注册商而异。 如果您不知道如何执行此操作,则它类似于 如何从公共域注册商 指向 DigitalOcean 名称服务器中描述的过程,但您将使用 CloudFlare 名称服务器而不是 DigitalOcean 的。

在示例案例中,域使用 DigitalOcean 的名称服务器,我们需要更新它以使用 CloudFlare 的 DNS。 该域是通过 NameCheap 注册的,所以我们应该去那里更新域名服务器。

更改完名称服务器后,单击 继续 按钮。 名称服务器切换最多可能需要 24 小时,但通常只需几分钟。

等待域名服务器更新

因为更新域名服务器需要花费不可预测的时间,接下来您很可能会看到此页面:

Pending 状态意味着 CloudFlare 正在等待名称服务器更新到它规定的那些(例如 olga.ns.cloudflare.comrob.ns.cloudflare.com)。 如果您更改了域的名称服务器,您所要做的就是等待并稍后检查 Active 状态。 如果您单击 Recheck Nameservers 按钮或导航到 CloudFlare 仪表板,它将检查名称服务器是否已更新。

CloudFlare 处于活动状态

域名服务器更新后,您的域将使用 CloudFlare 的 DNS,您将看到它具有 Active 状态,如下所示:

这意味着 CloudFlare 充当您网站的反向代理,您可以访问您注册的定价层可用的任何功能。 如果您使用的是 free 层,就像我们在本教程中一样,您将可以访问一些可以提高站点安全性、速度和可用性的功能。 我们不会涵盖本教程中的所有功能,因为我们专注于缓解持续的 DDoS 攻击,但它们包括 CDN、SSL、静态内容缓存、防火墙(在流量到达您的服务器之前)和流量分析工具。

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

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

设置完成后,让我们看看 CloudFlare 防火墙中的 I'm Under Attack Mode 设置。

我处于攻击模式

默认情况下,CloudFlare 的防火墙安全设置为 Medium。 这通过在允许他们继续访问您的网站之前向他们展示一个挑战页面来为被评为中度威胁的访问者提供一些保护。 但是,如果您的站点是 DDoS 攻击的目标,那么这可能不足以使您的站点保持正常运行。 在这种情况下,I'm Under Attack Mode 可能适合您。

如果您启用此模式,您网站的任何访问者都将看到一个插页式页面,该页面会执行一些浏览器检查并将访问者延迟大约 5 秒钟,然后再将其传递到您的服务器。 它看起来像这样;

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

注意: 网站访问者必须启用 JavaScript 和 Cookie 才能通过插页式页面。 如果这不可接受,请考虑改用“高”防火墙安全设置。


请记住,当您的站点是 DDoS 攻击的受害者时,您只想启用 I'm Under Attack Mode。 否则,应将其关闭,以免普通用户无缘无故地访问您的网站。

如何启用我处于攻击模式

如果要启用我处于攻击模式,最简单的方法是进入CloudFlare概述页面(默认页面)并从快速操作菜单中选择它:

安全设置将立即切换到 I'm Under Attack 状态。 现在,您网站的任何访问者都将看到上面描述的 CloudFlare 插页式页面。

如何禁用我处于攻击模式

由于 I'm Under Attack Mode 只能在 DDoS 紧急情况下使用,如果您没有受到攻击,则应禁用它。 为此,请转到 CloudFlare 概述页面,然后单击 Disable 按钮:

然后选择您要切换到的安全级别。 默认且通常推荐的模式为 Medium

您的站点应恢复为 Active 状态,并且 DDoS 保护页面将被禁用。

结论

现在您的网站正在使用 CloudFlare,您有了另一个工具可以轻松地保护它免受基于 HTTP 的 DDoS 攻击。 CloudFlare 还提供了您可能有兴趣设置的各种其他工具,例如免费的 SSL 证书。 因此,建议您探索选项并查看对您有用的选项。

祝你好运!