rootkit隐藏后门检测清除服务器恶意进程
服务器rootkit隐藏后门怎么检测和清除?
当服务器出现异常流量、CPU占用飙高或莫名其妙被远控时,很可能是rootkit隐藏了后门和恶意进程。
本文直接教你用chkrootkit和rkhunter两个常用工具,配合系统命令定位并清除这些潜伏程序。
读完你就能自己动手给服务器做一次安全体检,并把发现的恶意进程彻底清理掉。
准备工具与环境
你需要一台Linux服务器(CentOS / Ubuntu / Debian均可),以及root或sudo权限。
建议先备份重要数据,再在非高峰期操作。
安装两个扫描工具:
# CentOS/RHEL
sudo yum install -y epel-release
sudo yum install -y chkrootkit rkhunter
# Ubuntu/Debian
sudo apt update
sudo apt install -y chkrootkit rkhunter
安装完成后,更新rkhunter数据库:
sudo rkhunter --update
检测rootkit与识别恶意进程
先运行chkrootkit快速排查:
sudo chkrootkit
它会检查系统二进制文件是否被替换、隐藏进程和端口等。
若输出显示INFECTED或可疑路径,代表发现问题。
再用rkhunter做深度扫描(耗时较长):
sudo rkhunter --check --skip-keypress
重点关注Warning和Rootkit部分。
同时用手动命令找恶意进程:
# 查看占用CPU高的进程
ps aux --sort=-%cpu | head -20
# 监听端口及对应进程
sudo netstat -tulnp
# 查看打开文件过多或连接外部的进程
sudo lsof -i -n | grep -v LISTEN
可疑特征:进程名伪装成系统服务(如[kthreadd])、CPU持续90%以上、连接到陌生IP、在/dev或/tmp下运行。
清除后门与恶意进程(附避坑)
操作前先断网隔离(拔掉网线或关闭公网访问),防止rootkit回连或扩散。
- 杀死恶意进程:记录PID后执行
kill -9 PID,若杀不掉说明被rootkit保护,需进救援模式或使用chkrootkit自带清除选项。 - 删除相关文件:根据扫描报告定位文件路径(如
/usr/bin/下的可疑文件),用rm -rf 路径删除。注意备份原系统文件再替换。 - 清理启动项:检查
/etc/init.d/、/etc/rc.local、/lib/systemd/system/,移除或注释掉恶意服务。 - 重置密码和密钥:所有用户密码、SSH密钥、API token立刻更新。
常见坑:
- chkrootkit有时对某些系统工具(如
ifconfig)报INFECTED但实为误报,可对比干净系统或重装对应包验证。 - 恶意进程可能通过内核模块隐藏,
netstat看不到,需用lsmod检查可疑模块并用rmmod卸载。 - 清除后如果不修复漏洞(未打补丁、弱口令、暴露管理端口),很快再次被入侵。
验证清除效果与长期预防
清除后再次运行扫描:
sudo chkrootkit
sudo rkhunter --check --sk
确保无告警。
用top和netstat观察几分钟,确认没有异常进程和连接。
查看日志:
sudo tail -n 100 /var/log/messages # 或journalctl
看是否有反复启动失败的服务。
预防措施:
- 关闭不用的端口,只开22、80、443等;
- 使用密钥登录SSH,禁用密码;
- 安装Fail2ban防暴力破解;
- 定期用
rkhunter --check自动化扫描; - 选择合规的云服务商和IDC(如泽御云),其基础架构自带DDoS防护和镜像安全,降低被植入rootkit的概率。
常见问题
问:chkrootkit报“可能被感染”,但不确定是不是误报怎么办?
答:先用md5sum对比系统原版文件的哈希值(从包管理器查询),或重装对应软件包。例如yum reinstall -y coreutils后重新扫描。
问:rootkit藏在内核里,杀不掉怎么办?
答:多数情况下需要重启进入单用户模式或使用LiveCD启动,挂载原根分区后手动删除内核模块文件(/lib/modules/...),再重新安装内核。如果没有备份,直接重装系统更彻底。
问:清除后隔几天又出现,怎么排查根源?
答:说明还留有后门入口。检查/etc/cron*、/var/spool/cron/下有无反弹脚本,检查authorized_keys是否被篡改,查看/etc/ld.so.preload是否被劫持。另外建议换掉所有运维工具(ssh客户端、面板等)。
问:云服务器厂商能帮忙检测rootkit吗?
答:部分厂商提供安全体检功能,但深度检测仍需自己操作。如果你是泽御云的用户,可以提交工单请求技术协助远程排查,但关键清除动作建议在指导下自行完成,避免泄露数据。