1.10.5 备份安全与保留策略

备份安全与保留策略#

本节关注备份数据的机密性、完整性与可用性(CIA),以及可执行的保留策略与清理机制。以下通过原理草图、命令示例、排错与练习落地。

1. 原理草图:安全控制与保留闭环

文章图片

2. 备份安全控制(示例 + 命令解释)

  • 访问控制与目录隔离
# 1) 创建专用备份账户与目录
useradd -r -s /sbin/nologin backup
mkdir -p /data/backup /data/backup/meta
chown -R backup:backup /data/backup
chmod 750 /data/backup

# 2) 仅允许backup组访问(最小权限原则)
getfacl /data/backup

说明:/sbin/nologin 禁止交互登录;750 确保非授权用户无访问权限。

  • 传输加密(rsync over SSH)
# 从备份机拉取(或推送)文件,使用SSH加密通道
rsync -avz -e "ssh -p 22" /etc/ user@backup-host:/data/backup/etc_$(date +%F)/

说明:-a 保留权限与时间戳,-z 压缩传输,-e ssh 使用加密通道。

  • 存储加密(GPG 对备份包二次加密)
# 生成备份包
tar -czf /data/backup/app_$(date +%F).tar.gz /opt/app

# 使用对称加密(密码可结合密钥管理系统)
gpg --batch --yes --passphrase 'StrongPass' \
  -c /data/backup/app_$(date +%F).tar.gz

# 预期效果:生成 app_YYYY-MM-DD.tar.gz.gpg
ls -l /data/backup/app_*.gpg
  • 完整性校验(SHA256)
# 生成校验清单
cd /data/backup
sha256sum *.gpg > /data/backup/meta/sha256sum.txt

# 恢复前校验一致性
sha256sum -c /data/backup/meta/sha256sum.txt

3. 备份保留策略(示例 + 配置)

  • 保留策略样例
  • 日备 14 天、周备 8 周、月备 12 个月、年备按合规;
  • 关键配置与证书:日备 30 天、月备 24 个月;
  • 至少一份异地副本。

  • 本地清理脚本(可结合 cron)

# /usr/local/bin/backup_retention.sh
#!/bin/bash
set -e
BACKUP_DIR="/data/backup"
# 删除14天前的日备(示例规则)
find "$BACKUP_DIR" -type f -name "daily_*" -mtime +14 -print -delete
# 删除8周前的周备
find "$BACKUP_DIR" -type f -name "weekly_*" -mtime +56 -print -delete
# 删除12个月前的月备
find "$BACKUP_DIR" -type f -name "monthly_*" -mtime +365 -print -delete
# 添加计划任务:每天 02:30 执行清理
crontab -u backup -e
30 2 * * * /usr/local/bin/backup_retention.sh >> /var/log/backup_retention.log 2>&1

4. 审计与告警(示例)

# 将备份日志写入独立文件,便于审计
rsync -avz /etc/ user@backup-host:/data/backup/etc_$(date +%F)/ \
  >> /var/log/backup_job.log 2>&1

# 失败检测示例:非0即告警
if [ $? -ne 0 ]; then
  echo "Backup failed on $(date)" | mail -s "Backup Alert" ops@example.com
fi

5. 排错清单(常见问题与定位)
- 权限不足Permission denied
- 处理:确认 chown/chmod,检查 backup 用户权限与ACL。
- 校验失败sha256sum: FAILED
- 处理:确认传输是否中断、是否有误覆盖;重新生成备份与校验清单。
- 传输慢或中断
- 处理:检查网络质量,尝试 rsync --partial 保留断点文件。
- 空间不足
- 处理:执行保留清理脚本;确认归档/低频存储是否生效。

6. 练习与验证
1. 在测试机创建 /data/backup,使用 backup 用户完成一次 /etc 目录备份。
2. 用 GPG 加密备份包并生成 sha256sum 校验清单。
3. 人为修改备份包后重新校验,观察失败提示并说明原因。
4. 编写并执行保留清理脚本,验证 14 天前模拟文件被删除。

通过安全控制、校验机制与保留策略的闭环设计,备份不仅“可用”,还能“可信、可查、可恢复”。