导语

经常有用户报障系统被植入恶意程序,如挖矿软件、ddos攻击病毒、syn映射攻击病毒等,可以按照以下流程为用户排查入侵病毒类型:

一、定位病毒进程

对于用户反馈云主机性能卡顿,CPU和内存占用较高的情况:

执行TOP命令,查看占用CPU较高的异常进程,一般多为80%以上,有个别病毒占用CPU可能不高,但是从command名称明显不是系统进程或用户进程,如TSM,Lixsyn,ynlyvtpxia等。

如图所示:

注意运行异常进程的用户,大部分为root,也有可能为其他应用用户,一般为可以登录系统的用户,病毒破解用户登录密码后使用该用户登录系统,根据入侵的用户的权限等将病毒程序上传到不同目录,此类病毒一般具有防止被删除和进程自动启动的功能。

即无法从目录中删除,删除后还会自动恢复。使用Kill -9命令清理进程后片刻会再次自动启动该进程。

上图红框中的即为病毒程序,虽然占用CPU和出网带宽不高,但是仍然具有防止删除和自动启动的特征。

找到进程后记录PID进程号,后续定位病毒程序未知会用到。

对于用户反馈连接云主机卡顿,但CPU和内存占用不高的情况,可能是云主机出网带宽跑满导致。此时ping云主机公网IP会出现大量丢包。

