阅读此线程:Devs say AI crawlers dominate traffic, forcing blocks on entire countries | Hacker News
我想知道对于那些自行托管的人来说,如何应对爬虫几乎不停地进行 DDoS 攻击,尤其是在联邦宇宙(Fediverse)中的实例上。
阅读此线程:Devs say AI crawlers dominate traffic, forcing blocks on entire countries | Hacker News
我想知道对于那些自行托管的人来说,如何应对爬虫几乎不停地进行 DDoS 攻击,尤其是在联邦宇宙(Fediverse)中的实例上。
我认为,第一步是利用“新的”页面浏览量指标来量化这是一个多大的问题:
如果您看到大约 60% 的非人类流量,那可能没关系,您无需采取行动。
如果达到 95%……是的,可能是时候开始研究解决方案了。
设置“阻止的爬虫用户代理”是管理员的好帮手。垃圾流量对于 Discourse 来说不是大问题,因为负载不重。但我确实封禁了一些最差的爬虫,因为我非常讨厌它们的商业模式。大家都在抱怨 AI 公司窃取内容,它们确实在这样做,但 SEO 公司更糟糕——它们的爬虫非常贪婪。
但我也在使用地理封锁,因为我能做到。至少有六个国家是盗版者和其他恶意行为者的来源。但如果一个论坛是面向全球受众的,那当然就不可能了。
在我的 WordPress 网站上,同样的事情是通过 Nginx 在 Varnish 的帮助下完成的。
目前,我的论坛上人类与爬虫的比例大约是 50/50。
顺便说一句,标签可能不对,我猜。
我同意,AI 标签有一个插件图标,所以我认为它只适用于 AI 插件。我已经删除了它。
爬虫内容会被大量缓存,所以实际上我从未见过它们能够进行 DDoS 攻击。
你是否真的因此遇到了性能问题?
我希望我能说我有一个免费的解决方案,或者不需要使用任何外部服务。我把我的最大的论坛放在了 bunny.net 的 CDN 后面。他们有一个慷慨的免费套餐。但对于那个论坛,我每月支付 10 美元以获得他们的安全服务。它允许我阻止抓取工具、DDoS 和地理位置。就 CDN 而言,它们非常便宜且有效,而且它们不是 CloudFlare。许多在联邦宇宙(fediverse)上的人对他们评价很高。
我有一张来自他们 Shield 服务的图表。(我是个新手,每次回复只能放一张图表
)在第一张图中,在 200 万次总连接中,有 48.4 万次是机器人连接。我刚刚迁移到 CDN,还没有启用任何过滤或阻止。下一个显示有 1.1 万个机器人,并且由于访问列表(我阻止了中国和俄罗斯以及可能还有其他几个国家/地区)而被阻止了 9 万次。因此,在那一周的总共 70 万次请求中,大约有 10 万次来自机器人。
之后:
我以前是,但我制定了一些规则来处理它。

Cloudflare 一直对我很好,我从未为反机器人服务付费。再加上他们像反人工智能(anti-AI)这样的新功能很棒,我想这就是让我成为他们的客户和拥护者的原因。不想让人工智能抓取工具窃取您的数据?只需使用他们的一项托管规则(尽管就像我在我的网站上使用的那样,仅使用常规的 robotstxt 也是完全可能的)
…与通用的托管规则相比,效果好得多……
这些初创公司是否真正听取并尊重该文件是另一回事,但至少他们愿意尝试值得称赞。我以前的任何网站都没有出现过机器人问题,而且在我阅读了日志后,他们仍然能够直接在那里阻止常见的 WordPress 漏洞,这让我非常满意。
Facebook (meta) 也做过类似的事情,如果我禁用“AI 爬虫控制”,meta 每小时会发出 9K 个请求,所以唯一的办法是阻止它们全部。
在联邦宇宙中,我已经有一段时间没有这些问题了,但我还在等待更多关于 activitypub 的更新,因为即使我没有遇到任何问题,我的带宽也会无谓地受到影响。
完全正确,我正在使用一个使用 CF 的 lemmy 服务器,他们的管理员发布了这个教程
我也是,我目前的规则是:
not (cf.client.bot and (lower(http.user_agent) contains "googlebot" or lower(http.user_agent) contains "bingbot")) and ip.src != IP_BYPASS
并且根据上面那个 lemmy 服务器的规则:
(starts_with(http.user_agent, "Mozilla/") and http.request.version in {"HTTP/1.0" "HTTP/1.1" "HTTP/1.2" "SPDY/3.1"} and any(http.request.headers["accept"][*] contains "text/html") and http.user_agent wildcard r"HeadlessChrome/*" and http.request.uri.path contains "/xmlrpc.php" and http.request.uri.path contains "/wp-config.php" and http.request.uri.path contains "/wlwmanifest.xml" and ip.src.asnum in {200373 198571 26496 31815 18450 398101 50673 7393 14061 205544 199610 21501 16125 51540 264649 39020 30083 35540 55293 36943 32244 6724 63949 7203 201924 30633 208046 36352 25264 32475 23033 31898 210920 211252 16276 23470 136907 12876 210558 132203 61317 212238 37963 13238 2639 20473 63018 395954 19437 207990 27411 53667 27176 396507 206575 20454 51167 60781 62240 398493 206092 63023 213230 26347 20738 45102 24940 57523 8100 8560 6939 14178 46606 197540 397630 9009 11878 49453 29802} and http.user_agent wildcard r"Mozilla/*" and not cf.client.bot and not ip.src in {BYPASS_IP_1 RANGE_IP.0/23 RANGE_IP_2/24}) or (ip.src.country in {"T1" "XX"}) or (http.request.version in {"HTTP/1.0" "SPDY/3.1" "HTTP/1.2"})
对我来说这就足够了
这些规则帮助我在上个月度过了一次 DDoS(我不太确定是不是)
这里不是真正讨论 CloudFlare 优劣的地方,但我的问题不在于像您这样的人。我的问题在于他们非常愿意与之做生意的所有坏人。任何在网络安全领域与恶意软件和僵尸网络作斗争的人都会经常看到 CloudFlare 出现。同样,任何在线打击极端分子的人都知道,在其他提供商不愿意的情况下,CloudFlare 有多频繁地保护极端主义网站。问题不在于他们效率低下或价格太贵。问题在于他们在选择客户时的道德缺失。