1. 挖矿病毒入侵的典型症状

最近帮朋友处理了一台阿里云服务器,刚登录就发现风扇狂转,CPU长期100%占用,但业务量根本没这么大。这种异常情况大概率是中招了——恶意挖矿程序正在后台偷用你的计算资源赚取虚拟货币。这种病毒就像服务器里的"寄生虫",不仅拖慢业务运行速度,长期高温还会缩短硬件寿命。

挖矿病毒最常见的表现有:

  • CPU/GPU异常高负载:通过top命令查看会发现不明进程长期占用90%以上资源
  • 系统响应变慢:普通命令执行都要等好几秒
  • 隐藏进程:有些高级病毒会篡改系统命令,用top可能看不到真实进程
  • 异常网络连接:通过netstat -antp会发现服务器向陌生IP发送数据
  • 定时任务异常crontab -l显示有来历不明的定时脚本

我遇到过最狡猾的变种会检测管理员登录,当SSH连接时自动降低CPU占用率,等管理员退出后又恢复挖矿。对付这种病毒需要多维度检测手段。

2. 深度检测挖矿病毒

2.1 基础检测三板斧

先用这三个命令快速定位问题:

# 查看CPU占用排行(按P键排序)
top -c

# 检查异常网络连接(关注ESTABLISHED状态)
netstat -antp | grep ESTA

# 查看最近执行的命令(黑客常会清空历史记录)
cat ~/.bash_history | grep -E "wget|curl|chmod"

如果top显示正常但CPU依然满载,很可能遇到了内核级rootkit。这时候需要:

# 检查动态链接库劫持
ls -la /etc/ld.so.preload

# 使用静态编译的工具检查
busybox top

2.2 阿里云控制台辅助检测

阿里云自带的监控系统其实很有用:

  1. 进入云监控控制台
  2. 查看CPU使用率图表,注意是否有周期性波动
  3. 检查网络出带宽,挖矿程序会有持续的数据上传
  4. 打开安全中心,查看异常登录告警

去年处理过一个案例,黑客通过Redis未授权访问入侵,在/var/spool/cron/下创建了定时任务。这种入侵方式在阿里云安全中心的异常进程检测中会有提示。

3. 彻底清除挖矿病毒

3.1 杀进程的正确姿势

普通kill可能无效,建议这样操作:

# 先找到进程PID
ps -ef | grep '[x]mrig' | awk '{print $2}'

# 锁定进程文件位置
ls -l /proc/[PID]/exe

# 彻底杀死进程树
pkill -9 -P [PID]

如果进程反复复活,一定要检查这些位置:

# 检查定时任务
ls -la /etc/cron* /var/spool/cron/

# 检查系统服务
systemctl list-units | grep -i 'miner'

# 检查开机启动项
ls -la /etc/rc.local /etc/rc.d/

3.2 文件清理实战技巧

找到病毒文件后不要直接rm,先备份证据:

# 创建隔离目录
mkdir /quarantine

# 保留病毒样本
cp /path/to/virus /quarantine/

# 计算哈希值(后续可以提交给安全公司)
md5sum /quarantine/virus

清理时特别注意这些隐藏位置:

  • /tmp/目录下的随机名称文件夹
  • /dev/shm/内存文件系统
  • /usr/lib/.lib/等带点的隐藏目录
  • /etc/ld.so.preload等配置文件

4. 加固服务器防御体系

4.1 阿里云安全组最佳配置

建议这样设置安全组规则:

类型端口范围授权对象备注
SSH22办公IP/32改默认端口更安全
HTTP800.0.0.0/0业务需要再开放
HTTPS4430.0.0.0/0建议配置WAF
自定义TCP6379拒绝Redis默认端口必须关闭

4.2 系统级防护方案

  1. 安装云锁等主机安全软件
wget http://download.yunsuo.com.cn/install.sh
chmod +x install.sh
./install.sh
  1. 内核参数加固
# 禁止core dump
echo "* hard core 0" >> /etc/security/limits.conf

# 限制历史命令记录
echo 'export HISTSIZE=5000' >> /etc/profile
  1. 关键目录监控
# 监控/etc目录变更
auditctl -w /etc/ -p wa -k etc_changes

5. 长期安全运维建议

建立日常检查清单:

  1. 每周检查/var/log/secure中的异常登录
  2. 每天通过df -h查看磁盘空间变化
  3. 每月更新SSH密钥对
  4. 关键业务使用专有网络VPC隔离
  5. 开启阿里云安骑士的恶意文件检测功能

有次发现某台服务器每天凌晨3点CPU飙升,最后查出是运维自己写的Python脚本存在漏洞被植入了挖矿代码。建议对内部人员也要做好权限管控,遵循最小权限原则。

更多推荐