linux服务器中病毒后的清除处理
linux服务器中病毒后的清除处理
之前看到公司同事在部署服务器的时候,发现中了挖矿病毒,很是恼火。因为我平时很少接触服务器,一般都是部署项目,配置域名就完事。所以遇到这种情况,只能在一旁看着干着急。后来在网上查阅了很多资料,现决定来整理一下,下次如果遇到服务器中病毒的情况,可以拿来参考一下。
一、服务器为什么会中病毒?
1)服务器中病毒,其实是因为黑客的入侵。入侵者的每一次入侵几乎都是从扫描开始的,扫描软件首先会判断远程计算机是否存在,接着对存在的远程计算机进行扫描,探测其开放的端口。入侵者通过扫描的结果可以确定目标主机打开的端口、服务、以及存在的各种漏洞等信息,然后实施攻击。
2)最普遍的情况应该就是服务器被挂载木马病毒用以挖矿(比特币/门罗币…)。因为控制别人的电脑挖矿,成本为零。比如通过redis 6379端口,如果账号密码太简单或者没有设置密码,攻击者可能通过提权,获取到root的权限。然后在服务器中植入一系列的挖矿病毒。
二、症状表现
服务器CPU资源使用一直处于100%的状态或者更高,连接服务器的时候明显感觉到消耗的时间比以往要久。Kill该进程以后还会更换端口,很快就又被创建出来了。
三、排查方法
1、通过top命令查看,发现可疑进程比如XX
2、查看进程:使用 ps -ef | grep XX 命令查看pid
1)使用命令ls -l proc/{进程号}/exe获取文件的绝对路径。下载下来,上传到VirusTotal,如果界面有相关的病毒显示信息。那就是病毒实锤了。如果没有,只能说明还没有其他用户提交该种类型病毒。
find $path -ctime -30 print #找到最近一段时间被修改的文件列表
2)直接 kill -9 pid(进程号)并删除 /tmp/XX执行文件。如果,没有过多久,进程又运行了,这时就应该想到,XX 有守护程序或者有计划任务。通过 crontab -l 查看是否有可疑的计划任务。
3)使用 systemctl status pid(进程号) 发现 XX的守护进程。kill 掉 XX 守护进程 kill -9 pid1 pid2…,再 killall -9 XX挖矿病毒 。
4)进入/tmp目录(一般挖矿病毒的执行目录都在这里)。执行程序 rm -f /tmp/XX,如果删除的过程中,发现提示Operation not permitted(没有权限,无法删除),应该是入侵者使用了chattr命令将文件锁定了。这个时候我们使用命令: chattr -i 文件名 即可正常删除。
补充一下:lsattr可用来查看文件的属性:lsattr filename。如果文件属性中有i与a,或者有其中的一个可以使用chattr去掉这属性:chattr -ia filename 或者chatter -i filename
5)在/etc/目录下,将/etc/update.sh 也一并删除
6)检查是否还有免密登录的后门文件,将/root/.ssh/authorized_keys 也一并删除
7)检查定时任务:crontab -l
将可疑任务清除或者停止:crontab -r 或者service crontab stop
cat /var/spool/cron/root 检查清除
8)SSH秘钥删除
攻击者可能在/root/.ssh/里面留他们的秘钥,所以我们要清理掉,重新生成秘钥。
9)查看账号文件是否被修改
查看/root/.ssh/authotrized_keys,黑客就是通过ssh授权登录的,因此需要清除未知的账号信息,不过一般文件会被加上ia权限。上文已经讲过chattr命令的使用。
查看:lsattr /root/.ssh/authotrized_keys
解锁:chattr -ia /root/.ssh/authotrized_keys
编辑文件可修改:chmod 600 /root/.ssh/authotrized_keys
10)有的情况,还需要要删除链接文件,或者病毒启动文件。这个到时候再具体问题具体分析吧。检查/etc/init.d目录下的文件
四、检查
将服务器重启,检查是否还有异常
1)top查看以及使用 ps -ef | grep XX 命令查看
2)通过find / -name “XX” 命令搜索是否还有 XX文件
3)查看 Linux ssh 登陆审计日志。Centos 与 RedHat 审计日志路径为 /var/log/secure,Ubuntu 与 Debian 审计日志路径为 /var/log/auth.log。
4)检查 crontab 计划任务是否有可疑任务
五、后期防护
1、启用ssh公钥登陆,禁用密码登陆。
2、云主机:完善安全策略,入口流量,一般只开放 80、443 端口就行,出口流量默认可以不限制,如果有需要根据需求来限制。物理机:可以通过硬件防火墙或者机器上iptables 来开放出入口流量规则
3、本机不是直接需要对外提供服务,可以拒绝外网卡入口所有流量,通过 jumper 机器内网登陆业务机器。
4、有能力的话可以搭建安全扫描服务,定期检查机器上漏洞并修复。
5、安装Linux杀毒软件clamav:yum install clamav
1)在线升级病毒库:执行命令 freshclam或者 freshclam --verbose
2)扫描所有用户的主目录就使用命令 clamscan -r /home
3)扫描计算机上的所有文件并且显示所有的文件的扫描结果,就使用 clamscan -r /
grep Infected /tmp/all.log #查看被感染文件数量
grep -i found /tmp/all.log #查看被感染的文件
4)扫描计算机上的所有文件并且显示有问题的文件的扫描结果,就使用clamscan -r --bell -i /
/usr/local/clamav/bin/clamscan -r --remove(查杀当前目录并删除感染的文件)
/usr/local/clamav/bin/clamscan -r --bell -i / (扫描所有文件并且显示有问题的文件的扫描结果)
其他参数
-r/–recursive[=yes/no] 所有文件
–log=FILE/-l FILE 增加扫描报告
# clamscan -l /var/log/clamscan.log /
–move [路径] 移动病毒文件至…
–remove [路径] 删除病毒文件
–quiet 只输出错误消息
–infected/-i 只输出感染文件
–suppress-ok-results/-o 跳过扫描OK的文件
–bell 扫描到病毒文件发出警报声音
–unzip(unrar) 解压压缩文件扫描
–扫描根目录下文件,并指定日志文件:/var/log/clamscan.log
clamscan -r -l /var/log/clamscan.log / &
6、redis最好关掉外网访问权限,或者是修改默认端口。
参考链接:
https://msd.misuland.com/pd/3691885202524605942?page=1
https://www.cnblogs.com/ushowtime/p/11628002.html
https://blog.csdn.net/heian_99/article/details/105247415
linux服务器中病毒后的清除处理相关推荐
- Redis导致Linux服务器中病毒、成肉鸡了。
前段时间,我们Linux服务器中病毒了,变成别人的肉鸡,不停的在攻击其他服务器. 根据我的调查发现,这台服务器不停的在攻击同网段的其他服务器. 根据判断,得出应该有个进程或者JOB在执行,后来发现是l ...
- linux服务器 木马 处理,linux 服务器中木马及木马清除
Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 一.背景 晚上看到有台办事器流量跑的很高,明显和平常不一样,流量达到了800Mbps,第一感到应当是 ...
- linux服务器清除cdn,Linux服务器中查找并删除大文件的五种方法,Linux系统清除文件内容的命令分享...
很多时候,在处理Linux终端中的文件时,您可能希望清除文件的内容,而无需使用任何Linux命令行编辑器打开它.怎么能实现这一目标?在本文中,我们将借助一些有用的命令,通过几种不同的方式清空文件内容. ...
- centos服务器中木马后的处理和预防
背景 自己用的一台服务器中了挖矿木马,根据清木马的经历,特意写了这篇文章,这不能算是一个权威教程,因为自己对木马的机制并没有彻底的了解,只当是一个记录和讨论的方式. 中木马的迹象 如果你的服务器出现以 ...
- 服务器系统病毒的来源,服务器中病毒的症状是什么?
我们都知道现在我们身边有很多的病毒,经常会见到手机和电脑中病毒,你知道电脑中病毒后是什么症状吗?最近很多微信用户问我服务器中病毒的症状是什么?下面小编带你了解一下中病毒的症状是什么? 服务器中病毒的症 ...
- dbused把我的CPU占满了!linux服务器挖矿病毒的解决历程
dbused把我的CPU占满了!linux服务器挖矿病毒的解决历程 现象描述 今天通过密钥以普通用户tung的身份登录远程Cent OS服务器时,连接出现非常严重的卡顿,进入后发现CPU被名为dbus ...
- 如何访问Linux服务器中RabbitMQ管理页面
大家好,本篇文章主要讲的是解决访问不到Linux服务器中RabbitMQ管理页面问题,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览 由于自己项目的某项功能需要服务器中发送消息到 ...
- Linux 服务器更换主板后,网卡识别失败的处理方法
上周日,由于断电,公司所在的集群服务器在关机断电重启后,发现唯一的一个登陆节点主板出现了故障,以致于 log 登陆节点的 Red Hat Enterprise 6 系统无法启动. 由于集群是生信所有分 ...
- drupal linux安装,在Debian 10(Buster) Linux服务器中安装drupal 8.8.0的说明
按照本说明,你就可以成功的在Debian 10(Buster) Linux服务器中安装好drupal 8.8.0版本,已亲测能稳定运行. 先决条件 在开始安装之前,对安装的最低要求是: 数据库服务器, ...
最新文章
- 「特征工程」之零基础入门数据挖掘
- ADS下C语言中局部变量的存储位置分配
- 003_Controller和RequestMapping注解
- MessagePack:一种高效二进制序列化格式
- 【快乐水题】506. 相对名次
- 华为harmonyos公测,华为鸿蒙 Harmony OS 2.0 第二轮公测已开启,赶紧申请报名
- N人过桥问题的求解(微软试题)
- Kafka,它为什么速度会这么快?
- 小米10T系列新机曝光:后置64MP三摄 辨识度超高
- Kubernetes支持有状态服务的部署
- AVOD阅读笔记(一):摘要+特征提取----Aggregate View Obeject Detection network
- android webview 下载文件
- 王道中数据结构的排序算法
- mysql explain 性能分析_MySQL性能分析(Explain)
- 【转】PIC单片机的 程序存储器,数据存储器,EEPROM区别
- 定义矩形类(长length,宽widen)求面积(area)(简单例子)
- 导入excel 文件解析,一行数据,有一列分两行显示,解析时如何 合为一行?
- 自学编程系列——2 文件路径与文本读写
- 浏览器输入url后经历的过程(详细)
- linux命令 sh -s,shell脚本中 if 判断时候-s是什么意思?
热门文章
- 微服务治理之分布式链路追踪--3.zipkin实战
- 【Java选择语句(if,else,switch)】
- SqlConnection,SqlDataAdapter,SqlCommand,SqlParameter
- kali mysql停止服务器_MySQL主从复制配置详解
- mht文件打开后显示不正常或乱码问题的排除
- 【python】把某一列从文本转换成数值
- git---全局设置用户名、密码、邮箱
- android调用 qt so文件路径,Android Java调用Qt写的so库
- 多传感器融合定位(GPS+Wheel+camera)(1)-读取传感器数据
- oracle荣誉acd_Oracle函数