如何使用Cloudflare防火墙阻止机器人?

从爬虫和机器人获得了大量请求,这对你的业务没有任何价值吗?

每天有数千个爬虫/机器人访问您的网站,但只有很少几个是有用的。其中一些被认为是不良机器人或垃圾邮件。

你如何知道有哪些机器人访问了你的网站?

嗯,没有简单的答案。要找出,您需要查看Web服务器的access.log文件,并查看User-Agent列。假设您想列出除Googlebot之外的所有机器人,则可以在存在access.log文件的Web服务器上运行以下命令。

grep bot access.log |grep -v Googlebot

看到这么多,你感到惊讶吗?

当我查看我的日志时,我也是。

root@gf-prod:nginx# grep bot access.log |grep -v Googlebot | wc -l
616834
root@gf-prod:nginx#

在阻止任何内容之前,您需要对它们进行审查,以确保您不会阻止可能对您的业务有用的内容。而且,有很多方法可以完成此操作,但我总是喜欢在边缘阻止它们。

原因很简单 – 为什么要让请求命中Web服务器,当您根本不需要它们。

就像标题所说的那样,让我们看看如何使用Cloudflare防火墙阻止您不需要的机器人。

注意:如果您经营大型企业,则可能对Cloudflare bot management服务感兴趣。

  • 登录Cloudflare
  • 转到防火墙选项卡,然后选择防火墙规则并创建防火墙规则

  • 输入规则名称
  • 将字段选择为用户代理,操作员选择包含,值选择要阻止的机器人名称
  • 使用或条件在单个规则中添加多个机器人

注意:上图中提到的机器人仅作示例。他们不一定是不良机器人。

  • 然后选择操作为阻止并部署
  • 如果您知道表达式,则可以通过单击编辑表达式而不是使用GUI来编写它。部署后,您应该在列表中看到新创建的规则,并且状态应为开启以生效。

很简单,不是吗?

防火墙规则还能做什么?

好吧,更多用于更好安全性的功能。让我们看看以下阻止条件。

  • 如果请求来自特定的ASN,IP地址
  • 匹配cookie,引荐者,X-Forwarded-for关键字
  • 限制为整个国家提供请求
  • 禁用不需要的HTTP method,如PUT,DELETE,OPTIONS,PURGE等。

以及更多选项…

您可以通过GUI构建器或编写自己的表达式来完成所有这些操作。应用更改几乎是即时的。

结论

Cloudflare防火墙规则是在无需停机的情况下为您的Web应用程序添加网络边缘保护的绝佳方法。如果尚未这样做,您可能还需要考虑使用Cloud WAF以获得更好的应用程序安全性,并保护免受DDoS和其他在线漏洞的影响。

类似文章