归档要同时满足三件事
日志归档的目标是在线系统之外留下一份可长期取用的副本:成本要可控、内容要可信、需要时能恢复。因此归档链路至少要有三个动作——打包压缩以降低存储量、加密以控制访问范围、生成校验值以便日后判断文件是否损坏或被替换。归档不是「传上去就完事」:介质会老化、密钥会丢失、格式会过时,只有做过恢复演练的归档才算真正可用。
归档要素
- 完整性:归档包生成 SHA-256 校验值并单独留档,校验值索引与归档包分处两地
- 机密性:归档包加密后再外发,加密密钥与归档包分开保管,密钥丢失等于归档报废
- 异地性:至少一份存放在与生产机房不同的位置或不同云账号下
- 可检索性:保留按时间与主机拆分的目录结构,避免做成一个巨型包
- 保留期:按法规与制度设定保留周期,网络安全法要求网络日志留存不少于六个月,行业规定可能更长
- 可删除:到期清理需审批并留痕,涉及个人信息的日志要协调删除义务与审计留存要求
归档与校验示例
归档与校验示例
# 1 打包(按月分卷,便于定位)
tar czf access-2026-03.tar.gz /var/log/nginx/access.log.*
# 2 生成校验值并单独保存
sha256sum access-2026-03.tar.gz > access-2026-03.sha256
# 3 加密后上传(示例:对称加密 + 对象存储)
gpg --symmetric --cipher-algo AES256 -o access-2026-03.tar.gz.gpg access-2026-03.tar.gz
aws s3 cp access-2026-03.tar.gz.gpg s3://log-archive-2026/ --sse AES256
# 4 恢复演练:下载 → 校验 → 解密 → 解包 → 抽检
aws s3 cp s3://log-archive-2026/access-2026-03.tar.gz.gpg ./
sha256sum -c access-2026-03.sha256介质取舍
| 介质 | 适合场景 | 注意点 |
|---|---|---|
| 对象存储(标准/低频/归档层) | 在线可查、按量计费,最常用 | 生命周期策略要显式配置,避免提前转冷后取回费用与延迟超预期 |
| 磁带库 | 超长保留期、法规要求的冷数据 | 恢复需专有设备与驱动,演练成本高 |
| 光盘/蓝光 | 少量关键证据的离线保存 | 容量有限、写入需专用设备,注意介质寿命 |
| 异地机房磁盘/磁带 | 不依赖公有云的自建方案 | 需自行管理同步、巡检与加密密钥 |
归档包不加密直接外发,泄露风险与明文留存没有区别;而加密密钥若与归档包放在同一台机器或同一个存储桶里,加密只是形式。
恢复演练建议每半年一次,抽取随机月份与随机主机,记录耗时与发现的问题(如密钥不可用、包内文件缺失);演练报告本身就是检查时证明归档有效的证据。