2024年在线市场平台的11大最佳支付解决方案
在不破坏更改的情况下保护公共API
公共API为企业带来巨大的价值,但若不加以妥善保护,它们也可能使企业暴露于重大的安全风险之中。让我们从Dotpe的API安全漏洞中吸取教训,并探索一些快速而有效的策略来加强您的API安全——这一切无需进行任何破坏性的更改。
API 已成为现代数字基础设施的支柱。它们使企业能够与客户实时互动、自动化工作流程和扩展运营。然而,它们的巨大好处也伴随着重大风险——尤其是在没有安全的情况下。正如最近对其 API 漏洞的深入研究所揭示的那样,Dotpe 的案例为提供公共 API 的公司提供了一个警示故事。
案例研究
任何拥有公共 API 的企业都不希望醒来后看到其漏洞被曝光并成为热门 Hacker News,但这正是 Dotpe 在这些缺陷曝光后面临的情况。声誉损害可能是巨大而持久的,成千上万的开发人员和安全专业人员正在仔细审查这个问题。
Dotpe 为印度各地的餐厅提供广泛使用的二维码菜单服务,通过提供非接触式订购为客户提供数字体验。但是,他们的 API 设计和实现暴露了明显的安全漏洞。好奇的客户可以访问敏感的餐厅数据,例如正在进行的订单、购买历史记录,甚至其他顾客的个人详细信息。他们可以通过调整基本 API 参数和下欺诈性订单来查看餐厅收入数据。
虽然这种情况令人震惊,但不幸的是,这种情况很常见。没有得到充分保护的 API 会暴露本应保密的数据,并产生巨大的滥用可能性。
API 安全中的严重故障
缺乏身份验证:Dotpe 使许多 API 端点未经身份验证,允许任何人访问敏感数据。强身份验证对于每个 API 都是必不可少的。
参数使用不当:对 ID 和电话号码的简单更改会让未经授权的用户访问数据。API 需要验证和清理所有输入。
速率限制:Dotpe 的 API 没有速率限制,允许用户从数千家餐厅快速抓取数据。速率限制对于防止滥用至关重要,尤其是对于公有 API。
监控和警报:如果 Dotpe 一直在监控其 API 流量是否存在异常活动,则它本可以更早地检测并解决问题。适当的监控对于跟踪异常的使用模式至关重要。
确保公共 API 安全的战术修复
如果您的 API 已经面临潜在的滥用风险,如何在不对 API 进行重大更改的情况下快速增强安全性?有多种方法可以在不改变面向公众的界面的情况下加强 API 的防御。
实施强身份验证和授权
确保每个端点都需要用户身份验证。这可以包括 API 密钥、OAuth 令牌或基于会话的令牌。对于敏感数据应考虑多重身份验证(MFA) 。
输入验证和清理
验证所有传入数据以确保其符合预期参数。确保只有授权用户才能执行操作和访问数据。
速率限制和节流
速率限制可以防止 API 滥用。对用户在特定时间范围内可以请求的数据量设置限制,以避免系统刮擦或过载。
基于地理的白名单
如果您的 API 主要为特定位置的用户提供服务,则地理围栏可以减少暴露。限制对特定城市或国家的 API 访问可以帮助阻止外国攻击。但是,请确保这不会阻止合法用户在不同位置使用 VPN 或移动网络。考虑后备机制,例如针对区域外访问的附加身份验证。
全面的日志记录和监控
为所有 API 交互实现日志记录。实时监控以检测可疑行为,例如大量数据提取或失败的登录尝试。
安全设计
安全不应该是事后才想到的。确保安全性是开发过程的一部分,即使您需要在启动后更新 API。将安全性构建到 API 核心比稍后修补更便宜、更有效。
Dotpe 案例强调了从第一天起就保护 API 安全的必要性。没有一个拥有公共 API 的企业希望在 Hacker News 上看到它的缺陷。虽然公共 API 对于扩展业务至关重要,但必须保护它们免遭潜在的滥用。
原文链接:Securing Public APIs Without Breaking Them: Lessons from the Dotpe Case