API 集成通常处理敏感数据,例如员工的个人身份信息 (PII)、公司的财务信息,甚至客户的支付卡数据。
保护这些数据免受攻击者的攻击,同时确保集成按照所需的水平执行,需要采取多种安全措施。
由于越来越多的组织正在寻求构建面向客户的 API 集成(即产品集成),因此采取这些措施只会变得越来越重要。(最近针对 2024 年产品集成状况报告对 260 名产品经理和工程师进行了调查,我们发现 83% 的公司已将产品集成确定为今年的首要任务之一。)
组织可以通过采取以下步骤大规模构建安全的内部和面向客户的 API 集成:
使用 API 网关采用整体安全方法
API 网关使用多种方法来最小化和防止跨 API 端点的威胁。其中包括以下内容(除其他外):
- 记录 API 请求,以便轻松审核
- 应用全球速率限制以避免潜在的滥用并更公平地服务用户
- 阻止来自已知执行恶意活动的特定 IP 地址和/或区域的请求
使用作用域遵循最小权限原则
即使用户经过身份验证和授权,他们也可能不应该(也不需要)从给定端点访问所有数据。
例如,用户需要来自公司人力资源信息系统 (HRIS) 的员工的具体详细信息(名字、姓氏、经理和职位)。用户应该能够通过 API 请求获取此信息,同时无法检索他们不需要的高度机密信息(例如,员工的社会安全号码和银行信息)。
由于范围可以为访问令牌定义自定义权限,因此它们可以帮助促进上述场景。如果访问令牌落入坏人之手,范围可以防止许多负面后果,因为获得访问令牌的个人只能访问一组有限的数据和功能。
定期更新软件以尽量减少薄弱环节
为了确保应用程序的漏洞得到修补并不断提高其安全能力,应尽可能频繁地更新应用程序。
实现此目的的一种方法是在给定应用程序有可用更新时打开警报。如果这不是一个选择,还存在其他方法,例如更新操作系统或使用可以自动更新应用程序的第三方工具。
值得注意的是,即使应用程序安装了最新更新,它仍然可能存在安全风险。静态应用程序安全测试 ( SAST ) 工具可以帮助识别和解决更新的应用程序中存在的任何问题。
对给定的 API 端点实施特定的速率限制
速率限制可以防止潜在的攻击者淹没 API 端点,从而使真实用户无法访问它(即拒绝服务攻击);它可以控制来自多个源的大量请求(即分布式拒绝服务攻击);它可以减缓暴力攻击;并且可以防止数据抓取。
除了安全优势之外,速率限制还值得使用,原因有很多:它们有助于控制成本、确保可靠的性能、减少错误、使 API 提供商能够遵守特定的数据隐私法规等等。
漏斗日志记录到 SIEM 解决方案以及时发现安全问题
大规模分析 API 调用的日志可能非常耗时,因为这需要随着时间的推移梳理数千甚至数百万条日志。手动分析日志还可能导致代价高昂的人为错误,例如丢失显示潜在安全威胁的日志。
为了更轻松地查看日志并解决它们揭示的任何安全问题,可以将它们添加到实时安全信息和事件管理 (SIEM) 解决方案中。
通过 SIEM 解决方案,预定义的团队或员工可以收到有关可疑活动的实时警报。该解决方案还可以将日志与其存储的其他数据结合起来,以查明更复杂的威胁。