通过VNC连接云主机,使用iftop命令可以定位到占用带宽较高的进程(iftop命令使用教程可参考文档《Linux流量监控工具 - iftop (最全面的iftop教程)》:
https://developer.jdcloud.com/article/1729),一般多为同一端口有大量外部公网IP的数据进出,此种现象也多为病毒或恶意攻击导致。

使用iftop -P定位占用流量较高的端口,再使用lsof -i:端口号命令查看占用端口的进程号并记录。

二、定位病毒程序位置

按照第一步定位的病毒进程号定位运行的病毒程序路径,命令如下:

ll /proc/进程号

linux系统对于每个运行的进程会在/proc目录下建立以进程号命名的临时目录,该目录记录了进程的相关信息,其中exe项目即为进程对应的程序路径,如图所示:

病毒文件被上传到了/usr/bin目录下,显然病毒获取了root权限。有时也会放置在/tmp目录下,因病毒获得的不同用户权限而异。进入文件所在路径,大多数病毒文件删除后还会再次出现,无法彻底清除。

这也是我们一般建议用户中毒后重置系统的原因。将病毒文件或者病毒文件所在的由病毒创建的目录生成tar包,然后使用lrzsz工具下载至本地。

单个文件之所以打tar包是避免下载至本地后防止被杀毒软件删除,之后上传至病毒分析网站后如果不是tar包格式有时也会无法分析出结果。

病毒分析网站有很多,常用的有:
https://x.threatbook.cn/
http://www.virustotal.com
http://r.virscan.org

以https://x.threatbook.cn/为例,打开网页后,点击下图红框的上传文件,选择病毒tar包上传。

等待文件上传完成后,点击下面红框中的扫描文件,进入分析页面,网站会使用不同的安全软件分析病毒并给出分析结果。

有些能检测出是病毒,有些检测不是病毒,有一款以上的文件报毒即可确认是病毒。

如图所示,扫描出病毒是DDoS攻击病毒 。

确认病毒类型后,可以尝试参考文档《Linux系统对DDoS木马病毒排查及清除》(附产品)进行清除。

如果无法彻底清除,建议备份好系统中的个人数据后使用私有镜像或官方镜像重置系统。

通常绝大多数安全入侵都是通过完全开放的端口策略以及应用漏洞实现,因此使用默认安全组开放所有端口的安全风险极高。

特别提示:

针对linux云主机,建议您绑定linux开放22端口安全组,移除默认安全组,单独开放需要的端口,操作方法请参考下列文档:

安全组概述(https://docs.jdcloud.com/cn/virtual-machines/security-group-overview)

安全组绑定云主机(https://docs.jdcloud.com/cn/virtual-machines/associate-security-group)

安全组解绑云主机(https://docs.jdcloud.com/cn/virtual-machines/disassociate-security-group)

配置安全组入站规则(https://docs.jdcloud.com/cn/virtual-machines/configurate-inbound-rules)

配置安全组出站规则(https://docs.jdcloud.com/cn/virtual-machines/configurate-outbound-rules)

修改ssh协议端口(https://docs.jdcloud.com/cn/virtual-machines/ssh-service-change-port)

使用复杂密码并定期更换

同时定期对您的云主机制作私有镜像(https://docs.jdcloud.com/cn/virtual-machines/create-private-image)和云硬盘快照(https://docs.jdcloud.com/cn/cloud-disk-service/create-clouddisk-snapshot),备份您的系统配置和数据,以便在出现意外时可以使用私有镜像重置您的系统。

Linux云主机安全入侵排查步骤的更多相关文章

  1. linux云主机怎么安装WDCP

    linux云主机 教你成功安装WDCP的2个方法(第一个不成功就试第2个) 工具/原料   Xshell 云服务器 方法/步骤   1 先用Xshell连接你的服务器 2 输入一下代码    wget ...

  2. Linux云主机安装JDK,配置hadoop的详细方式

    云主机我使用的是青云的,还有好多其他品牌,比如阿里云 unitedstack 等等. 注册完青云后,会有试用券发到账户,可以利用此券试用其服务. 1 首先创建好一个主机,按照提示选择好系统,创建好一个 ...

  3. OpenStack平台上,linux云主机可以使用xshell连接,但是无法xftp连接

    笔者在OpenStack云平台上创建了CentOS6.6的云主机,用了一段时间后,发现xshell可以连接,但是xftp却连接不上. 于是进行伟大的百度操作,检查网络设置.ssh服务设置等,均正常,否 ...

  4. 挂载Linux云主机硬盘到本地计算机

      现在移动硬盘已经是每个人的生活必需品了,当然网络也是我们生活的必需品,我们现在就是要用网络存储代替硬盘存储,当然再实际使用过程中需要考虑到以下两个问题: 网络延迟 云主机磁盘IO   以上两个关键 ...

  5. Linux云主机 监控方案浅析

    1.为何需要监控 监控是运维工程师的眼睛,它可帮助运维工程师第一时间发现系统的问题. 对于服务器的整个生命周期,都要和监控打交道: 当有服务器上架,都需要加入比如CPU负载.内存.网络.磁盘等基础监控 ...

  6. 制作linux云主机镜像

    目录 制作linux云主机镜像 1.物理机环境准备 2.安装kvm虚拟机 3.操作虚拟机 4.在物理机上处理镜像 5.拷贝制作好的raw格式的镜像 6.发布镜像到云平台 制作linux云主机镜像 1. ...

  7. Linux应急响应入门——入侵排查

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 账号安全: 1.用户信息文件 /etc/passwd # ...

  8. 使用阿里云主机离线部署CDH步骤详解

    一.Linux文件系统准备 1. 拍摄快照 登录阿里云控制台,拍摄快照,注意有几个关键点尽量拍摄快照,系统初始状态.CM环境准备完成.CM安装完成.CDH安装完成. 2. 挂载设备 三个主机都执行. ...

  9. 本地为Windows,使用Xshell登录Linux云主机

    以某东的云主机为实例 1. 下载并安装远程登录软件 下载Xshell软件 下载后双击xshell5_5.0.1332.exe进行安装 2. 安装完成,打开Xshell,并点击新建,根据要求输入相应参数 ...

随机推荐

  1. 简述基于CPU的机器码运行过程

    引言:会写日志的人不一定是优秀的人,但优秀的人往往是会写日志的 这里涉及五个部分,胡歌,林拜,贾以枚,罗伊人,冯眷眷-林拜老婆 依次对应CPU里的控制器, CPU里的寄存器,存储器,输入电路,输出电路 ...

  2. zabbix主动式和被动式

    推荐: zabbix我们使用主动式,主动式的话,可以把压力都分散到agent上,压力小. 1: zabbix主动式和被动式是相对于agent来说的. zabbix server去获取zabbix ag ...

  3. sql-关键词的大小写与注释

    是否区分大小写 和 注释 大小写 oracle 自带的sqlplus: mysql 客户端 : Navicat: 注释 oracle 自带的sqlplus: mysql 客户端 : 小节 oracle ...

  4. vue在Docker上运行

    Dockerfile # 设置基础镜像 FROM nginx:latest # 定义作者 MAINTAINER test # 将dist文件中的内容复制到 /etc/nginx/html/ 这个目录下 ...

  5. Tomcat深入浅出——Servlet(三)

    零.HttpServletRequest 上一篇已经介绍了这个接口,现在补充些内容 首先介绍一下作用域: jakarta.servlet.jsp.PageContext pageContext 页面作 ...

  6. SpringWeb 拦截器

    前言 spring拦截器能帮我们实现验证是否登陆.验签校验请求是否合法.预先设置数据等功能,那么该如何设置拦截器以及它的原理如何呢,下面将进行简单的介绍 1.设置 HandlerInterceptor ...

  7. Ajax辨析

    Ajax辨析 最近在多个知识点涉及到了ajax请求,各个知识有所交错,知识体系上学的有些混乱,这里梳理一下 单纯的发送Ajax请求 方式1: ajax传统4步骤 ajax的post请求 var xhr ...

  8. Dos系统操作小技巧汇总(不定时更新)

    1.笔者发现有时候自己的程序取名如果太长的话,每次使用gcc编译的时候自己手打的话会非常痛苦,在dos下有一个非常方便的方法,那就是打出相关程序的前几个字母,然后就可以通过tab键来切换相关程序名,非 ...

  9. fill-available,min-content,max-content,fit-content的作用机制

    fill-available:宽度由外部元素决定(div)min-content:宽度由内部元素宽度缩小到最小的最大内部元素宽度决定max-content:宽度由内部元素宽度扩大到最大后的最大内部元素 ...

  10. 搞懂前端二进制系列(二):🍈File、FileReader与Base64

    参考资料: JavaScript高级程序设计第四版:File API https://juejin.cn/post/7046313942938812424[前端二进制一次搞清楚] 一.File 类型 ...