服务器病毒

 人参与 | 时间:2026-10-17 06:54:32

凌晨三点,服务运维老张被手机报警吵醒。器病机房那台跑了六年的服务戴尔R730,CPU占用率飙到400%。器病他揉着眼连上SSH,服务敲下top命令,器病一个叫`kswapd0`的服务进程正疯狂吃资源。老张心里咯噔一下——这玩意儿正常不该跑成这样。器病

这不是服务普通故障。服务器中了挖矿病毒,器病XMRig的服务变种,专门挑Linux服务器下手。器病攻击入口是服务Redis未授权访问,6379端口裸奔在公网上,器病连密码都没设。服务黑客写了个crontab定时任务,每十分钟从境外IP拉一次脚本,顺带把SSH公钥塞进`authorized_keys`,后门焊得死死的。

病毒怎么进来的

多数服务器病毒不靠什么高深漏洞。弱口令、未授权接口、过期组件——这三样占了大头。我见过最离谱的一台机器,MySQL root密码是`123456`,3306端口直接映射到公网。病毒进去之后先`chattr +i`锁死关键文件,再替换`ps`、`top`、`netstat`这些命令,让你查进程时看到的是“正常”数据。老张那台R730中的就是这招,`ls`列出来的文件列表被动了手脚,恶意文件直接隐身。

挖矿只是表象。有些病毒纯粹搞破坏,`rm -rf /`一把梭;有些当跳板,横向扫描内网其他机器;还有的蹲着不动,定期回传数据。去年某电商公司数据库被拖,源头就是一台测试服务器中了SSH爆破病毒,攻击者拿了密钥之后在内网逛了三个月。

怎么发现和清理

别信杀毒软件。服务器上的病毒基本靠手动抓。先看异常进程——CPU或内存持续跑满,进程名伪装成`[kworker/0:1]`这种内核线程格式,但PID对不上。再查网络连接,`netstat -antp`里冒出个连向陌生IP的ESTABLISHED,端口还是3333、5555、7777这类矿池常用端口。定时任务也得翻,`/var/spool/cron/`下面藏着的脚本比`crontab -l`显示的多。

清理时先把机器从网络隔离,别直接重启——有些病毒会写进initramfs,重启后照样复活。挂载一个干净的Live USB,从外部扫描文件系统。重点查`/tmp`、`/dev/shm`、`/var/tmp`这些可写目录,病毒爱往那儿钻。找到恶意文件后别急着删,先`stat`看时间戳,能推断出入侵时间点,再顺着日志往前翻,找入口。

防比治重要

公网暴露的端口越少越好。Redis、MongoDB、Elasticsearch这些默认无认证的服务,要么绑127.0.0.1,要么加防火墙规则。SSH别用密码登录,密钥对+`fail2ban`能挡掉九成爆破。系统补丁别拖,`yum update`或`apt upgrade`定期跑。再装个`auditd`监控关键文件变动,`/etc/passwd`、`/root/.ssh/`这些地方一有风吹草动就报警。

老张那台机器最后重装了。数据没丢,但清理花了一整天。他后来把6379端口关了,Redis加了密码,还在机房门口贴了张纸条:“公网IP不是护身符。”

服务器病毒这事,说白了就是攻防双方拼谁更懒。你少关一个端口,少改一个默认密码,对方就多一条路。没有绝对安全,只有相对麻烦——让黑客觉得搞你这台机器不划算,你就赢了。

顶: 2踩: 3234