服务器挖矿病毒crontab定时任务清理根除全攻略
一、确认挖矿病毒迹象
服务器感染挖矿病毒后,常见表现为CPU占用率飙升、系统响应缓慢、出现陌生进程或网络连接异常。首先通过top命令查看CPU占用最高的进程,记录其PID和程序路径。同时检查/etc/crontab、/var/spool/cron/目录下的用户定时任务文件,以及crontab -l输出的内容,查找是否存在可疑的下载、执行脚本或矿池连接指令。
二、终止恶意进程
在确认恶意进程后,使用kill -9 进程PID强制终止。若进程反复出现,可能由守护进程或定时任务拉起,需继续排查其他隐藏入口。建议先切断网络,阻止病毒与外联矿池通信,再逐步清理。
三、清除crontab定时任务
1. 检查系统级crontab:编辑/etc/crontab,删除所有非正常维护外的计划任务行,尤其注意包含wget、curl、base64等关键字的命令。
2. 清空用户定时任务:执行crontab -u root -l查看root用户任务,若存在可疑项,使用crontab -u root -r删除或编辑crontab -e手动移除。同时需检查其他用户(如www、mysql等)的cron文件:ls -l /var/spool/cron/,逐一清理。
3. 排查系统目录中的cron脚本:黑客常将恶意脚本写入/etc/cron.d/、/etc/cron.hourly/、/etc/cron.daily/、/etc/cron.weekly/、/etc/cron.monthly/等目录。使用ls -lh /etc/cron*查看全部相关文件,删除或注释非官方文件。
四、清理病毒文件与后门
通过进程路径、cron脚本内容定位病毒源文件,通常位于/tmp、/var/tmp、/dev/shm、/usr/bin等目录。使用rm -f删除恶意二进制文件。同时检查/etc/ld.so.preload、~/.bashrc、~/.ssh/authorized_keys是否被篡改,防止后门重启。
五、修复系统漏洞与安全加固
挖矿病毒往往利用系统漏洞、弱口令或未打补丁的服务入侵。建议升级相关软件包,修改服务器所有用户密码为高强度口令,关闭不必要端口(如Redis 6379、Docker API 2375等)。安装杀毒软件(如ClamAV)或使用安全加固工具做全盘扫描。
六、验证清除效果
重启crontab服务:systemctl restart crond(或service cron restart)。观察一段时间,再次执行top、crontab -l确认无异常进程和新任务。定期检查系统日志/var/log/messages、secure,确保无复发现象。
总结与防范建议
清理crontab定时任务是根除挖矿病毒的关键一步,但防止再次感染更重要。建议设置服务器安全基线:最小化安装软件、启用防火墙、使用SSH密钥登录、开启审计日志,并制定定期安全检查计划。若服务器已感染,务必彻底清理并评估是否有数据泄露风险。