LabHub
学习 学习路径 课程

闭网现场 — 国防领域

固定配置的漏洞应对与交接

在 LabHub 中继续学习

目标

判断哪些漏洞因认证配置限制而无法通过升级修复,并将缓解依据记录为文档;找出夜间作业日志中的审计违规;最终完成一套让接手者无需互联网也能阅读并照做的交接材料。

为什么重要

认证配置一旦应用最新补丁,就不再是获得认证时的那套配置,而重新认证需要数月。因此,这里的漏洞响应往往不是以更新结束,而是以缓解措施和文档化结束。由于缓解后版本号保持不变,从外部看无法区分“已采取措施”和“什么也没做”,所以留下已作出判断的记录本身就是工作。审计追踪也具有相同性质——不是事故后再去查找,而是要在作业前就设计成会留下记录;没有留下的内容,无论多努力查找都不会出现。

步骤

  1. 使用 python3/root/handover/ 中创建 baseline.json(10 项配置)、advisories.json(8 条公告)、worklog.csv(14 项作业)和 window.txt
  2. /root/handover/impact.csv 中逐条判断并记录公告是否产生影响。版本号按点号拆分后以数字比较。
  3. /root/handover/mitigation.md 中以表格写明受影响项目的措施类型、依据和重新评估时间。
  4. /root/handover/freeze.txt 中写入认证编号、配置清单的 SHA-256、固定配置数量、可变更配置数量,以及固定且受影响的配置数量。
  5. 将未经批准就执行的作业按原始行原样输出到 /root/handover/audit-noapproval.csv
  6. 将执行者与批准者相同的作业输出到 /root/handover/audit-selfapproved.csv
  7. 将作业窗口之外的作业输出到 /root/handover/audit-window.csv,并在 /root/handover/audit-summary.txt 中写入三类数量和去重后的实际违规作业数量。
  8. /root/handover/runbook.md 中编写包含七个章节的交接操作手册。
  9. 使用 /root/handover/HANDOVER.sha256/root/handover/index.md 完成交接材料包。

参考

创建配置、公告和作业日志

使用 python3/root/handover/ 中创建 baseline.json(10 项配置)、advisories.json(8 条公告)、worklog.csv(14 项作业)和 window.txt

使用 python3 创建 baseline.json、advisories.json、worklog.csv 和 window.txt 四个文件。只有值固定,才能相互核对判断,因此请原样使用生成脚本。

对照配置与公告判断影响

/root/handover/impact.csv 中逐条判断并记录公告是否产生影响。版本号按点号拆分后以数字比较。

如果将版本作为字符串比较,16.2 看起来比 16.10 大,而 3.12.3 看起来比 3.9.20 小。请按点号拆分后以数字比较。未安装的组件不受影响。

编写缓解措施与依据表

/root/handover/mitigation.md 中以表格写明受影响项目的措施类型、依据和重新评估时间。

表中只列出受影响的项目。受认证配置约束的组件,措施类型应为缓解,并以认证编号作为依据;配置之外的组件则进行补丁更新。每行都要附上重新评估日期。

冻结配置清单

/root/handover/freeze.txt 中写入认证编号、配置清单的 SHA-256、固定配置数量、可变更配置数量,以及固定且受影响的配置数量。

记录配置清单文件的 SHA-256,可以防止清单被悄悄更改。frozen_affected 是受影响且无法升级版本的配置数量。

找出未经批准执行的作业

将未经批准就执行的作业按原始行原样输出到 /root/handover/audit-noapproval.csv

即 approver 列为连字符或为空的行。请原样复制原始行——如果进行摘要,之后就无法与原始数据核对。

找出双人控制失效的作业

将执行者与批准者相同的作业输出到 /root/handover/audit-selfapproved.csv

即 operator 与 approver 相同的行。批准列为连字符的行应归入上一步,而不是这里——混在一起会使两个列表都出错。

统计窗口外作业和实际违规数

将作业窗口之外的作业输出到 /root/handover/audit-window.csv,并在 /root/handover/audit-summary.txt 中写入三类数量和去重后的实际违规作业数量。

窗口包含 window.txt 中的开始时间,但不包含结束时间。三类违规数量之和不等于违规作业数量——同一项作业可能同时违反两项规则,因此要按 seq 去重。

编写交接操作手册

/root/handover/runbook.md 中编写包含七个章节的交接操作手册。

需要七个章节。正文不要使用外部链接,不要引用屏幕截图,用角色而不是人名描述责任。命令应写在代码块中,确保可以直接执行。

打包交接材料

使用 /root/handover/HANDOVER.sha256/root/handover/index.md 完成交接材料包。

为八个产出物生成哈希清单,并附上一份说明各文件用途的索引文档。索引文档本身不要加入清单——封面不属于材料包的内容物。