1. 漏洞治理资产台账建立与字段设计

漏洞治理资产台账建立与字段设计 学习卡片

为什么资产台账是漏洞治理的起点

漏洞本身没有优先级,优先级来自它落在什么资产上。同一枚 CVE,落在面向公网的核心交易系统与落在内网测试机上,处置顺序完全不同。因此漏洞治理的第一步不是扫漏洞,而是先把"资产是谁、归谁管、多重要、在哪、跑什么"这五件事固定成结构化字段,让后续每一条漏洞都能挂到具体资产上。

本节从零设计一份可支撑漏洞治理的资产台账,核心是字段设计,并用一份模拟清单验证它能否支撑漏洞关联与优先级排序。

字段设计:五类必填 + 三类扩展

台账字段不是越多越好,而是每个字段都要能回答一个治理问题。下面按"标识—责任—重要性—位置—软件栈"五类必填字段组织,再补三类扩展字段。

字段类别回答的治理问题示例值
asset_id标识这条漏洞挂到哪台资产?AST-WEB-0012
hostname标识人可读的资产名pay-web-02
owner责任谁负责修复?张伟(支付研发组)
business_level重要性多快必须修?核心 / 重要 / 一般
network_zone位置暴露面多大?互联网DMZ / 内网办公 / 生产内网
software_stack软件栈漏洞能不能命中?Nginx 1.24 / Spring Boot 3.1 / MySQL 8.0
ip_address扩展扫描器如何定位?10.20.3.12
os_version扩展系统层漏洞匹配Ubuntu 22.04
last_seen扩展资产是否还活着?2025-06-01
business_level 与 network_zone 是后续优先级排序的两个关键输入:前者决定业务影响,后者决定暴露面。两者组合可以快速给出"先修谁"的初判。

模拟资产清单

下面用 6 台模拟资产验证字段是否够用。这份清单是教学示例,不是真实环境数据。

asset_idhostnameownerbusiness_levelnetwork_zonesoftware_stackip_address
AST-WEB-0012pay-web-02张伟核心互联网DMZNginx 1.24 / Spring Boot 3.110.20.3.12
AST-WEB-0013pay-web-03张伟核心互联网DMZNginx 1.24 / Spring Boot 3.110.20.3.13
AST-DB-0007pay-db-01李娜核心生产内网MySQL 8.0.3410.20.9.7
AST-APP-0031oa-app-01王强重要内网办公Tomcat 9.0 / JDK 1710.30.1.31
AST-TEST-0005test-box-05陈晨一般测试网段Ubuntu 22.04 / OpenSSH 8.910.40.2.5
AST-WEB-0021static-web-01刘洋一般互联网DMZNginx 1.2210.20.3.21

用一条模拟漏洞验证台账能否支撑关联与排序

假设采集到一条漏洞:CVE-2024-XXXX,影响 Nginx 1.22–1.24,远程代码执行。用台账做关联:

  1. 按 software_stack 匹配,命中 AST-WEB-0012、AST-WEB-0013、AST-WEB-0021 三台。
  2. 按 network_zone 判断暴露面:三台都在互联网DMZ,均可被外部触达。
  3. 按 business_level 排序:核心(0012、0013)优先于一般(0021)。
  4. 按 owner 分派:0012、0013 给张伟,0021 给刘洋。

如果台账缺少 software_stack,就无法判断漏洞是否命中;缺少 network_zone,就无法区分暴露面;缺少 business_level,就无法排序。这三个字段是关联与排序的最小充分集。

常见坑:只记录 IP 不记录软件栈,导致漏洞无法按组件匹配;只记录 owner 不记录 business_level,导致所有资产看起来一样重要,优先级排序失效。
资产台账字段 → 漏洞关联 → 优先级排序 台账字段 asset_id / hostname owner business_level network_zone software_stack ip_address / os_version last_seen 五类必填 + 三类扩展 每个字段回答一个治理问题 漏洞关联 CVE-2024-XXXX Nginx 1.22–1.24 RCE 按 software_stack 匹配 按 network_zone 判暴露面 按 business_level 排序 按 owner 分派修复 命中资产与排序 P1 · 立即修 pay-web-02 / pay-web-03 核心 · 互联网DMZ · 张伟 P2 · 计划修 static-web-01 一般 · 互联网DMZ · 刘洋 未命中 pay-db-01 / oa-app-01 test-box-05 software_stack 决定是否命中 business_level + network_zone 共同决定优先级

台账可用性检查清单

设计完字段后,用下面 5 个问题自检台账是否真的能支撑漏洞治理:

  • 给定一条漏洞,能否在 1 分钟内找到所有受影响资产?——依赖 software_stack 与 os_version。
  • 能否区分"必须今天修"和"可以排期修"?——依赖 business_level 与 network_zone。
  • 能否直接找到修复责任人?——依赖 owner。
  • 能否判断资产是否还在线?——依赖 last_seen。
  • 能否用扫描器结果自动回填?——依赖 ip_address 与 hostname 作为关联键。

如果以上任一问题无法回答,说明对应字段缺失或粒度不够,需要回到字段设计阶段补齐。