非网络层面复核与建议报告

复核时间:2026-05-12 09:02 Asia/Shanghai

范围:本机 AR、Hermes/Codex 状态文件、备份/恢复链路、systemd/timer、软件更新、历史残留,并结合已采样的远端 VPS 非网络项。

非网络层面没有发现会立即导致业务中断的严重 bug,但存在几个会持续积累风险的工程问题:DR 备份保留策略与 append-only 仓库冲突、Hermes 状态库权限偏松、迁移残留 failed unit、远端 IP-Sentinel/logrotate/man-db 失败服务、以及大体量历史备份缺少分层保留策略。

建议优先级

优先级建议原因建议动作
P0 修正 DR 备份 retention/prune 与 append-only 仓库策略冲突 备份 snapshot 已完成,但 prune 删除旧快照持续 403;长期会导致远端仓库无界增长,且每次备份产生大量错误日志。 把 prune 从常规备份脚本拆出,改为单独维护窗口使用具备 delete 权限的账号执行;或保留 append-only,但脚本中不要在普通备份阶段调用 delete。
P1 收紧 Hermes/Codex 状态库权限 /root/.hermes/state.db、profile state.dbkanban.db/root/.codex/state_5.sqlite 等为 644。虽然在 root 目录下,但状态库可能含会话上下文或操作记录。 对活跃状态库统一 chmod 600;备份区可保留只读,但含敏感上下文的快照也建议 600。
P1 清理 systemd 迁移残留 hermes-gateway-inventory.service 已被 Stock 替代,但 failed 状态仍污染系统健康视图。 执行 systemctl reset-failed hermes-gateway-inventory.service,并确认没有 inventory unit 文件残留。
P1 处理远端 VPS failed 服务 多台远端存在 ip-sentinel-report/updater/runner failed;DE/KR/TK 有 logrotate failed;KR 还有 man-db failed。 确认 IP-Sentinel 是否仍使用;不用则 disable/mask 并归档 unit,用则修复配置。logrotate 必须修复,避免日志堆积。
P2 建立备份分层保留规则 /root/backups 已 8.4G,其中 Hermes 配置优化与 workspace 移除备份各 1.4G-2.2G;目前还可控,但增长趋势明显。 把“近 7 天快速回滚备份”和“长期归档备份”分层;大目录压缩或移至 DR 仓库,保留 manifest。
P2 把第三方源升级纳入维护流程 unattended-upgrades dry-run 显示第三方源被 pin 排除;Docker CE、Google Cloud SDK 等不会自动升级。 每周或每两周人工维护窗口执行 apt upgrade,升级前先快照/备份并验证核心服务。

本机非网络复核

项目现状判断
系统健康核心服务运行;唯一 failed 为 hermes-gateway-inventory.service not-found迁移残留
资源/ 116G 已用 45G,39%;内存 23GiB,可用约 20GiB健康
定时器certbot、logrotate、man-db、apt、local-dr-backup、local-dr-restore-drill 均有 timer结构完整
logrotate/man-db本机最近一次均成功正常
DR 备份备份 snapshot 完成;retention/prune 删除旧快照 403策略冲突
DR 恢复演练2026-05-10 成功恢复关键配置到 DE可恢复性已验证
软件更新11 个包待更新,主要为 Docker CE、Google Cloud SDK、libheif、open-vm-tools维护项
自动更新安全自动更新存在,但第三方源被排除覆盖不完整

权限与数据文件

路径/类型现状风险建议
/root/.hermes/state.db644,约 280MB可能含长期状态、会话摘要或工具痕迹chmod 600
/root/.hermes/profiles/*/state.db多为 644,Health/News/Network/Worker/Stock 均存在profile 运行状态可被同机低权限用户读取chmod 600
/root/.hermes/*/kanban.db多为 644任务状态与上下文可读chmod 600
/root/.codex/logs_2.sqlitestate_5.sqlite644可能含会话元数据chmod 600
/root/projects/migrate_cards_sub_local/extracted/...历史迁移目录内有 644 的 env/db 快照历史敏感快照留在项目树移动到受控备份区或 chmod 600
证书/主 env/主业务 db活跃私钥、env、cards/sub/yungen 主库基本 600当前较好保持现状

备份与历史残留

对象规模/状态判断建议
/root/backups8.4G增长明显建立按周/月归档策略;大备份压缩或迁入 DR
remove-hermes-workspace-20260510-1650502.2G可归档确认 workspace 不回滚后压缩或迁移
hermes-config-opt-*hermes-deep-config-opt-*state-snapshots-governance-*各约 1.4G可合并保留保留最新一份完整快照,其余转长期归档
/root/.cache6.0G可清理按工具分辨后清理浏览器/构建缓存,避免误删运行态缓存
/root/.hermes2.8G状态膨胀评估 state snapshot 保留策略;压缩旧 session
/root/1panel-v2.1.10-linux-arm64159M疑似安装包残留确认不需要后归档
/root/nezha-dashboard-removal-backup-20260426-12495135M历史归档长期保留或并入备份目录

远端 VPS 非网络复核

节点非网络问题建议
DEip-sentinel-* failed,logrotate.service failed修复 logrotate;确认 IP-Sentinel 去留
HKip-sentinel-* failed;/root/telegram-bot/config/.env 644收紧 env 权限;处理 IP-Sentinel
HKAip-sentinel-* failed;保留 tk-cdn-import 历史证书导入目录处理失败服务;归档历史证书目录
HKBip-sentinel-* failed,webhook-9527 failed确认 webhook 是否废弃;不用则禁用
JPip-sentinel-* failed;磁盘 66%;nginx 配置有重复 server_name warning先修失败服务与 warning;磁盘暂未告警但需观察
KRip-sentinel-* failed,logrotate failed,man-db failed优先修 logrotate,随后 reset/fix man-db
KRBip-sentinel-* failed确认组件是否仍使用
TKip-sentinel-* failed,logrotate failed;保留 cdn-migration-export修 logrotate;归档历史 CDN 导出目录
USip-sentinel-* failed;Hermes/Codex 状态库 644处理失败服务;收紧状态库权限
USB/HKY未见 failed unit;非网络项较干净低优先级巡检即可

建议执行顺序

  1. 先改 DR 备份脚本:普通备份只 append,不 prune;删除旧快照改成专门维护任务。
  2. 本机执行一次权限收紧:Hermes/Codex 活跃状态库与历史迁移敏感快照改 600。
  3. 清理本机迁移残留 failed unit。
  4. 在远端批量处理 ip-sentinel-* failed 服务,明确“修复”还是“禁用归档”。
  5. 修复远端 DE/KR/TK 的 logrotate,避免日志不可控增长。
  6. 安排一次维护窗口升级第三方源包,尤其 Docker CE。
  7. 建立备份分层保留:近期快照、长期归档、可删除缓存三类分开。

关键路径

路径用途
/root/backups/security-audit-20260512-085040/NON_NETWORK_RECOMMENDATION_REPORT.html本报告
/root/backups/security-audit-20260512-085040/vps-*.txt远端原始巡检输出
/root/scripts/backup-to-de.sh本机到 DE 的 DR 备份脚本
/var/log/local-dr-backup.logDR 备份日志
/root/.hermes/state.dbHermes 主状态库
/root/.hermes/profiles/*/state.dbHermes profile 状态库
/root/.codex/state_5.sqliteCodex 状态库
/root/backups本机备份主目录
/root/.hermes/vps_inventory/inventory.json远端 VPS 清单