Cloudflare DDoS防护:有效抵御网站攻击的终极指南

引言

Cloudflare是一家公司,通过充当网站的反向代理,提供内容分发网络(CDN)和分布式DNS服务。Cloudflare的免费和付费服务可用于以多种方式提高网站的安全性、速度和可用性。

在本教程中,您将学习如何使用Cloudflare的免费套餐服务来保护您的Web服务器免受持续的基于HTTP的分布式拒绝服务(DDoS)攻击,方法是启用“我受到攻击模式”。此安全模式可以通过展示一个过渡页面来验证连接的合法性,然后再将连接传递到您的Web服务器,从而减轻DDoS攻击的影响。

先决条件

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

  • 一个Web服务器
  • 一个指向您的Web服务器的已注册域名
  • 可以访问颁发该域名的域名注册商的控制面板

在继续之前,您必须注册一个Cloudflare账户。

注意

注意:本教程需要使用Cloudflare的域名服务器。

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

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

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

添加一个网站并扫描DNS记录

登录后,您将进入Cloudflare的入门页面。在这里,您需要在页面顶部点击“添加站点”按钮,将您的网站添加到Cloudflare中。

添加站点按钮

输入您想要与Cloudflare一起使用的域名,并点击“添加网站”按钮。您应该会被带到一个看起来像这样的页面。

选择Cloudflare套餐

在本教程中,我们将选择免费的计划选项。如果您想为其他计划付费,因为您需要额外的Cloudflare功能,请随意这样做。然后,点击继续按钮。

下一页显示了您网站的DNS记录扫描结果。请确保您的所有现有DNS记录都存在,因为Cloudflare将使用这些记录来解析对您域名的请求。在我们的示例中,我们使用flippeddev.com作为域名。

添加DNS记录

请注意,对于指向您的Web服务器的A和CNAME记录,状态列应该有一个带有箭头的橙色云。这表示流量在到达您的服务器之前将通过Cloudflare的反向代理进行传输。

更改您的域名服务器

下一页将显示需要移除的域名服务器和应添加的Cloudflare域名服务器。以下是页面可能的示例:

更改您的域名服务器

要更改您的域名服务器,请登录到您的域名注册商控制面板,并进行Cloudflare提供的DNS更改。举例来说,如果您通过像Google或NameCheap这样的注册商购买了您的域名,您将需要登录到相应的注册商控制面板并在那里进行更改。

具体步骤因您所选择的域名注册商而不同。如果您无法弄清楚如何操作,可以参考《如何从常见的域名注册商指向Silicon Cloud域名服务器》中所描述的过程,只是这次您将使用Cloudflare域名服务器而不是Silicon Cloud的。

在这个例子中,域名正在使用Silicon Cloud的域名服务器,我们需要更新为使用Cloudflare的DNS。

当您更改完命名服务器后,请点击“继续”按钮。命名服务器的切换可能需要长达24小时的时间,但通常只需要几分钟。

等待名称服务器更新

由于更新名称服务器所需的时间无法预测,您很可能会看到下一页:

待处理的域名服务器

待处理状态意味着Cloudflare正在等待域名服务器更新为指定的那些(例如:olga.ns.Cloudflare.com和rob.ns.Cloudflare.com)。如果您更改了域名的域名服务器,则只需等待并稍后查看是否为活跃状态。如果您点击重新检查域名服务器按钮或导航到Cloudflare仪表板,系统将检查域名服务器是否已更新。

Cloudflare正在运行

一旦域名服务器更新,您的域名将使用Cloudflare的DNS,并且您将看到其状态为活跃。

这意味着Cloudflare正在充当您网站的反向代理,而您可以使用注册套餐中提供的所有功能。如果您正在使用免费套餐,就像在本教程中一样,您将可以使用一些功能来提高您网站的安全性、速度和可用性。

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

还要注意设置概要,就在您的域名下方会显示您网站当前的安全级别(默认为中级)和其他一些信息。

在继续之前,为了充分利用Cloudflare,您需要按照以下指南进行操作:为所有Cloudflare用户推荐的首要步骤。这对于确保Cloudflare允许您想要允许的服务的合法连接,以及确保您的网络服务器日志中显示原始访问者的IP地址(而不是Cloudflare的反向代理IP地址)非常重要。

一旦设置完成,让我们来看看Cloudflare防火墙中的“我受到攻击模式”设置。

第二步 – 启用“我遭受攻击”模式

默认情况下,Cloudflare的防火墙安全级别设置为中等。这对于被评定为中等威胁的访问者提供了一定的保护,当其尝试访问您的网站时,会先呈现一个挑战页面,然后才允许其继续访问。然而,如果您的网站成为DDoS攻击的目标,这可能不足以确保您的网站正常运行。在这种情况下,“我被攻击模式”可能适合您。

如果您启用此模式,访问您网站的任何访客都会被呈现一个中间页面,执行一些浏览器检查并将访客延迟大约5秒钟,然后将其传递到您的服务器。此页面的外观类似于下面这样:

过渡页面

如果检查通过,访问者将被允许进入您的网站。阻止和延迟恶意访问者连接您的网站的组合通常足以使其继续正常运行,即使在DDoS攻击期间也是如此。

注意

注:访问网站的用户必须启用JavaScript和Cookies才能通过过渡页面。如果这不可接受,请考虑使用“高”防火墙安全设置。

在您的网站成为DDoS攻击的受害者时,记得只开启“我正在遭受攻击”模式。否则,它应该关闭,以免无缘无故阻碍普通用户访问您的网站。

如何启用“我受到攻击模式”

如果您想启用“我被攻击”模式,最简便的方法是打开Cloudflare概览页面(默认页面),然后在右侧边栏切换开启。

攻击模式操作

安全设置将立即切换到“我遭受攻击”状态。现在,任何访问您网站的访客将会出现上述描述的Cloudflare插页。

怎样关闭“我正在受到攻击模式”

由于“我正在受到攻击模式”应该仅在遭受分布式拒绝服务(DDoS)攻击时使用,如果没有遭受攻击,您应该禁用它。要这样做,请转到Cloudflare概述页面,并关闭它。这将打开一个类似于这样的窗口。

我受到攻击模式已禁用

然后选择您希望切换到的安全级别。默认和一般推荐的模式是中等级。您的网站应该恢复为活动状态,并且DDoS保护页面将被禁用。

结论

现在您的网站使用了Cloudflare,您有另一种工具可以轻松保护它免受HTTP DDoS攻击。Cloudflare还提供了各种其他工具供您设置,如免费的SSL证书。因此,建议您探索一下选项,看看哪些对您有用。

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

bannerAds