勒索病毒防护,服务器备份与权限管控:勒索病毒防护实战
勒索病毒一旦入侵服务器,往往会加密全盘数据并索要赎金。
对零基础用户来说,最有效的防护不是装多少杀毒软件,而是把服务器备份做可靠、把权限管到最小。
下面按准备、操作、避坑和验证四个阶段,讲清楚在 Linux 服务器上如何落地这两件事。
先理清备份策略和权限现状
备份不是简单复制一份文件。
你需要先确定三件事:哪些数据必须备份(网站目录、数据库、配置文件)、备份存到哪里(异地或对象存储)、多久备份一次(建议每天至少一次)。
同时检查当前服务器上有哪些用户、哪些目录权限过宽。
登录服务器后,用以下命令快速查看用户列表和关键目录权限:
cat /etc/passwd | grep -v nologin | grep -v false
ls -ld /www /home /var/www
如果发现 /www 目录权限是 777,或者有不明用户拥有 sudo 权限,就说明权限管控存在明显风险,需要立即调整。
配置自动化备份与异地存储
手动备份容易忘记,推荐用脚本加定时任务完成。
以下是一个简单的网站目录备份示例,将 /www/wwwroot 打包并保留最近 7 天:
#!/bin/bash
BACKUP_DIR="/backup/www"
DATE=$(date +%Y%m%d)
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/www_$DATE.tar.gz /www/wwwroot
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete
把脚本保存为 /root/backup.sh,赋予执行权限后加入 crontab:
chmod +x /root/backup.sh
crontab -e
在 crontab 中添加一行,表示每天凌晨 3 点执行:
0 3 * * * /root/backup.sh
如果使用宝塔面板,可以在“计划任务”中添加“备份网站”和“备份数据库”,并设置备份到对象存储或 FTP 异地保存。
关键点是备份文件不要只放在同一台服务器上,勒索病毒会加密本地所有可写文件。
收紧目录权限和 SSH 访问
权限管控的核心是“最小必要”。
网站目录通常只需要 Web 运行用户可读可执行,不要给写入权限。
以 Nginx 为例,运行用户通常是 www,可以这样设置:
chown -R root:www /www/wwwroot
find /www/wwwroot -type d -exec chmod 750 {} \;
find /www/wwwroot -type f -exec chmod 640 {} \;
这样 Web 用户只能读取文件,无法修改。
需要上传附件的目录(如 uploads)再单独给写权限:
chmod 770 /www/wwwroot/your_site/uploads
SSH 方面,禁止 root 密码登录,改用密钥认证。
编辑 /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication no
Port 22222
修改后重启 SSH 服务:systemctl restart sshd。
注意在禁用密码登录前,先确认密钥登录已经可用,否则会把自己锁在外面。
容易被忽略的防护漏洞
很多入侵不是攻击系统漏洞,而是通过弱密码或老旧插件进入。
请检查以下几点:
- 数据库密码不要使用
123456或与网站后台相同; - 宝塔面板、phpMyAdmin 等管理入口不要暴露在公网默认端口,建议改端口并限制 IP 访问;
- 及时更新 CMS、插件和服务器系统补丁;
- 关闭不必要的端口和服务,用
netstat -tulnp查看监听状态; - 备份文件不要放在 Web 可访问目录下,避免被直接下载。
另外,给服务器安装一个轻量级入侵检测工具也有帮助,例如 rkhunter 或 fail2ban,但它们不能替代备份和权限管控。
验证备份可用性和权限效果
备份做完不等于能恢复。
建议每月做一次恢复演练:在测试目录解压备份文件,确认数据库可以导入,网站能正常打开。
如果恢复失败,说明备份策略需要调整。
权限调整后,可以新建一个测试文件,尝试用 Web 用户写入受保护目录,应该返回“权限不足”。
例如:
sudo -u www touch /www/wwwroot/test.txt
如果提示 Permission denied,说明目录写权限已正确收紧。
同时检查 SSH 是否只能通过密钥登录,用另一台电脑尝试密码登录,应当被拒绝。
勒索病毒防护没有一劳永逸的方法,但把服务器备份做成可恢复、把权限收到最小,能显著降低被加密后无法挽回的概率。
建议先从备份脚本和目录权限这两步开始,再逐步完善 SSH 和面板安全设置。