知识卡片

阻塞点必须唯一否则形同虚设

普通读书笔记卡 · 1459.e

内容

设置了部署审批流程,但如果工作节点仍接受绕过审批的直接请求,这套流程只是摆设——攻击者只需绕开正常路径,直接对能接受请求的终点下手。让部署审查真正有效的前提,是把所有可能接受部署请求的入口收窄到唯一一个必须经过审查的关口(阻塞点),并把其余入口全部堵死,比如让Kubernetes工作节点只信任来自主节点的请求。只要还有一扇没上锁的后门,前门的安检岗哨设得再严密也没有意义。

参考来源

- 位置:《Google系统架构解密:构建安全可靠的系统》第14章《部署代码》14.5.4节部署阻塞点(源文件:`../OREILY动物书合辑 图灵新版/_epub-src/text/part0014_split_116.html`) - 结论依据:原文定义阻塞点为"所有部署请求都要通过的点。攻击者可以绕过不在阻塞点处做的部署决策",并以Kubernetes为例说明"要使它成为一个合适的阻塞点,就应将工作节点配置为仅接受来自主节点的请求。这样一来,攻击者就不能直接向工作节点做部署"。 - 原始内容:阻塞点(choke point)会成为所有部署请求都要通过的点。攻击者可以绕过不在阻塞点处做的部署决策……要使它成为一个合适的阻塞点,就应将工作节点配置为仅接受来自主节点的请求。这样一来,攻击者就不能直接向工作节点做部署。