服务器无故nginx异常关闭之kauditd0 kswapd0挖矿病毒 CPU占用200% 内存耗尽

现象:

nginx 每隔一段时间就会被关闭掉, 查看nginx日志 没有任何错误信息或异常信息

采取的办法

  • 将nginx服务设置为自动重启 systemctl enable nginx. 问题依旧存在

  • 查看服务器的内存和CPU占用情况

    • 查看内存占用情况

    free -m

发现8G的内存快被占用光了,而我们只开了一个开销不大的java服务,按道理1G就够了。

为什么会占用到将近8G

  • 再查看CPU占用情况 top

    top

发现有个kauditd0进程占用了200% 的CPU

经过各种搜索,发现这是一个挖矿病毒

且通过查询最近登录的IP

复制代码
netstat -natp

发现有各种德国 美国的IP,因此可以确认是中毒了

解决办法

1. 关闭这个病毒开启的定时任务
复制代码
crontab -l 发现开了许多定时任务,而我们的服务器原来并没有开启定时任务,因此全部清除 
crontab -r
2. 删除病毒文件
复制代码
find / -name kswapd00 或者 find / -name kswapd0

网上搜索教程上是kswapd0,而此次我们服务器上是 kswapd00

发现如下文件中有

使用命令删除这些文件

复制代码
rm -rf /root/.configrc7/* 
rm -rf /var/tmp/.X2r-unix/.rsync/*
3. 使用systemctl status 进程号 查看挖矿病毒是如何运行起来的
复制代码
命令 :
systemctl status 411256

返回结果:
● session-189.scope - Session 189 of user root
     Loaded: loaded (/run/systemd/transient/session-189.scope; transient)
  Transient: yes
     Active: active (abandoned) since Tue 2024-11-12 08:03:29 UTC; 23h ago
      Tasks: 13
     Memory: 60.3M
     CGroup: /user.slice/user-0.slice/session-189.scope
             ├─342148 edac0
             ├─342153 edac0
             ├─342257 sshd@notty
             └─411256 kauditd0

Nov 12 08:03:29 ecs-b309-1113543 systemd[1]: Started Session 189 of user root.
Nov 12 08:03:50 ecs-b309-1113543 sshd[336488]: pam_unix(sshd:session): session closed for user root
Nov 12 10:29:14 ecs-b309-1113543 crontab[341494]: (root) LIST (root)
Nov 12 10:29:14 ecs-b309-1113543 crontab[341496]: (root) REPLACE (root)

kauditd0 进程是在一个名为 session-189.scope 的 systemd 服务单元中运行的,该服务单元是为用户 root 的会话 189 创建的。由于该进程似乎被标记为 active (abandoned),这可能意味着原始启动它的进程或会话已经结束,但该进程仍然在运行

4. Kill 杀死 kaudiod0进程

当我用 命令 kill -9 kaudiod0 杀死进程后,没过一会儿,进程又自动开起来了。

应该是开启了自动重启的服务

因此不用kill -9 ,

而是使用 kill -15 进程号(PID) 杀死挖矿进程,自此挖矿病毒没有再重启

复制代码
kill -15 411256
5. 不要忘记修改服务器密码
复制代码
sudo passwd root
相关推荐
无忧.芙桃4 分钟前
线程同步与线程互斥(上)
linux·运维·操作系统·运维开发
xywww1684 小时前
大模型 API 选型实战:GPT、Gemini、Claude 接入时该看哪些指标?
运维·服务器·人工智能·python·gpt·langchain
梦想的颜色7 小时前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
欢呼的太阳9 小时前
数据库设计Step by Step (10)——范式化
服务器·数据库·oracle
夜雪一千9 小时前
Python enumerate() 函数完整详解:遍历同时获取索引,告别手动计数
服务器·windows·python
donoot10 小时前
Linux系统下图书馆级电子书全自动标准化分类整理完整实施方案
大数据·linux·运维·电子书管理
ITKEY_10 小时前
macOS brew 安装的nginx 文件在哪里?
运维·nginx·macos
Felix-lxd11 小时前
Ubuntu 22.04 配置 Nginx
linux·nginx·ubuntu
Elastic 中国社区官方博客11 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
大E帝国子民111 小时前
MacOS 安装Seismic Unix
服务器·macos·unix