[ MSP、API 和集成 ]

API 身份验证和对域数据的范围访问

按租户和操作授予报告访问权限,然后像成功读取一样仔细测试拒绝。

由EmailAuth研究团队提供 · 2 分钟阅读

[ 要点 ]

  • 按租户和操作授予报告访问权限,然后像成功读取一样仔细测试拒绝。
  • 成功登录或读取报告既不会授予跨租户访问权限,也不会授予DNS写入权限;重新检查延迟的工作和导出的工件。
在此页面上

身份验证证明了有关调用者的某些信息。授权决定调用者是否可以检索该客户的报告或执行该操作。有效的 API 凭证不得成为绕过租户边界的捷径。在添加端点或后台作业之前从权限矩阵开始。

将身份绑定到请求的对象

通过支持的认证机制解析调用者的身份,然后从可信服务器端状态获取其授权的租户和操作范围。将 URL 或请求正文中的租户 ID 视为请求的目标,而不是权限证明。根据调用者的实际授权检查报告、导出作业和下载工件。

OWASP 的授权备忘单 建议最小权限,默认拒绝,并对每个请求进行权限验证。将这些原则应用于异步工作程序并下载链接以及第一个 API 调用。合法创建的导出以后不得由其他租户下载,因为其对象 ID 很容易被猜测。

将读取权限与更改权限分开

报告阅读者可以检索批准的域数据,但不应自动获得DNS写入权限。 DNS操作员可能不需要访问存储的报告历史记录。审核员可能需要有限的证据视图而不是原始消息。记录每个角色允许的对象和操作,并在普通日志和导出之外进行秘密管理。

假设自动化凭证仅被批准读取租户 A 的报告。尽管身份验证有效,但租户 A 的DNS更改和租户 B 的报告读取都需要在该授权下被拒绝。单独的、明确批准的运营商授权将需要其自己的对象和操作检查。这些是假设的预期决策,而不是实施的权限矩阵或EmailAuth角色的描述。

让阴性测试成为接受的一部分

运行读取的允许的同租户报告,然后仅更改请求的租户。对缺少的读取范围和已撤销的主体重复此操作。还计划对对象级 ID、存储的导出、排队作业和更改的组成员身份进行实际测试。使用授权的合成租户和无害的数据,而不是探测其他客户的帐户。

记录每个授权测试的实际决定和任何公开的响应字段。被拒绝的请求不得通过元数据、计数、下载链接或缓存结果泄漏私有对象详细信息。包括有效的范围读取,以区分正确的执行和拒绝所有人的端点。此处不提供或执行令牌系统、OAuth 流程或生产授权测试。

在赠款的整个生命周期内对其进行操作

记录赠款所有者、批准目的、租户范围、到期或审核触发条件以及撤销路径。将凭证材料存储在批准的秘密系统中,在受控程序下轮换并审核使用情况,而无需记录秘密本身。执行延误工作时重新检查权限;排队任务不应在撤销后无限期地保留权限。

检查基础数据的敏感性。 RFC 9990 描述 汇总报告 内容和安全考虑;报告元数据仍然值得受控披露。如果授权失败,则返回适当的拒绝,而不确认其他租户的私有对象。如果发现跨租户数据,请控制泄露并调用组织的事件程序。不要简单地改变 UI 并假设 API 是安全的。

OWASP 的多租户指南,特别是其异步工作、缓存/会话和文件存储部分,支持强制执行超出初始请求的范围,并在延迟执行期间重新检查时间敏感的权限。

[ 外卖 ]

成功登录或读取报告既不会授予跨租户访问权限,也不会授予DNS写入权限;重新检查延迟的工作和导出的工件。

[ 按角色 ]

这对您意味着什么

选择您的角色以执行后续实际步骤。

IT/邮件管理员

测试第一个端点之外的对象

导出和后台工作扩展了访问路径。

后续步骤

  1. 检查工件检索。
  2. 撤销测试访问权限。
  3. 验证缓存分区。

CISO / SecOps

始终使用最低权限

授权必须能够承受重试和角色更改。

后续步骤

  1. 检查范围漂移。
  2. 审核特权使用。
  3. 实行事件遏制。

创始人/非技术人员

隔离测试预算

租户分离是对客户的承诺。

后续步骤

  1. 批准权限模型。
  2. 需要否认证据。
  3. 分配赠款所有者。

[ 常见问题解答 ]

常见问题

有效的令牌是否授权每个租户?

不可以。授权必须将调用者绑定到特定的租户、对象和操作。

请求中的租户 ID 可信吗?

它标识所请求的目标;它不设立赠款。

报告读者应该编辑DNS吗?

除非有单独的显式权限授权该操作,否则不会。

包括哪些负面案例?

计划跨租户请求、缺少报告范围和撤销身份作为预期的拒绝,以及有效的范围读取。观察实际服务效果。

该示例是否测试 OAuth?

不。它解释了授权决策,而无需提供或执行身份验证实现。

排队的作业必须重新检查访问权限吗?

将它们设计为在执行和工件检索时强制执行当前权限,而不仅仅是提交。

下载链接可以绕过审核吗?

他们需要适合服务的范围、生命周期和受众控制。

如果缓存泄漏了其他租户的结果怎么办?

即使主端点检查权限,也将其视为授权缺陷并包含它。

[ 来源 ]

来源

  1. OWASP 授权备忘单

    部分 强制执行最低权限 · 默认拒绝 · 验证每个请求的权限 · 为授权逻辑创建单元和集成测试用例

  2. RFC 9990 DMARC聚合报告

    部分 §3.1 · §3.1.1.4 · §3.1.2 · §3.5.1 · §3.5.4 · §4 · §7 · §8

  3. OWASP 多租户安全备忘单

    部分 §1.租户识别和环境管理·§3。防止跨租户数据访问(IDOR 预防)·§4。缓存和会话隔离·§5。 API、异步工作和资源控制 · §6。文件存储和 Blob 隔离 · §7。租户入职和离职安全

[ 词汇表 ]

词汇表

对象级授权
针对所请求的特定资源的权限决定。
范围
某种类型的操作或资源的有限权限。

企业出处

为什么顶级金融机构和政府 退役了他们的电子邮件安全仪表板。

传统的电子邮件身份验证平台会向您出售仪表板并要求您的工程师来完成这项工作。在高风险环境中,手动监督意味着延迟执行、配置漂移和不受监控的影子域。

EmailAuth是代理电子邮件来源平台。 我们的代理人强制执行 p=reject,保持第三方发件人一致并将您的域名移至完整状态 RFC 9989 合规性、新的DMARC标准,以及人机交互审核能力。

政府 大型企业 一级金融机构

SaaS · 专用租赁 · 气隙本地部署 · BYOK 加密

知识库