跳转到主要内容
AG·SORA
技术

企业网站的机器人、抓取与自动化攻击防护:速率限制、WAF 与人机验证

发布于 10 分钟阅读作者:agsora.tech
AG·SORA / BLOGAG·SORA技术企业网站的机器人、抓取与自动化攻击防护:速率限制、WAF 与人机验证agsora.tech
本文目录

如今互联网上的大部分流量并非来自真人。多家网络服务商的安全报告反复显示,对网站的请求中有很大一部分来自自动化程序:既有合法的搜索引擎和监控工具,也有爬取数据的抓取器、尝试猜密码的程序、囤积热门商品的抢购机器人以及表单垃圾信息机器人。对企业而言,影响是实实在在的:产品价格被竞争对手复制,客户账户被泄露的密码攻破,联系表单被垃圾信息淹没,服务器被成千上万的虚假请求拖慢。

本文介绍如何认识自动化流量的类型、与企业网站和应用相关的风险,以及一套务实的分层防护:从速率限制、WAF 到人机验证。目标是让企业主和技术团队选择“刚好够用”的防护,既不伤害真实客户,也不会屏蔽真正带来流量的搜索引擎。

摘要

  • 并非所有机器人都是坏的:搜索引擎和监控服务应当放行,而抓取器、撞库和垃圾信息机器人则需要限制
  • 先从监控开始:在添加规则之前先观察流量模式,避免误封客户
  • 使用多层防护:速率限制、WAF 规则、IP 信誉以及不打扰用户的人机验证
  • 优先保护最有价值的环节:登录、注册、表单、搜索、优惠券和 API 接口
  • 用业务指标衡量效果,例如垃圾信息减少、账户被盗减少、服务器负载稳定
倾斜拍摄的发光电路板,布满线路
在设置防护规则之前,需要先把自动化流量与真人访客区分开

机器人的类型及其对业务的风险

了解威胁类型有助于选择合适的工具。以下是企业网站和应用中最常见的几类。

良性机器人

搜索引擎爬虫、可用性监控、链接检查器和官方聚合服务都属于此类。屏蔽它们意味着失去搜索结果中的曝光。请确保规则允许经过验证的爬虫,不要把它们与“所有非真人流量”混为一谈。

抓取器

复制您的商品目录、价格、库存或文章的程序。影响包括:竞争对手可以实时复制价格,您的内容出现在其他网站上,服务器负载上升。对网店而言,激进的抓取还会带来不必要的基础设施成本。

撞库与暴力破解

攻击者拿着从其他服务泄露的邮箱和密码列表,到您的登录页面逐个尝试。由于很多人重复使用密码,一部分尝试会成功。后果包括:账户被盗、积分或余额被滥用、声誉受损。最有效的预防是强身份认证,参见通行密钥与无密码登录以及单点登录与身份管理。

表单垃圾信息与虚假账户

联系表单、评论和注册被大量虚假条目淹没。其影响体现在:销售团队浪费时间筛选虚假线索,或事务性邮件被发送到无效地址,从而降低发件人信誉。

抢购机器人与囤货者

在限量商品、门票或限时促销中,机器人比人抢得更快。真实客户失望,库存流向转卖者。这与应对流量高峰的准备工作密切相关,参见大促前的压力测试。

流量攻击(应用层 DDoS)

向较重的页面(例如搜索或结账)发送洪水般的请求,使网站对所有人都变慢。这类攻击并不总是为了破坏;有时只是过于激进的机器人带来的副作用。

先监控,再封禁

常见的错误是一上来就设置严格规则,误封了真实客户。在此之前,先看清实际发生了什么。

  • **访问日志分析**:检查 IP 地址、用户代理(user agent)、请求的页面及频率
  • **可疑模式**:同一地址每分钟数百次请求、不自然的页面访问顺序,或连续的登录失败
  • **分段**:把公开页面、登录页、API 和表单的流量分开看,因为合理的阈值各不相同
  • **基线**:记录正常模式(高峰时段、每个会话的平均请求数),使异常容易被发现

