知识卡片

拒绝访问时该暴露多少信息

普通读书笔记卡 · 1450.c

内容

用户被拒绝访问时该不该告诉”为什么”是真实权衡:暴露太少,用户没法自助排查,只能涌向支持通道拖垮客服;暴露太多,攻击者能反推安全策略规则、针对性构造绕过请求。折中方案按调用方已有权限分层给信息——无权限调用方只返回模糊拒绝码,有一定权限的可拿到令牌用于后续申诉,权限更高的能获得具体修复建议自助解决。建议早期实施零信任模型时先偏保守,统一让客户端走支持通道。

参考来源

- 位置:《Google系统架构解密:构建安全可靠的系统》第5章《最小特权设计》5.3.5节(源文件:`../OREILY动物书合辑 图灵新版/_epub-src/text/part0014_split_049.html`) - 结论依据:原文按调用方权限级别给出三种拒绝响应策略(无权限保密、低权限给令牌走支持通道、高权限给修复信息自助解决),并指出暴露信息太多会让客户端反推策略、恶意攻击者更易构造绕过请求,二者构成本卡片的核心权衡。 - 原始内容:如果客户端没有权限或者权限非常有限,则拒绝的原因应该保密……如果你暴露了太多信息,客户端可能会根据拒绝信息重新设计策略,从而使恶意攻击者更容易人工创建使用策略的意外请求。