大多数开发团队都在努力跟踪他们的 API。Cloudflare API 发现 (API Discovery) 可帮助您映射并了解您的 API 攻击面 — 即攻击者可能针对的完整端点集。
Cloudflare 通过将相似的请求路径分组在一起(路径规范化)来生成 API 端点 的映射图。
例如,您可能拥有数千个 API,但很多调用看起来很相似,例如:
api.example.com/profile/238api.example.com/profile/392
这两个路径都服务于相似的目的 — 检索用户个人资料 — 但它们并不完全相同。为了简化您的端点,这两个示例都可能会映射到 api.example.com/profile/*。
API 发现对您的所有流量运行此过程,生成一个简单的端点图,可能如下所示:
/api/login/{customer_identifier}
/api/auth
/api/account/{customer_identifier}
/api/password_reset
/api/logout同样,如果您有多个共享相同端点集的子域,Cloudflare 会合并子域:
us-api.example.com/api/v1/users/{var1}
de-api.example.com/api/v1/users/{var1}
fr-api.example.com/api/v1/users/{var1}
jp-api.example.com/api/v1/users/{var1}Cloudflare 将这些合并为 {hostVar1}.example.com/api/v1/users/{var1}。
有关更多技术细节,请参阅博客文章 ↗。
API Shield 首先以收件箱样式的视图记录您发现的 API 端点。在 API 发现中,您可以将端点保存到端点管理或忽略端点以将其从视图中移除。
将所有发现的 API 端点保存到端点管理。通过在每行上选择 Save(保存) 或 Ignore(忽略) 来忽略任何误报,或者使用批量选择。
首先,在搜索框中搜索 var1 以查找所有带有路径变量的端点并保存它们。您可以稍后检查没有路径变量的端点。
要恢复任何被错误忽略的端点,您可以按 Ignored(已忽略) 进行过滤,然后选择 Restore(恢复)。
API 发现是一个持续的过程。定期返回查看新结果 — 仪表板中的徽章会显示有多少端点需要审查。
随着您的 API 或流量模式发生变化,Needs Review(需要审查) 和 Ignored(已忽略) 计数可能会随着时间而改变。未保存的发现结果可能会消失。
您的 API 端点是通过基于会话标识符的发现和基于机器学习的发现共同发现的。
要访问基于机器学习的发现:
-
在 Cloudflare 仪表板中,前往 Web assets(Web 资产) 页面。
Go to Web assets ↗ -
前往 Discovery(发现) 选项卡。
-
按
Session Identifier(会话标识符) 或Machine Learning(机器学习) 过滤来源结果,以查看来自每种发现方法的结果。
- 登录到 Cloudflare 仪表板 ↗,然后选择您的账户和域。
- 前往 API Shield > Discovery(发现)。
- 按
Session Identifier(会话标识符) 或Machine Learning(机器学习) 过滤来源结果,以查看来自每种发现方法的结果。
如果您的区域的所有 API 流量都包含您配置的 会话标识符,由于其底层方法论之间的相似性,这两种来源可能会提供相同的结果。无论您的 API 是否使用会话标识符,基于机器学习的发现都可以识别 API 流量。
您可以将关于您的 API 发现结果的任何反馈直接提交给您的账户团队。
API 端点是基于机器学习或会话标识符发现的。基于机器学习的 API 发现具有流量要求。更多信息请参阅发现要求。
API 发现仅适用于企业版客户。如果您是对该产品感兴趣的企业版客户,请联系您的账户团队。