转至:https://blog.csdn.net/xinxin_2011/article/details/84936581

服务器使用的是Centos7.2 64位系统。发现服务器异常,一般先想到用top命令查看占用CPU高的进程,但如果是高手入侵,可能会替换掉你系统的一些重要命令。所以建议装系统后,把诸如/usr/bin目录的top、ps、kill等重要命令先备份好。一旦发现被入侵,先检查这些命令是否被篡改,如果你使用凶手的kill,当然怎么也杀不死对方了。
这里发现没异常,直接使用top命令:

这里是一个名为sustse进程,先别急着kill掉,把PID号(9594)记下来。用ps命令查看进程详细信息:

赶紧去/var/tmp/目录下看一下,有哪些文件:

果然有可疑的sustse文件,而且sustse3、kworkerds和kworkerds3与该文件大小一致,应该是副本,都删除掉,并杀死sustse进程:

kill -9 9594

光结束这个进程还不够,一般都会有定时任务能够重启的,这里使用crontab命令查看下:

果然有,使用crontab –e命令将其删除(操作与vi类似修改文件):

这样恶意代码暂时就无法启动了,再检查一下启动文件是否有日期异常的,防止系统重启后恶意程序又被启动。需要检查/etc/rc.d目录下的init.d和rcx.d(x从0-6)所有文件。
然后缉拿真凶,使用who命令查看一下用户信息:

没有异常,检查一下系统最近系统登录信息,看看是否被入侵,使用lastlog命令:

除了自己root登录过,其他没有异常。再使用last命令列出当前和曾经登入系统的用户信息:

这里除了自己登录外,还有个218.68.199.250的IP登录过,在18:15分还重启过系统,问题就是他了,入侵者可能创建一个新的存放用户名及密码文件,可以查看/etc/passwd及/etc/shadow文件:

passwd-是passwd文件最后一次备份,对比两个文件,可以鉴别是否被修改掉。Shadow文件与此类似。
通过查看/var/log/secure日志文件,尝试发现入侵者的信息,这里查看密码验证通过的信息:

为防止再次入侵,不仅要修改root密码,最好修改ssh登录端口,使用命令“vi /etc/ssh/sshd_config”将默认的22端口改为别的,比如2233。别忘在防火墙里开放这个端口,要不登录不了了,终端执行:

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 2233 -j ACCEPT
iptables-save

为保险起见,查看一下已开放的端口:

iptables -nL --line-number

然后重启ssh服务,执行命令:

systemctl restart sshd.service

这时原来连接会断开的,然后把端口改为2233再重新登录即可。另外如果确认某个IP是恶意的访问(比如上文的218.68.199.250),可以在防火墙中将其禁掉:

iptables -I INPUT -s 218.68.199.250 -j DROP

设置完后别忘了重启防火墙才能生效。

Linux系统发现占用CPU达100%的进程并处理的更多相关文章

  1. Linux系统内存占用90%以上 ?

    问题: [root@dbserver01 zx_epp_db]# free -m total used free shared buffers cached Mem: 15953 14706 1246 ...

  2. Linux系统内存占用90%以上——解决方法

    Linux系统内存占用90%以上--解决方法   首先要明确一个问题:Linux系统内存占用90%以上,是否属于正常范围?网上有详细的解释,这属于正常现象~~~    www.2cto.com   L ...

  3. 【SQL Server】SQL Server占用CPU使用率100%的解决方法

    原文:[SQL Server]SQL Server占用CPU使用率100%的解决方法 近日,帮一个客户解决了服务器CPU占用率高达100%的问题. 以前做的一个某污水处理厂自控系统项目,客户反映其自控 ...

  4. 阿里云kubernetes遭入侵pubg进程占用cpu资源100%解决方法

    发现服务器CPU占用100%,通过top命令发现pubg -c config.json -t 2占用CPU资源,kill进程会自动启动.黑客入侵方式是kubernetes创建pod. Name: ku ...

  5. 【转】Linux 下取进程占用 cpu/内存 最高的前10个进程

    # Linux 下 取进程占用 cpu 最高的前10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head # linux 下 取进程占用内存 ...

  6. linux下获取占用CPU资源最多的10个进程

    linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用 ...

  7. 操作系统复习——如何查看一个进程的详细信息,如何追踪一个进程的执行过程 ,如何在 Linux 系统下查看 CPU、内存、磁盘、IO、网卡情况?epoll和select区别?

    1. 如何查看一个进程的详细信息,如何追踪一个进程的执行过程 通过pstree命令(根据pid)进行查询进程内部当前运行了多少线程:# pstree -p 19135(进程号) 使用top命令查看(可 ...

  8. linux 下取进程占用 cpu/内存 最高的前10个进程

    linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ;|head linux下获取占用内存资源最多的10个进程,可以使用如下命令组合: ;|head 命令组合解析(针对CPU的,M ...

  9. Linux下查看占用CPU资源最多的几个进程

    linux下获取占用CPU资源最多的10个进程: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用内存资源最多的10个进 ...

随机推荐

  1. Maven生命周期,插件,单元测试junit

    maven生命周期,maven命令,maven插件 maven生命周期:就是maven构建项目的过程,清理,编译,测试,报告,打包,安装,部署 maven命令:maven独立使用,通过命令,完成mav ...

  2. cnpm安装教程

    安装cnpm,输入以下命令: sudo npm install -g cnpm --registry=https://registry.npm.taobao.org 输入cnpm -v ,检测是否正常 ...

  3. python02day

    回顾 1.编译型和解释型 编译型:一次性编译成二进制,再执行 执行效率高,但不能跨平台,开发效率低 代表语言:C 解释型:逐行解释成二进制,再执行 可以跨平台,开发效率高,但执行效率低 代表语言:py ...

  4. ApacheCN 数据科学译文集 20210313 更新

    新增了五个教程: Python 和 Jupyter 机器学习入门 零.前言 一.Jupyter 基础知识 二.数据清理和高级机器学习 三.Web 爬取和交互式可视化 Python 数据科学和机器学习实 ...

  5. 在终端或idea编译工具中的terminal中运行mvn install 失败

    原因是因为操作系统的差异导致,把所有参数加上引号即可. 如下所示: mvn install:install-file "-Dfile=cobra.jar" "-Dgrou ...

  6. JS RegExp对象(正则表达式)

    笔记整理自:廖雪峰老师的JS教程 正则表达式语法:https://www.runoob.com/regexp/regexp-tutorial.html 目录 创建方式 方式一 方式二 简单使用 判断正 ...

  7. 【JS】函数提升变量提升以及函数声明和函数表达式的区别

    今天看js的变量提升问题,里面提到了函数提升.然后发现自己之前一直把函数声明和函数表达式弄错,导致函数提升出错 一.变量提升 console.log(a) var a=100 //undefined ...

  8. simpholders 官方网址 https://www.simpholders.com/

    SimPholders可让你快速直接地访问iPhone模拟器应用的app文档.你可以通过SimPholders找到数据库文件.永久存储以及缓存,它是一个非常实用的app debug工具,同时还可以离线 ...

  9. pageX的兼容性处理1

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. JS实现继承,封装一个extends方法

    父类 function Person(name,age){ this.name = name; this.age = age; } Person.prototype = { eat:function( ...