这一做法与可观测性、日志与错误处理相互交叉。没有好的日志,您只能猜测。新规则先以“仅监控”模式运行,确认误封率较低之后,再改为“拦截”。

务实的分层防护

没有任何单一工具能解决所有问题。分层方式更有韧性,也更容易调整。

第 1 层:速率限制

在一定时间窗口内,限制每个地址、每个账户或每个 API 密钥的请求次数。采用不同阈值:公开页面宽松一些,登录和重置密码严格得多。返回明确的响应(例如状态码 429),让合法客户端知道需要等待。其原则与业务 API 设计:版本管理、文档与速率限制所述相同。

第 2 层:WAF 与基础规则

Web 应用防火墙过滤常见攻击模式,例如 SQL 注入和对已知漏洞的利用尝试。许多 CDN 和云服务商提供可快速启用的托管规则集。它是对安全编码和业务应用基础安全的补充,而不是替代。

第 3 层:IP 信誉与设备指纹

来自已知攻击源网络、并非普通用户所在的数据中心或匿名代理的地址,可以被施加额外验证。对按国家一刀切封禁要谨慎,因为这可能封掉合法的客户和合作伙伴,包括共享 IP 地址的移动网络用户。

第 4 层:低摩擦的人机验证

传统验证码令人厌烦,也不利于无障碍访问。现代方案是无感的,或基于行为信号,仅在风险较高时才出现验证。还可以考虑简单的技巧,例如表单中的蜜罐字段和最短填写时间。请确保您的选择不会把残障用户拒之门外,这与企业网站的无障碍访问一脉相承。

第 5 层:应用内部的防御

一些最有效的控制就在应用本身之内。

  • 多次登录失败后临时锁定账户或放慢速度
  • 对高价值账户启用两步验证
  • 优惠券和促销码绑定账户、一次性使用并设上限
  • 群发消息之前验证邮箱和手机号
  • 对限量商品的购买设置每个账户的配额
  • 监控异常交易,参见[网店的欺诈预防与支付安全](/blog/pencegahan-penipuan-dan-keamanan-pembayaran-toko-online)

保护最有价值的环节

并非每个页面都需要同样级别的保护。应根据业务价值和风险确定优先级。

登录与重置密码

这是撞库的主要目标。按账户和按地址设置速率限制,使用统一的错误提示以免泄露某个邮箱是否已注册,并在出现新设备登录时通知用户。

注册与表单

使用蜜罐、邮箱验证和提交次数限制。对于报价表单,应标记可疑条目而不是直接删除,这样在误判时销售团队仍可复核。

搜索与商品目录

较重的搜索是机器人压垮服务器的软肋。应采用缓存、速率限制以及每次请求的结果数上限。对于网店,可考虑高效的商品搜索与筛选,使每次请求的负载较低。

结账与优惠券

防范“盗刷测试”,即攻击者用小额交易测试数百张被盗银行卡。限制每个会话的支付尝试次数,并集成支付服务商的欺诈预防功能,会很有帮助。另见支付网关集成。

API 接口

API 常被忽视,却是抓取器的主要通道。使用 API 密钥、配额和身份认证,不要暴露移动应用或前端不需要的数据。

在防护与客户体验之间取得平衡

过于激进的防护会以看不见的方式伤害业务:被误封的真实客户不会投诉,他们只会悄悄转向竞争对手。

  • **衡量误封**:统计触发验证或被封禁的合法用户数量,并复核客户投诉
  • **提供恢复渠道**:被封禁时提供联系客服的方式
  • **不要屏蔽搜索引擎**:按服务商建议的方式验证官方爬虫,而不是只看容易伪造的用户代理名称
  • **关注转化**:在新规则上线前后监控转化率,结合[A/B 测试与转化率优化](/blog/uji-ab-dan-optimasi-konversi-website-bisnis)
  • **关注速度**:防护层不应增加可感知的延迟,否则会与[网站速度及其影响](/blog/kecepatan-website-dan-dampaknya)相冲突

