选错协议,备份等于裸奔
前两天朋友老李来找我,说公司做了定期数据备份,结果还是被勒索病毒把备份文件全加密了。一查才发现,他们用的备份工具走的是明文传输,中间被人截了包,密钥都给倒腾走了。这哪是备份,简直是给黑客留后门。
常见协议怎么选?别光看名字高大上
现在主流的备份场景里,基本绕不开这几个协议: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 保了密。
安全协议不是越新越好,也不是默认就行。关键是匹配你的使用场景,把加密、认证、访问控制都设到位。备份的目的是防意外,别因为协议选错,把意外变成了必然。