身份验证安全状况 (Authentication Posture) 可检测缺少身份验证或身份验证不一致的 API 端点,并向您发出潜在配置错误的警报。
例如,安全团队成员可能期望他们的 API 端点 /api/v1/users 和 /api/v1/orders 需要进行身份验证。然而,源站 API 身份验证策略中的漏洞可能会产生身份验证失效漏洞 — 从而允许未经身份验证的用户访问受保护的资源。身份验证安全状况详细说明了发往您 API 端点的成功请求的身份验证状态,并对潜在的配置错误发出警报。
以典型的电子商务应用程序为例。用户可以在不登录的情况下浏览商品和价格。但是,要通过 GET /api/v1/orders/{order_id} 检索订单详细信息,用户必须登录并在所有请求中传递 Authorization HTTP 标头。如果配置了 会话标识符,当未经身份验证的成功请求到达此端点或任何其他端点时,Cloudflare 会通过安全中心洞察和端点标签向您发出警报。
配置会话标识符后,API Shield 会持续扫描您的流量,查找未经身份验证的成功请求,并每天对您的端点进行标记。有关标记方法,请参阅下表。
| 描述 | 2xx 响应代码 | 4xx、5xx 响应代码 |
|---|---|---|
| 如果所有请求都缺少身份验证,Cloudflare 将应用标签: | cf-missing-auth |
若没有成功的响应,将不会添加任何标签。 |
| 如果仅部分请求缺少身份验证,Cloudflare 将应用标签: | cf-mixed-auth |
若没有成功的响应,将不会添加任何标签。 |
-
在 Cloudflare 仪表板中,前往 Web assets(Web 资产) 页面。
Go to Web assets ↗ -
前往 Endpoints(端点) 选项卡。
-
按
cf-risk-missing-auth或cf-risk-mixed-auth标签过滤您的端点。 -
选择一个端点以在端点详细信息页面上查看其身份验证安全状况详细信息。
-
在 24 小时视图和 7 天视图选项之间进行选择,并注意随着时间的推移身份验证的任何变化。
- 登录到 Cloudflare 仪表板 ↗,然后选择您的账户和域。
- 前往 Security(安全性) > API Shield > Endpoint management(端点管理)。
- 按
cf-risk-missing-auth或cf-risk-mixed-auth标签过滤端点管理。 - 选择一个端点以在端点详细信息页面上查看其身份验证安全状况详细信息。
- 在 24 小时视图和 7 天视图选项之间进行选择,并注意随着时间的推移身份验证的任何变化。
主身份验证小组件显示过去七天内有多少成功请求包含会话标识符,以及流量中包含哪些标识符。
随时间变化的身份验证图表显示了客户端如何成功与您的 API 进行交互以及使用了哪些标识符的随时间变化的详细明细。未经身份验证的流量大幅增加可能预示着发生了安全事件。同样,在预期 100% 需要身份验证的端点上出现任何成功的未经身份验证的流量,也都值得引起关注。
与您的开发团队合作,了解您的 API 上可能需要纠正哪些身份验证策略,以阻止未经身份验证的流量。
要阻止未经身份验证的请求,请使用 cf.api_gateway.auth_id_present 字段创建自定义规则。当请求中存在配置的 API Shield 会话标识符时,此字段的评估结果为 true。您也可以对不存在该字段的情况进行匹配,以检测未经身份验证的流量。添加主机和路径匹配以将规则限制在特定的端点范围。
身份验证安全状况仅在客户在 API Shield 中准确设置了会话标识符时才能应用。会话标识符必须能够唯一标识您 API 的已验证身份用户。如果您不确定您的 API 的会话标识符,请咨询您的开发团队。
身份验证安全状况适用于所有订阅了 API Shield 的企业版客户。