抓取的法律与伦理问题

并非所有自动化数据采集都违法,被拦截的也并非都是坏人。研究人员、比价聚合服务和 SEO 工具经常运行爬虫。有两点值得考虑。

第一,robots.txt 文件向遵守规则的机器人说明抓取偏好,但它不是安全机制;恶意机器人会无视它。第二,网站的服务条款可以禁止自动采集数据,但执行需要法律判断。如果您的内容或数据具有较高商业价值,请咨询法律顾问并制定明确的政策。对于客户的个人数据,请遵循网站和应用的个人数据保护中的原则。

AI 机器人与语言模型爬虫

出现了一类新的爬虫:为训练 AI 模型或通过 AI 模型回答问题而收集内容。一些企业希望自己的内容被 AI 引用,因为这能带来曝光;另一些则希望加以限制。这一决定属于战略层面,而不仅仅是技术问题。

  • 决定您的公开内容是否允许用于训练,还是只允许用于引用
  • 在 robots.txt 中为表明身份的爬虫设置偏好
  • 监控日志,了解哪些 AI 爬虫最活跃
  • 记住 AI 回答中的曝光可能成为线索来源,参见[AI 搜索与企业网站 SEO 的未来](/blog/pencarian-berbasis-ai-dan-masa-depan-seo-website-bisnis)

务实的 30 天计划

没有专职安全团队的企业,可以从简单的步骤开始。

第 1 周:摸清现状

启用并收集访问日志,找出排名前 20 的地址和用户代理。记录受攻击最多的页面。

第 2 周:加入基础速率限制

对登录、重置密码、表单和搜索设置限制。从宽松阈值和监控模式开始。

第 3 周:加入 WAF 与表单防护

启用托管规则、蜜罐和邮箱验证。复核其对垃圾信息和转化的影响。

第 4 周:复盘并形成文档

评估误封情况,调整阈值,并编写流程:谁来监控,如何应对高峰,何时联系托管服务商。把它纳入应急响应计划。

常见错误

  • 按国家或单一用户代理封禁,却没有检查对真实客户的影响
  • 只依赖验证码,而现代机器人可以借助廉价的破解服务通过验证码
  • 忘记与同一服务器通信的 API 和移动应用
  • 不做监控,直到托管账单暴涨才发现遭到攻击
  • 显示会泄露账户是否已注册的错误提示
  • 把 robots.txt 当作安全屏障

常见问题

小型网站需要机器人防护吗?

需要,基础形式即可。表单垃圾信息和登录尝试同样会发生在小网站上。蜜罐、速率限制和定期更新软件,就能以较低成本带来很大收益。

CDN 会自动防护机器人吗?

CDN 有助于吸收流量,许多还提供机器人管理功能,但通常需要配置。请启用合适的规则,并定期查看日志。

如何区分抓取器和真实客户?

看行为:请求速度、页面顺序、是否加载图片或脚本,以及用户代理是否一致。没有哪个信号是确定无疑的;多个信号结合更可靠。

拦截机器人会拉低 SEO 排名吗?

不会,只要继续允许合法的搜索引擎爬虫。请确保验证官方爬虫,并定期在站长工具中查看抓取报告。

结论

机器人防护不是一次性项目,而是一种运营习惯:监控、加入刚好够用的防护层、衡量效果,再重新调整。从最有价值的环节开始,避免误封真实客户和搜索引擎,并把结果与老板能读懂的业务指标挂钩。

保护您的企业网站与应用

Agsora 协助设计带有机器人防护、速率限制和与您业务风险相称的监控的网站和应用。请告诉我们您的需求,我们将提供初步建议。

免费咨询

免费清单:如何选择软件公司

签约前评估供应商的 24 个要点,可保存为 PDF。

获取清单

准备好构建与您业务共同成长的系统了吗?

与 AG·SORA 团队讨论您的需求, 完全免费,无需承诺。