Troy Hunt 使用 Cloudflare 保护他的网站和 API,以确保人们的在线安全。
Troy Hunt 是 Microsoft 区域总监,也是独立互联网安全研究员。他因其互联网安全博客 www.troyhunt.com及其 HaveIBeenPwned (HIBP) 服务而闻名。后者汇总了数据泄露信息,帮助人们确认其是否受到网络恶意活动的影响。Hunt 的目标是通过他的知识和服务尽可能帮助更多人。
Troy Hunt 面临的挑战:阻止坏人并帮助人们
资源有限时,帮助尽可能多的人可能会很困难。Hunt 面临的主要挑战是管理其在 Microsoft Azure 基础设施上运行的网站和 API 的流量峰值。这些峰值会导致性能问题,增加带宽成本,并导致服务停止,从而让人们对其服务失去信心(而信任和诚信对服务至关重要)。当大型组织遭遇的数据泄露事件受到高度关注时(例如最近的 Ashley Madison 和 Dropbox 泄露事件),Hunt 的 HIBP 服务会经历流量激增。根据 Hunt 的说法,这些流量峰值大量占用 CPU,导致性能降低,直到造成延迟。当流量稳定增加时,Azure 的自动负载处理功能 Autoscale 可以高效工作,但是当 流量突然爆表时,性能会受到很大影响。”这些流量峰值不仅意味着性能损失,由于 Autoscale 会按需调整以适应负载,峰值还直接影响 Hunt 需支付的费用金额。
此外,Hunt 还担心某些行为者恶意使用 HIBP 的 API。Hunt 创建 API 是为了帮助人们确认是否受到数据泄露的影响。他解释说:“最近有各种各样的指标表明,人们使用 API 的使用方式与我的初心不符……我不想看到这种情况继续下去。”
因此,Hunt 开始寻找解决方案,以便在出现流量峰值时,能够维持网络性能并降低成本,同时防止有人滥用其 API。
Troy Hunt 的解决方案:对恶意行为者实施速率限制
通过 Cloudflare 的 Rate Limiting 服务,Troy Hunt 得以通过单一解决方案满足多种需求。Rate Limiting 允许 Hunt 限制来自单个 IP 地址(在给定时间内分别访问其网站和 API )的请求数量,从而帮助 Hunt 管理流量峰值。Rate Limiting 可防止流量峰值导致性能降低,因为每个唯一用户发送的请求数量都不能超过限制。Hunt 设置以上限制后,普通用户看不出服务的任何变化,但滥用 Hunt 网站和 API 的人却受到了限制,从而在确保其 API 对合法流量保持高性能和可靠性的同时,预防和阻止滥用者。Hunt 称赞道: “你们使整个站点更稳定、更快地响应合法用户,变得更安全,同时降低了我的成本。”