HaveIBeenPwned?

Troy Hunt 使用 Cloudflare 保护他的网站和 API,以确保人们的在线安全。

Troy Hunt 是 Microsoft 区域总监和独立的 Internet 安全研究员。他因其互联网安全博客 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 称赞说:“你们让我的整个站点更加稳定,更快地响应合法用户,变得更安全,同时又降低了我的成本。”

HaveIBeenPwned?
主要成果

Rate Limiting 可防止恶意行为者滥用 HIBP 的 API

基础设施成本节省 90%

直接通过 Cloudflare 高速缓存提供 99.5% 的请求内容

Troy Hunt

Rate Limiting 确保我可以继续以可靠、成本高效且合乎道德的方式提供服务。

Troy Hunt