结论先行:「暴露面太大」这句话在评审会上没有说服力,因为它既不能验证,也不能比较。要把暴露面变成可管理的东西,得拆成三个维度分别盘:业务维度(哪些业务之间可以互相访问)、资产维度(哪些主机与容器在参与这些访问)、端口维度(实际开放了多少条路径)。三个维度各自出一个数字,合成一个总口径,然后定期复测——只有能前后对比,「收敛」才不是一个形容词。

为什么「减少暴露面」这句话落不了地

云化之后,网络边界的前提变了:过去的安全假设是地址稳定、位置固定、边界清晰,而虚拟机与容器会动态创建、迁移、销毁,地址不再是稳定的资产标识。以地址为中心的管控方式在这种环境里会出现两种失效:策略追不上资产的变化,以及没人说得清当下的访问关系到底是什么样。

在这种状态下,团队通常只有两种表达方式:一种是画一张拓扑图,图上密密麻麻的连线说明「关系很多」;另一种是列一张开放端口清单,几千行,谁也看不出重点。这两样东西都不是量化——它们不能被比较,也不能被验收。

三个维度,各自出什么数

业务维度:有多少对业务之间其实不需要通。做法是先按业务把资产分组,再逐对确认「这两个业务之间有没有真实的调用关系」。需要回答的核心问题不是「开了哪些策略」,而是「哪些策略背后找不到业务依据」。这一维度的产出是一个比例:在全部业务对中,有明确调用依据的占多少。

资产维度:有多少资产在扮演不该扮演的角色。同一台主机既对外提供服务、又发起对内管理连接,就是典型的角色混杂。这一维度的做法是给资产打上角色标签(提供服务的、发起访问的、两者兼有的),再统计混杂的比例。混杂越多,后面按业务做白名单就越难——因为每放开一条路径,都会连带放出一批不该有的访问。

端口维度:开放路径里有多少是宽口径。宽口径指的是「整段地址 + 全部端口 + 任意来源」这类写法。这一维度的产出不是清单长度,而是宽口径条目在所有条目中的占比,以及其中最近三个月没有任何流量的条目数量——后者是最值得优先处理的:没有任何流量,说明它可能早就没用了。

怎么合成一个数

三个维度不能简单相加,因为量纲不同。可行的合成方式是「加权后归一」:把每个维度的结果都转成 0 到 100 之间的一个相对值,再按治理目标分配权重。比如当前阶段以收敛为主,端口维度的权重可以给高一些;如果主要压力来自合规审计,业务维度的权重就该提上来。

需要强调的是,这个数的绝对值意义不大,它的价值全部在变化趋势上。同一套口径、同一批资产、同样的采集方式下,这个月与上个月的差值才是可汇报的内容。所以口径一旦定下,就要连同采集方式一起固定下来,中途换算法等于重新开始。

从数字到动作,中间还差一步

量化之后最常见的误区是直接按数字下命令「这个月要把暴露面降三成」。数字只是坐标,动作仍然要落到具体路径上。比较稳的顺序是三段:先做可见性,把访问关系完整拉出来,让每条路径都能对应到业务;再做收敛,按「无流量」「无依据」「宽口径」三类分别处理,先动证据最强的;最后做常态,把每次新建策略都纳入同一套准入判断,避免一边收敛一边新增。

这三段的顺序不能颠倒。可见性没做完就收敛,等于凭猜测删策略,风险比不收敛更大;收敛没做完就做常态,新策略会持续把旧问题补回来。

哪些指标可以放进日常报表

  • 业务对覆盖率:有明确调用依据的业务对占比,用于回答「看不看得清」。
  • 宽口径占比:整段地址加全端口的条目比例,用于回答「管得细不细」。
  • 无流量条目数:近三个月零命中的策略条数,用于回答「还能不能收」。
  • 新增与收敛的比值:本期新增条目与本期关闭条目的比值,用于回答「有没有边收边长」。

这四项都不需要复杂计算,但都需要同一个前提:采集口径统一。四个指标各用一套算法,加起来就没有意义。

边界与前提

其一,暴露面量化解决的是「看得清、比得出」,不解决「该不该开」。一条策略是否需要,最终仍要业务方确认,工具只能给出依据不足的提示。其二,量化结果不宜直接作为个人考核指标,容易被执行层反向优化——比如为了降低宽口径占比而把规则拆细,表面上数字好看,实际管控强度没有变化。其三,本文讨论的是度量口径,不涉及具体产品的功能评价;不同环境的采集能力差别很大,落地前要先确认能拿到哪些数据。

深圳市奇摩计算机有限公司在数据中心安全与微隔离类项目的交付中,会先把度量口径与采集方式定下来,再谈收敛动作——口径不定,收敛就变成了一次性的清理,几个月后又会回到原点。需要把暴露面的度量方式对齐一遍,欢迎 预约咨询。