博客

API 安全检查清单: 最佳实践、测试及 NIST 指南

F5 新闻中心员工缩略图
F5 新闻中心
发布时间:2025年7月7日

API,即应用程序编程接口,是一套协议、例程和工具,帮助不同的应用、软件系统或组件互相通信。 API 在现代数字基础设施中作用日益凸显,它们连接分布式平台上的应用、服务、系统和数据,构建了整体的连接纽带。

API 在当今数字环境中至关重要,越来越多的组织采用以API为先的策略,将应用设计从API开始。这不同于传统的“代码优先”方式,那种方式是以单体代码为核心,API设计要么推迟,要么根本没有。

API 的数量确实在迅速增长。 如今,平均每个组织在数字基础设施中管理超过 400 个 API,而68% 的组织通过 API 来管理应用交付和安全。 大多数组织清楚,API 泛滥会带来风险: 58% 的组织将 API 泛滥视为重大难题。 因为 API 无处不在,增加了组织的攻击面,还会因多云架构间的相互依赖带来难以预料的威胁。

API容易被攻击者利用漏洞、自动化威胁滥用、拒绝服务、配置错误以及绕过认证和授权的攻击。 我们必须实施强有力的API安全策略,保护API中暴露的核心业务逻辑和敏感信息,防止未经授权访问、操控或泄露用户数据、认证凭证和金融交易,同时保障API的完整性和稳定性。

本文简要介绍了API面临的主要安全威胁,并提供了一份关键API安全策略和最佳实践的清单,帮助您在多云环境中保护API,包括访问权限管理、输入验证与输出管理、API测试和监控。 我们还推荐了应遵循的顶级API安全标准,并为您推荐保障宝贵API安全的实用工具。

1. 访问控制、认证和授权

访问控制是确认并执行哪些用户被授予访问特定资源权限的系统化流程。 这一流程涵盖身份验证与授权两个环节。 身份验证核实用户身份,授权则界定经过验证的用户可享有的访问权限级别。

以下是提升 API 安全性的访问控制核对清单关键建议:

  • 不要使用基本身份验证来进行访问权限管理。 因为基本身份验证只用简单用户名和密码,攻击者很容易就能破解。 您应采用更安全的方法,比如OAuth或 JSON Web Tokens (JWTs)。
  • 遵守 API 令牌最佳实践。 API 令牌通常用于授权访问 API 端点和服务,处理不当会使敏感系统面临未授权访问或滥用风险。 请限制令牌的使用范围和权限,始终为访问令牌设置过期时间,并确保令牌的安全存储与传输。
  • 检查身份验证和授权是否存在漏洞。 识别并修复用户身份验证方式及其访问权限相关的常见安全弱点。 这类威胁包括身份验证漏洞,当攻击者通过窃取密码、密钥、会话令牌或用户帐户信息冒充合法用户时,就会发生这种情况。 对象属性级别授权漏洞(BOLA)发生在应用未能正确执行对象或数据层面的访问控制,导致攻击者能够绕过授权检查,获取对应用中特定对象或数据的未授权访问。 功能级别授权漏洞则是由于API未能在功能或操作级别正确实施授权检查,使攻击者能访问未经授权的功能或操控正常功能。
  • 保护身份存储安全。 保障存储敏感身份数据的系统安全,如 API 密钥、认证日志和用户凭据。 这包括对静态数据加密、限制访问权限,并始终采用严格的访问控制。 通过保障身份存储,您能有效防止攻击者未授权访问关键的认证和授权信息。
  • 使用API 网关 在一个集中位置集中管理所有 API 的访问控制。 这样一来,您能够更轻松地执行一致的策略,如身份验证、速率限制和授权规则。 通过网关实施这些控制,您可以降低配置错误的风险,确保所有 API 都获得统一保护。
  • 对所有敏感数据实施加密。 加密能保护通过 API 传输和存储的数据,防止未授权访问。 即便攻击者拦截网络流量或侵入存储系统,没有正确解密密钥,数据依然无法被读取。 这保障了数据的机密性与完整性,有助于你符合相关法规要求。
  • 实施速率限制。 控制客户端在一定时间内请求API的频率,帮助你有效防止分布式拒绝服务攻击(DDoS),避免攻击者通过大量流量淹没API,同时减缓或阻断重复登录尝试,防止撞库攻击

2. 输入与输出

通过验证 API 输入,我们防止黑客提交恶意请求;同时,输出管理确保 API 不泄露敏感数据,切实保护您的数据安全。

以下是改进 API 安全性时输入输出检查清单的关键建议:

  • 验证用户输入的 Content-Type 头和数据格式。 Content-Type 头告诉 API 发送的数据类型,我们通过验证确保 API 只处理预期和支持的格式。 检查数据格式确保负载结构符合 API 的预期。 这些验证能有效防止注入攻击,拒绝异常或格式错误的输入。
  • 对每种类型的 API 请求强制使用正确的 HTTP 方法。 严格执行方法确保 API 的行为可预测,有效防止滥用和权限提升。 比如,GET 只能用于检索数据,不应更改数据;POST 用于创建请求;PUT/PATCH 用于替换或更新;DELETE 则用于删除操作。 如果不严格执行这些 HTTP 方法,恶意用户可能利用 API 的漏洞,用未授权的方法(如向 GET 端点发送 POST 或 PUT)来修改本该只能查看的数据。
  • 检测恶意和错误配置的输入。 我们会主动测试注入漏洞和配置错误,确保API正确处理并清理用户输入,从而防止攻击发生。 SQL注入发生在攻击者提交精心构造的输入,操控数据库查询,可能导致数据泄露、篡改或删除;而错误配置的输入参数则会让攻击者绕过安全控制,访问敏感数据。
  • 保证 API 永远不返回敏感数据。 我们配置 API,避免在响应中泄露机密或安全关键信息。 凭证和密码绝不应出现在 API 响应中,包括错误信息,防止被截获或滥用。 访问令牌、刷新令牌和会话 ID 都必须妥善保护,仅在安全受控的环境中返回。 指纹识别头可能泄露服务器或应用堆栈信息,助长攻击者设计针对性攻击。
  • 确保 API 在请求完成后返回正确的状态码。 API 应用标准状态码准确反馈请求结果,帮助您确保接口的清晰性、一致性和安全。 常见状态码包括 200 OK、400 Bad Request、401 Unauthorized 以及 405 Method Not Allowed 等。
  • 确保 API 返回通用错误提示。 详细的错误提示会暴露 API 的内部机制,如数据库结构、服务器配置或认证逻辑。 攻击者可以据此发起有针对性的利用,例如 SQL 注入、权限提升或凭证暴力破解。

