服务器被⼊侵(疑似挖矿病毒)处理
服务器被⼊侵(疑似挖矿病毒)处理
⼀、环境介绍:
系统:ubuntu 18.04
内存:128G
硬盘:500G(操作系统盘)+15T(数据盘)
a、查看物理CPU个数
root@ubuntu:~# cat /proc/cpuinfo| grep"physical id"| sort| uniq| wc -l
2
b、查看每个物理CPU中core的个数(即核数)
root@ubuntu:~# cat /proc/cpuinfo| grep"cpu cores"| uniq
cpu cores :16
c、查看逻辑CPU总的个数(利⽤超线程技术实现。2个物理CPU;2x16=32核;每核2线程:32x2=64线程)
root@ubuntu:~# cat /proc/cpuinfo| grep"processor"| wc -l
64
d、查看总线程数,可以理解为总逻辑cpu的数量
root@ubuntu:~# grep 'processor' /proc/cpuinfo| sort -u | wc -l
64
64
e、查看 CPU型号
内核:Linux ubuntu4.15.0-147-generic #151-Ubuntu SMP Fri Jun 18 19:21:19 UTC 2021 x86_64 x86_64x86_64 GNU/Linux
利⽤超线程技术实现的64个逻辑CPU)
64 Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz (
64 Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz (利⽤超线程技术实现的64个逻辑CPU)
⽂章主题之外补充:KVM、VMwre等等虚拟化,应该分配⼏颗CPU 是以总核数来确定的(如上16x2=32核),不是以逻辑(线程数)CPU 的数量来确定。
⼆、服务器状态排查⼀
引⽤:之前看到过⼀篇⽂章介绍说:只要是跑着的线程,那么都是占⽤CPU的线程,如果⼀个进程有多个线程在同时运⾏,那么cpu占之前看到过⼀篇⽂章介绍说:只要是跑着的线程,那么都是占⽤CPU的线程,如果⼀个进程有多个线程在同时运⾏,那么cpu占引⽤:
满是不可能的,每个线程本来就是会被操作系统分配时间⽚的。举个例⼦:如果3个线程同时运⾏,那么只有问题线程所使⽤的30%是
,遇满的,3个线程同时都是问题线程的概率是很⼩的(但不是没有可能),所以cpu总体使⽤率可能是50%以上,但不可能达到100%
满的,3个线程同时都是问题线程的概率是很⼩的(但不是没有可能),所以cpu总体使⽤率可能是50%以上,但不可能达到100%,遇
到问题进程,这个⾸先得看是不是程序占得cpu,这个还是可以top⼀下,查看性能监测器,确定是某个程序的话,可以通过windbg抓dump进⾏分析。然后听到了⼀个感觉会有些烧脑的名词——线程监控,把内部线程和系统线程id结合,可能会在调试状态下查看CPU 使⽤率,然后到哪个函数CPU占⽤过⾼这么个场景会⽤到。备注:在我的环境中达到50% 服务器并不卡,可能在⾼点达到70~80%就会卡了。
在我这个场景下,第⼀张图:⽤户CPU占⽤率达到了50%左右,Load average 负载达到了32左右,CPU总核数也是32
第⼆、三张图就能清晰的看到 CPU Load average 达到了32左右
top 命令后按“1“:
2、⼼⾥想:CPU load average 负载这么⾼,可能是磁盘IO出问题的时候,CPU都等着向磁盘写数据
呢,或者磁盘有坏道,写的慢,CPU任务执⾏不完,就⼀直处于等待的状态,所以导致的负载这么⾼,排查iowait信息,如下显⽰:磁盘IO是正常的。
3、排查定时任务crontab中任务脚本,以及硬盘使⽤情况,内存使⽤情况,也都未发现异常。
4、列出进程id, 线程id和cpu占有率,同时按照cpu占有率排序
root@ubuntu:/etc#psH -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu
以为⽤这个命令可以把隐藏的进程都显⽰出来,是我年轻了
5、排查⽹络,服务器连接的IP以及监听的端⼝是否异常,并使⽤ifconfig查看⽹卡收发的流量情况
6、排查/etc/passwd 是否有可疑⽤户或者登录的权限设置有问题(就不附图⽚了)
7、排查/var/log/message ⽤户登录记录,我这⽤的是vim打开,⾥⾯的记录也都被清空了,此时还没有意识到/var/log下⽂件的重要性,这让我很后悔,原因嘛,等下就晓得了。
思路⼩结:以上排查后,偏偏CPU占⽤率很⾼,其他的很正常,这不符合逻辑呀
附上此时内⼼独⽩:真TM奇了怪了 到底是个啥导致的CPU占⽤率这么⾼???要么就等他⾃⼰爆吧,反正⼜不能重启;⼼⾥⼜想,难得遇到这么个场景,重启此时的服务器环境就没有了,问题始终要解决,⿎着上吧。
三、服务器排查⼆
1、重点:以上的排查这是部分的排查,要想到问题所在,还是要耐住性⼦,虽然知道服务器⾥⾯有那么多的⽂件,遇到的问题就在这么多⽂件的其中,但是解决的途径也是在其中。
2、突然想到:⼀开始的/var/log/message 是直接⽤ vim 打开看的,并没有把/var/log下的所有的⽂件都看过,要不把 /var/log 下的所有⽂件都看⼀遍,哈哈哈,这可能是真是运⽓,在/var/log/syslog⾥⾯尽然有很多的报错是关于SSH服务的,SSH服务⼀直在不断的重启,并且⼀直在调度分配新的job去执⾏重启,怀疑可能是⼀直就是因为这个原因导致的CPU占⽤率这么⾼;并且查看状态⼀直有ip在暴⼒
busybox安装破解密码,同时也统计了⼀下密码被暴⼒破解的次数:有12万多。我们的密码我感觉设置的也很简单,感觉都经受不了这么多次的尝试。(别⼈设置的,我的话最起码⼗位数起步,⼤⼩写,特殊字符)
这个状态是不正常的。
activating(start) 这个状态是不正常的。
3、排查了ssh服务的配置⽂件/etc/ssh/sshd_config ⽂件,⾥⾯没有问题,⼿动重启了⼀遍,仍然是activating(start)这个错误的状态,打算重做SSH服务
4、重装SSH 服务,遇到了新的问题:
问题1、Errors were encountered whileprocessing
问题2、The following packages have unmet dependencies:
openssh-server : Depends: openssh-client (=1:7.2p2-4ubuntu2.8)
Depends: openssh-sftp-serverbut it is not going to be installed
问题3:dpkg:erro processing package openssh-server(--configure) installed openssh-server package post-installation scriptsubprocess returned error exit status 1 errors were encontered while processing
问题4:dpkg: error processing package openssh-server (--configure):
subprocess installed post-installation scriptreturned error exit status 10
Errorswere encountered while processing:
问题5:等等⼀连串的依赖报错之类的问题
以上的问题都是由于对ubuntu 的不熟悉,apt-get remove openssh-server 会出现⼀连串的问题,切记,要想把软件卸载⼲净就不要使⽤这个 apt-get remove xxxxx;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论