云服务器中招了才想起杀毒?手把手教你做一次完整病毒扫描
你有没有遇到过这种情况:网站打开突然跳转到乱七八糟的页面,宝塔面板密码莫名其妙被改,或者登录服务器一看 top 里有个陌生的 kdevtmpfsi 把 CPU 吃到 100%。别问我是怎么知道的——去年我朋友一台没做任何防护的服务器就是被挖矿木马啃了三天,账单出来那一刻他脸都绿了。
这篇写给国内站长和刚上手云服务器的开发者,不讲虚的,就讲怎么给自己的机器做一次靠谱的病毒扫描。全程命令可复制,小白也能跟着做。
第一步:先判断是不是真中招了
扫描之前别瞎扫,先花两分钟排查异常。SSH 上去敲这几条:
top -c # 看有没有陌生进程吃满 CPU
crontab -l # 看定时任务里有没有诡异脚本
ls -la /tmp /dev/shm # 这两个目录是木马最爱藏的地方
netstat -antp # 看有没有连到可疑 IP 的外连
如果 crontab 里出现 curl xxx.sh | sh 这种,或者 /dev/shm 里躺着可执行文件,基本可以确认被入侵了。
第二步:扫描前先备份,这是铁律
千万别一上来就 --remove。 很多扫描工具会把正常的 PHP 加密代码、开源框架文件误判成木马,直接删了网站就废了。先打包:
tar -czf /root/backup_$(date +%F).tar.gz /var/www /etc/nginx
备份完再动手,心里才踏实。
第三步:装工具,ClamAV 打底 + 面板查杀
Linux 上最通用的是开源免费的 ClamAV:
# CentOS
yum install -y clamav clamav-update
# Ubuntu/Debian
apt install -y clamav
freshclam # 更新病毒库,第一次会慢一点
扫的时候建议先“只报不杀”,看清楚再说:
clamscan -r -i /var/www --log=/root/scan.log
-r 递归、-i 只显示感染文件。确认日志里确实是木马,再改成 --remove 重扫一遍。
如果你用的是宝塔面板,那更省事:面板里有“木马查杀”和“网站防篡改”,点一下就能扫全站,还能顺手把 eval($_POST) 这类一句话木马揪出来。云厂商那边,阿里云有安骑士、腾讯云有主机安全、华为云有 HSS,免费版就够个人站用了,建议都装上。
第四步:重点扫这几个目录
你可能不知道,绝大多数 Webshell 都藏在这几个地方,扫的时候别漏:
- 网站根目录的上传文件夹(
/uploads、/attachment) /tmp、/var/tmp、/dev/shm(挖矿木马的老巢)wp-content/plugins(WordPress 插件是重灾区)- 各用户的
.ssh/authorized_keys(看有没有被塞公钥)
第五步:清完还要加固,否则白干
杀完毒不等于安全。接着做三件事:改掉所有密码和 SSH 密钥、关掉 22 端口的公网暴露(换成密钥登录 + 改端口)、装个 fail2ban 防暴力破解。最后把扫描写进 cron,每周自动跑一次。
避坑提醒(新手最容易犯的三个错)
- 直接
--remove不备份——误删框架文件,网站当场 500,哭都来不及。 - 只扫网站目录——木马早就在
/dev/shm和定时任务里安家了,扫完一夜复活。 - 用网上来路不明的“一键查杀脚本”——有些脚本本身就是后门,别贪那点方便。
想省心?选对云服务器能少一半麻烦
说实话,最好的杀毒是别让病毒进来。沐雨云服务器(https://www.myyvps.com) 在这块挺适合国内站长:提供单机 50-200G DDoS/CC 防御的高防云服务器,香港/美国/日本免备案 VPS 可选,走 BGP/CN2 优质线路,纯 SSD 固态硬盘,2 核 2G 轻量云 12.8 元/月起,支持支付宝、微信付款。个人博客、电商站、游戏服、外贸独立站都能用得上,防护做在前面,比事后杀毒省钱多了。
总结一下
- 先排查
top、crontab、/tmp,别盲目扫 - 扫描前必须备份,先报后杀
- ClamAV + 面板查杀 + 云厂商主机安全,三层一起上
- 重点扫上传目录、临时目录、SSH 公钥
- 清完改密码、关端口、装 fail2ban,并设置定期扫描
安全这事儿,花半小时配置,能省你三天重装系统的时间。




这一切,似未曾拥有