3. API 安全检测

API 安全测试应持续进行,而非仅在初次部署时完成,因为 API 经常更新并增加新功能。 同时,威胁形势也在不断变化,攻击者不断创新攻击手法。

以下是API安全测试清单的关键建议:

  • 执行功能测试。 确保 API 的核心功能如预期般工作,并在增加新功能或应用补丁后依然保持稳定。
  • 性能测试。 对 API 进行负载测试,评估其性能极限,并确定事件后 API 恢复所需时间。
  • 执行漏洞扫描和渗透测试。 使用自动化 API 扫描器检测源代码和运行时错误,并定期进行渗透测试,识别 API 漏洞,以防范更复杂、智能或新型的攻击。

4. 监控

API 监控至关重要,因为它帮助您实时发现威胁,并构建“正常”活动的基线,为识别异常奠定基础。 持续监控让您的安全团队能够迅速识别异常模式,比如流量激增、重复登录失败或者端点异常使用,这些通常是攻击的迹象。

API 监控清单应包含以下要点:

  • 使用API 发现工具持续监控并记录新出现的 API。 你无法保护未知的存在。 开发人员可能会未经正式批准就部署或测试 API,从而产生未跟踪或未记录的端点(“影子 API”),安全团队往往容易忽视这些端点,给攻击者留下可乘之机。 持续发现帮助你全面掌控每个暴露的 API,确保它们得到妥善盘点、评估、安全防护和管理。
  • 维护所有 API 的集中目录。 我们统一管理整个 API 生态系统,提升可见性,简化管理流程,加快事件响应,让 API 监控更高效。
  • 记录并分析 API 流量。 我们识别异常的请求量激增,这通常预示着分布式拒绝服务攻击,同时监控来自非正常地理区域的请求,这表明可能存在未授权访问尝试。 失败请求激增提示撞库攻击活动,或客户配置错误导致反复发送无效请求。

5. API 安全标准: OWASP 与 NIST

开放式全球应用安全项目 (OWASP)国家标准技术研究所 (NIST)都发布了网络安全的最佳实践。

6. API 安全工具

随着 API 优先应用设计的普及和 API 数量的激增,一套全面的 Web 应用和 API 防护(WAAP)解决方案成为保护 API 资产最强有力的保障。 WAAP 提供整体安全防护,将 Web 应用防火墙(WAF)、API 发现与防护、DDoS 缓解以及机器人管理整合于一体。

WAAP 的核心优势包括:

  • 增强可视化监控。 通过日志、指标和实时分析全面掌握Web应用和API流量,帮助您快速发现异常、加速问题排查,并深入了解用户行为及新兴威胁趋势,助力安全团队制定有效应对策略。
  • 集成且全面的防护。 WAAP 将强大的 API 发现和监控能力与关键执行功能相结合,帮助您有效控制并阻断 API 威胁,包括访问许可列表、拒绝列表、速率限制、地理 IP 过滤以及自定义规则生成等精细控制。 此外,WAAP 还集成了第7层拒绝服务攻击防护、数据泄露防护(DLP)以检测和屏蔽敏感数据、机器人管理和 WAF,所有功能均集中在单一解决方案中。 这一全面策略确保您的 API 始终清晰可见且安全可靠,助您实现有效治理与稳定性能。
  • 集中化策略管理。 WAAP 从单一控制点管理所有 web 应用和 API 的安全策略,无论应用托管于何处或底层架构如何。 这种集中化方式保证策略执行一致,减少配置错误,简化复杂环境中的安全运维。
  • 简化策略管理与维护。 我们通过自动化和优化跨应用及 API 的策略实施与更新,让您能够轻松地应用、调整和优化策略,以应对不断变化的威胁和应用行为,确保适用于所有应用和 API。 这大幅减轻了人工操作,加快应对新出现漏洞的速度,并确保各系统执行统一的策略。
  • 清晰的审计轨迹。 详细记录访问、策略变更和安全事件的日志及审计轨迹,帮助您确保所有应用威胁向量及组件——包括API、基础设施和数据——符合监管与行业标准。

F5 提供的 API 安全

F5 将API 安全作为Web 应用与 API 保护(WAAP)解决方案的一部分,帮助您在复杂的混合云和多云环境中保护 API,简化流程并提升运营效率。 F5 的 WAAP 解决方案提供覆盖 API 全生命周期的全面防护,从构建和测试,到发布、运营和监控,助您全程守护。

F5 的 WAAP 解决方案通过持续防护支持 Web 应用和 API 的关键业务逻辑,帮助您降低风险并增强数字弹性。 我们通过动态发现、持续监控和威胁检测,确保全面的 API 可见性,同时采用关键控制和执行机制保护您的 API 端点。 F5 的 WAAP 解决方案支持无缝部署于任何环境,无论是本地部署、云端还是服务形式。