介绍
Cloudflare是一家通过充当网站的反向代理提供内容传递网络(CDN)和分布式DNS服务的公司。Cloudflare的免费和付费服务可用于以多种方式改善网站的安全性、速度和可用性。
在本教程中,您将学习如何使用Cloudflare的免费套餐服务,通过启用“我正在遭受攻击模式”来保护您的Web服务器免受持续的基于HTTP的分布式拒绝服务(DDoS)攻击。这种安全模式可以通过呈现插页来验证连接的合法性,然后将其传递给您的Web服务器,从而缓解DDoS攻击的影响。
先决条件
本教程假定您具有以下内容:
- A web server
- A registered domain that points to your web server
- 访问颁发域名的域名注册商控制面板的权限
在继续之前,您还必须注册一个Cloudflare账户。
注意:本教程将需要使用Cloudflare的域名服务器。
步骤1 – 配置您的域名以使用 Cloudflare
在使用 Cloudflare 的任何功能之前,您必须配置您的域名以使用 Cloudflare 的 DNS。
如果您还没有这样做,请登录 Cloudflare。
添加网站并扫描 DNS 记录
登录后,您将被带到 开始使用 Cloudflare 页面。在这里,您必须点击顶部的 添加站点 按钮将您的网站添加到 Cloudflare:
输入您想要与 Cloudflare 一起使用的域名,并点击 添加网站 按钮。您应该被带到一个看起来像这样的页面:
在本教程中,我们将选择 免费计划 选项。如果您想支付不同的计划费用,因为您想要额外的 Cloudflare 功能,请随意这样做。然后,点击 继续 按钮。
下一页显示了您网站的 DNS 记录扫描结果。请确保所有现有的 DNS 记录都存在,因为这些记录是 Cloudflare 用来解析对您域名的请求的记录。在我们的示例中,我们使用了 flippeddev.com
作为域名。
请注意,对于指向您的 Web 服务器的 A 和 CNAME 记录,状态列应该有一个橙色的云,带有一个穿过它的箭头。这表示流量将在到达您的服务器之前通过 Cloudflare 的反向代理流过。
更改您的域名服务器
下一页将显示需要删除的名称服务器以及应添加的 Cloudflare 名称服务器。以下是页面可能的样子:
要更改您域名的名称服务器,请登录到您的域名注册商控制面板,并进行 Cloudflare 提示的 DNS 更改。例如,如果您通过像 Google 或 NameCheap 这样的注册商购买了域名,您需要登录到相应的注册商控制面板,并在那里进行更改。
该过程因您特定的域名注册商而异。如果您不知道如何操作,可以参考如何从常见的域名注册商指向 DigitalOcean 的名称服务器中描述的过程,只是您将使用 Cloudflare 的名称服务器而不是 DigitalOcean 的。
在示例中,该域名正在使用 DigitalOcean 的名称服务器,我们需要将其更新为使用 Cloudflare 的 DNS。
更改完您的域名服务器后,请点击继续按钮。域名服务器切换可能需要最长 24 小时,但通常只需几分钟。
等待域名服务器更新
由于域名服务器更新的时间不确定,您很可能会在接下来看到这个页面:
处于等待状态意味着 Cloudflare 正在等待域名服务器更新为其指定的服务器(例如 olga.ns.Cloudflare.com
和 rob.ns.Cloudflare.com
)。如果您更改了域名的域名服务器,您只需等待并稍后查看活动状态。如果您点击重新检查域名服务器按钮或导航到 Cloudflare 仪表板,它将检查域名服务器是否已更新。
Cloudflare 已激活
一旦域名服务器更新,您的域名将使用 Cloudflare 的 DNS,并且您将看到它处于活动状态。
这意味着Cloudflare充当了您网站的反向代理,您可以访问您所注册的定价层提供的任何功能。如果您使用本教程中使用的免费层,您将能够使用一些功能来提高您网站的安全性、速度和可用性。
在本教程中,我们不会涵盖所有功能,因为我们专注于减轻正在进行的DDoS攻击,但它们包括CDN、SSL、静态内容缓存、防火墙(在流量到达您的服务器之前)和流量分析工具。
还请注意设置摘要,显示在您的域名正下方,将显示您网站当前的安全级别(默认为中级)和一些其他信息。
在继续之前,为了充分利用Cloudflare,您将希望按照此指南操作:所有Cloudflare用户的推荐第一步。这很重要,以确保Cloudflare允许您希望允许的服务的合法连接,以及使您的Web服务器日志显示原始访问者IP地址(而不是Cloudflare的反向代理IP地址)。
一旦设置完成,让我们来看看Cloudflare防火墙中的我正在遭受攻击模式设置。
第2步 – 启用我正在遭受攻击模式
默认情况下,Cloudflare的防火墙安全性设置为中等。这为受到中度威胁的访问者提供了一些保护,通过向他们展示一个挑战页面,然后允许他们继续访问您的站点。然而,如果您的站点成为DDoS攻击的目标,这可能不足以保持您的站点正常运行。在这种情况下,我受到攻击模式可能适合您。
如果您启用此模式,您网站的任何访问者都将看到一个插页,该插页执行一些浏览器检查,并在将访问者传递到您的服务器之前延迟访问者约5秒钟。它会看起来像这样;
如果检查通过,访问者将被允许访问您的网站。阻止和延迟恶意访问者连接到您的站点的组合通常足以使其在DDoS攻击期间保持运行。
注意: 访问站点的访问者必须启用JavaScript和Cookies以通过插页。如果这不可接受,请考虑改用“高”防火墙安全性设置。
请记住,只有在您的站点成为DDoS攻击的受害者时才应启用我受到攻击模式。否则,它应该被关闭,以免无故延迟正常用户访问您的网站。
如何启用我受到攻击模式
如果你想启用”我正在遭受攻击模式”,最简单的方法是转到Cloudflare概述页面(默认页面),在右侧边栏切换它:
安全设置将立即切换到”我正在遭受攻击”状态。现在,您网站的任何访问者都将看到上面描述的Cloudflare插页。
如何禁用我正在遭受攻击模式
“我正在遭受攻击模式”应该只在遭受DDoS攻击紧急情况下使用,如果没有遭受攻击,您应该禁用它。要这样做,请转到Cloudflare概述页面,并关闭它。这将打开一个对话框,如下所示:
然后选择您想要切换到的安全级别。默认和通常推荐的模式是”中等”中等。
您的网站应该恢复到”活跃”状态,并且DDoS防护页面将被禁用。
结论
现在您的网站正在使用Cloudflare,您有另一个工具可轻松保护它免受基于HTTP的DDoS攻击。Cloudflare还提供了各种其他工具,您可能有兴趣设置,例如免费的SSL证书。因此,建议您探索各种选项,看看对您有用的内容。您可以通过我们的《如何在Ubuntu 22.04上使用Cloudflare和Nginx托管网站》教程了解更多有关如何使用Cloudflare保护您的网站的信息。