在等保三级测评中,如何证明“剩余信息”已清理?

解读

等保三级(GB/T 22239-2019)把“剩余信息保护”列为安全计算环境中的强制控制点,要求“当资源释放或重新分配时,应确保前一个用户的数据在磁盘、内存、索引、缓存、日志中不可恢复”。
CouchDB 采用追加写 B+ 树MVCC机制,旧版本文档、视图索引、压缩临时文件、日志片段极易成为“剩余信息”藏身之处。
面试官真正想听的是:你能否用国产密码、国测工具、国产流程把“清理”做成可验证、可复现、可审计的证据链,而不是简单一句“我开了压缩”。

知识点

  1. 等保三级对剩余信息的判定基准:使用国家密码管理局认可的恢复工具(如国测版 Ontrack、北信源数据销毁工具)连续读取一个物理扇区仅允许出现随机化特征,不得检出16 个及以上连续原始字节
  2. CouchDB 的数据残留面
    • .couch 文件内部被标记为“已删除”但尚未重写压缩的文档主体与附件;
    • view_index_dir 里由 JavaScript 视图产生的旧索引分片
    • crash.dmpcouch.logaudit.log 中可能打印的完整 JSON 文档
    • 启用了 delayed_commits=true 时,未刷盘的 Erlang 消息队列
    • 容器场景下,overlay2 快照层中的旧文件句柄。
  3. 国产合规清理技术:
    • 国密 SM4 随机密钥对文件系统级整块磁盘离线覆盖写(三遍模式:0x55、0xAA、随机);
    • 在线场景使用国测版 shred(支持 SM4)对单文件4 KiB 对齐覆写≥6 次;
    • 内存清理调用 Erlang erlang:garbage_collect/1 + erlang:hibernate/3,并触发 Linux madvise(MADV_DONTNEED),确保物理页帧被内核回收前置零
    • 日志采用国密 SM3+HMAC 计算每条记录摘要,定期归档后立即对原始文件国密级粉碎,保留摘要链供审计。
  4. 证据链四件套(测评员必查):
    • 清理脚本(含 SM4 密钥版本号、时间戳、操作员国密 USBKey 证书 SN);
    • 国测机构出具的“不可恢复”检测报告
    • CouchDB 审计日志(级别=info,包含 compaction_start|doneview_cleanupdb_deleted 事件);
    • 运维工单+三级审批电子流,与堡垒机录像一一对应。

答案

要当场向测评机构证明“剩余信息已清理”,必须交付**“技术措施+管理证据”**两条线:

  1. 技术措施
    离线盘:维护窗口内停服,使用国密版 DBAN对数据盘做SM4 三遍覆写,生成国测报告编号
    在线库
    • 设置 compaction_daemon 触发阈值 fragmentation=30%,每次压缩后自动调用国测 shred对旧的 .compact.old 文件6 次覆写
    • 视图目录每日凌晨执行 couchdb-compact-view 脚本,清理完成后对 *.view 旧文件SM4 覆写并写syslog 审计
    • 日志采用SM3 摘要链,归档后立即粉碎,保留摘要供完整性校验;
      内存:在 application:stop(couch) 前注入 Erlang 0x00 填充模块,强制 GC 并调用 madvise 置零,/proc/meminfo 观察 ZeroPages 增量。
  2. 管理证据
    • 提供**《CouchDB 剩余信息清理作业指导书》**(含国密算法版本、工具 SHA256、操作截图);
    • 出具第三方国测机构《不可恢复性检测报告》(结论页盖 CNAS 章);
    • 堡垒机导出操作员、审核员、监审员三级 USBKey 签名录像,时间戳与脚本日志一一对应
    • 等保测评现场,测评员随机抽选退役磁盘一块,使用国测版恢复工具全盘扫描,未检出 16 个以上连续原始字节,即判定为“符合”。

拓展思考

  1. 若 CouchDB 部署在国产化 ARM+麒麟 OS环境,需确认shred是否已适配麒麟安全内核的写时复制特性,避免ext4 delalloc延迟写导致覆写失效;
  2. 当启用CouchDB 3.x 的“加密存储”enable_database_encryption = true)时,剩余信息清理范围还要包括密钥文件*.key)与Erlang ETS 表中的明文密钥片段,需要国密 USBKey 封闭存储+内存清零双重措施;
  3. 云环境中,若底层为国产分布式块存储(如华为 Kunpeng-OceanStor),需向云服务商索要**《物理盘擦除证明》,并与租户侧CouchDB 逻辑清理报告“双轨”交叉验证**,才能通过等保三级云计算扩展要求的审查。