数码工坊
白蓝主题五 · 清爽阅读
首页  > 数据备份

安全协议选择建议:数据备份时别再乱配了

选错协议备份等于裸奔

前两天朋友老李来找我,说公司做了定期数据备份,结果还是被勒索病毒把备份文件全加密了。一查才发现,他们用的备份工具走的是明文传输,中间被人截了包,密钥都给倒腾走了。这哪是备份,简直是给黑客留后门。

常见协议怎么选?别光看名字高大上

现在主流的备份场景里,基本绕不开这几个协议:SFTP、SCP、HTTPS、WebDAV over TLS,还有老掉牙但还在用的FTP和HTTP。如果你在配置备份工具时看到这些选项,别懵,先搞清它们到底干啥的。

SFTP 是基于 SSH 的文件传输协议,全程加密,适合内网或跨公网的服务器间备份。比如你家里的 NAS 要往云主机传备份,用 SFTP 最稳妥。配置也简单:

sftp -i ~/.ssh/id_rsa backup@192.168.1.100:/backups

注意这里的 -i 指定了私钥,免密码登录的同时也保证了认证安全

HTTPS 备份接口也很常见

现在很多 SaaS 工具提供 API 接口做数据导出,比如用脚本定时拉取企业微信的通讯录备份。这时候走的就是 HTTPS。关键是要确认证书有效性,别让中间人骗了。Python 脚本里可以这样加验证:

import requests
response = requests.get(
"https://api.example.com/backup",
headers={"Authorization": "Bearer your-token"},
verify=True # 必须开,否则可能被劫持
)

verify=False 看着省事,但等于把门钥匙挂在门口,谁都能进来。

WebDAV 别默认开明文

有些人图方便,用 WebDAV 挂载网络盘当本地磁盘用。但默认配置如果是 HTTP,所有数据都是裸传。正确的做法是配上 TLS,也就是用 https:// 开头的地址。Nginx 配置片段长这样:

server {
listen 443 ssl;
server_name webdav.example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/privkey.pem;
location / {
root /data/backups;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND;
allow 192.168.1.0/24;
deny all;
}
}

加上 IP 限制和强密码,才算勉强能用。

坚决不用 FTP 和 HTTP

除非你在完全隔离的物理内网,否则别碰 FTP 和 HTTP 做备份传输。用户名密码明文飘在网络里,抓个包就能还原。之前有客户用 FTP 把财务数据库备份到另一台机器,结果交换机日志被导出,整套凭证都被扒走了。

实在要迁移老系统,至少套一层 SSH 隧道,或者改用 rsync over SSH:

rsync -avz -e ssh /data/mysql/ user@remote:/backup/mysql/

既利用了 rsync 的增量同步优势,又靠 SSH 保了密。

安全协议不是越新越好,也不是默认就行。关键是匹配你的使用场景,把加密、认证、访问控制都设到位。备份的目的是防意外,别因为协议选错,把意外变成了必然。