linux服务器病毒查询中毒清理
未知
2023-06-07 11:05:57
0
 

Linux挖矿病毒清理流程

1.前言:


        当服务器中毒了,使用SSH/FTPS大多连接不上的。这时候就需要到云平台,使用VNC方式登录。

 

2.确认Linux是否是中毒

1.使用命令查看当前系统所有进程

一般消耗CUP或者内存90%以上的基本都是病毒,常见的挖矿进程:xfsdatad、rshim、YDService.exe、kinsing、kdevtmpfsi、sysupdate、systemxlv、kthreaddi、kthreaddk 等,病毒进程一版都会跟系统进程名称相似,要注意区分

top 或 ps aux | less

 

注:top实时监控退出按键:q或 ctrl+c

2.查看隐藏进程

如果top命令查看没发现异常,但是服务器依然很卡,服务器资源占用居高不下,那就换个命令,查看是否存在隐藏进程

ps -aux --sort=-pcpu|head -10

3. 确定病毒攻击方式

1.使用命令查看系统日志:

cat /var/log/secure

1.1分析日志文件,看看是否是远程强行破解系统密码,如下:如果是远程登录root,清理病毒后要修改root的密码

 

 1.2如果不是远程登录root,很可能是redis远程登录导致:
1.1.2查看redis连接记录:

lsof -i:6379

如果有大量异常链接,立即找到redis安装路径,打开 redis.conf
vim redis.conf

把 bind:127.0.0.1 打开,重启redis

  1. ps -ef | grep redis

     
  2. kill -9 PID
    ./src/redis-server ./redis.conf

1.1.3如果redis也没有问题,那就查看系统其他用户:查看系统用户

vim /etc/shadow 或者 vim /etc/passwd

检查是否有异常的用户名,如果有就删除

userdel -r 用户名

4.查看单个进程的执行日志:

more /var/log/cron log | grep "进程名称"

3.病毒查杀

1.先确定挖矿进程的PID

根据 top 查到的病毒进程,利用PID查看一系列的相关守护进程:

 

systemctl status PID

查看所有的守护进程:

 

2.根据展示出来的守护进程,从最高层守护开始杀起(先杀父类)。

删除最顶层fule守护进程:

 rm -rf 路径  或 find / -name "*路径*" | xargs rm -rf

 有某部分比较刁钻的病毒会报告:rm: cannot remove '文件名称 ': Operation not permitted

 这种情况可能性一,不在root的权限下,切换root再操作。可能性二:病毒使用了chattr 文件锁定的命令。我们只要先执行文件解锁,然后就可以正常删除了

chattr -i 文件名称
ps -ef | grep 守护进程名称  

或者

ps -ef | grep 守护进程名称 | grep  -v grep
kill -9 PID

注意,有部分挖矿在删除时会触发自我复制,所以删除前可以先控制权限和删除定时扫描:

chmod 600 守护进程路径

查看定时器,需要在root权限操作:

查看所有定时器

crontab -l

如果确认linux服务器重来没有建过定时任务,就可以全部清除

crontab -r

如果有自定义的定时器就可以编辑:

crontab -e

手动删除可疑任务后保存退出

很多病毒是会扫描定时器的,所以在清除定时任务之前,需要把病毒守护进程里面的病毒文件先降低权限才会生效 命令:chmod 600 守护进程路径

权限降低,清除定时任务 那就可以逐个杀死进程了,由下往上一个个 kill -9 进程号,例如:先杀 9015

 

把进程全干掉后就删除对应文件(根据进程树中的文件路径)

3.如果没有守护进程,那就更简单,直接先控制文件权限,然后停止进程,清理定时任务,最后删除病毒路径即可。

到此,病毒清理完成。

4.其他安全建议:

1.禁止root登录

使用自定义的用户登录,再切换Root即可

2.查看SSH链接公钥,清除所有可疑的公钥。

一般只用用户名密码登录的服务器是不会有公钥文件的,如果有也是空文件。查看公钥文件:

vim /root/.ssh/authorized_keys

# 解除锁定 chattr -i /root/.ssh/authorized_keys

# 编辑权限 chmod 777 /root/.ssh/authorized_keys

# 清空或清除不是自建的authorized_keys vi /root/.ssh/authorized_keys

# 清空后恢复权限 chmod 400 /root/.ssh/authorized_keys

# 锁定authorized_keys chattr +i /root/.ssh/authorized_keys

# 防止通过重命名.ssh文件夹绕过设置 chattr +i /root/.ssh

 

3.一定要打开防火墙

查看防火墙状态命令:

systemctl status firewalld

如果不是显示active状态,需要打开防火墙,注意要配置穿透自己需要用到的端口号

systemctl start firewalld

4.要尽量禁止redis的远程访问,redis必须要设置访问密码。

 

5.Linux病毒防护软件:

安装clamAV:

yum -y install clamav

更新病毒库(需要时间很长,大约20~30分钟):

freshclam

查杀当前目录并删除感染的文件:

clamscan -r --remove

查杀当前目录并删除感染的文件:

clamscan -r

clamAV帮助命令:

clamscan help

相关内容

K8s在云服务器上的资源管...
K8s作为开源容器编排系统,在云服务器上实现自动化资源管理,提高运...
2024-11-20 17:23:38
云服务器上Kubernet...
本文介绍了在云服务器上搭建Kubernetes集群的实战过程,包括...
2024-11-20 17:00:41
云服务器上Kubernet...
本指南详述了云服务器上Kubernetes集群的部署与运维步骤,包...
2024-11-20 16:23:44
Kubernetes在云服...
Kubernetes性能优化策略包括:资源合理分配、节点自动扩展、...
2024-11-20 16:00:41
K8s在云服务器上的最佳实...
本文分享了Kubernetes在云服务器上的最佳实践,包括选择合适...
2024-11-20 15:46:38
云服务器上Kubernet...
摘要:本文详解了云服务器上Kubernetes集群的部署方案,包括...
2024-11-20 15:00:48

热门资讯

linux安装LNMP的安装方... 最近在安装linux lnmp centos7环境的时候还是有点小问题,从头总结了一下。 安装的版本...
gatewayworker心跳... 问题描述: 前端设置什么,后端设置什么。 解决办法: start_gateway.php中 打开 $...
php代码注入 ,eval() ,assert() preg_replace() call_user_func();
Linux系统nginx服务器... Ssh 登录 Ssh是建立在应用层和传输层的安全协议,专门为远程登录回话和其他网络服务提供安全性。利...
phpstudy8.0 创建本... phpstudy v8.0创建本地站点域名的方法步骤: 步骤一: 打开www目录并创建你的站点文件夹...
SVN 从本地提交时忽略某些文... 问题描述: 在我使用TP的时候我想从本地提交文件更新到服务器,但是database.php这类的文件...
测试服务器端口通不通 问题描述: 测试服务器端口通不通 解决办法: 1、使用telnet判断 telnet是windows...
云服务器监控CPU利用率,外网... 云服务器的CPU利用率、外网出带宽使用率、内存利用率和磁盘利用率是用于监测服务器性能和资源使用情况的...
nginx服务器防火墙fire... nginx服务器防火墙firewall命令
cpu指标 cpu 使用率常见指标 user(通常缩写为 us),代表用户态 CPU 时间。注意,它不包括下面的...