记录一次Linux服务器被挖矿的经历(chattr文件权限被改)及解决办法

服务器被人挖矿,用sudo权限删除可疑进程后,发现有几个文件始终不能被具有sudo权限的用户删除。上网查找发现,这几个文件的属性被chattr文件(默认路径/usr/bin)修改,这里分两种情况:

一般情况

采用lsattr文件查看不能删除文件(例如temp.txt)的属性

lsattr temp.txt

得到如下结果

该temp.txt文件被增加了属性i,因此不能被具有sudo权限的用户删除。用chattr文件去除该属性后,即能够正常删除该文件,具体命令如下:

sudo chattr -i temp.txt

再次查看temp.txt的属性

lsattr temp.txt

此时,得到如下结果,则该文件能够被正常删除了。

特殊情况

特殊情况,挖矿的人还会进一步篡改或者替换chattr文件(例如,给chattr文件增加了ia的属性),因此chattr文件不再具有更改temp.txt文件属性的能力,也就意味着无法删除temp.txt,那么ta就能继续挖矿了。在这种情况下,需要重新下载一个chattr文件,具体过程如下:

下载chattr对应的c文件,上传到服务器任意位置(例如/home)

下载地址:chattr.c

采用gcc编译chattr.c文件,得到文件a.out
sudo gcc chattr.c
修改a.out文件名为chattr
mv a.out chattr
用编译好的chattr文件,去除掉原本的chattr文件增加的属性(i和a),之后删除原有的chattr文件
sudo ./chattr -ia /usr/bin/chattr
sudo rm -rf /usr/bin/chattr
把编译好的chattr文件拷贝到/usr/bin中
sudo cp -r chattr /usr/bin

之后的操作和一般情况中介绍的一致。

PS

下面的两个方法可以加强服务器的安全性,如果只想了解如何删除文件的话,则不需要看下述的内容了。

关闭root用户远程登录权限

打开ssh的配置文件,关闭root用户的远程登录权限
sudo vi /etc/ssh/sshd_config

把PermitRootLogin这一行后面的yes或者prohibit-password改为no

重启sshd服务
sudo service sshd restart

修改ssh默认登录端口号22

打开ssh的配置文件,添加新端口
sudo vi /etc/ssh/sshd_config

在Port 22这一行下方的任意添加一个Port端口号(例如1234,端口号的范围0~65525)

Port 22
Port 1234
重新启动ssh
sudo service ssh restart
设置防火墙,允许通过新添加的端口号(1234)访问【默认修改端口前已开启防火墙 sudo ufw enable,且允许端口22访问】
sudo ufw allow 1234
重开一个终端,使用新端口(1234)通过ssh远程登录
ssh -p 1234 userid@ip地址

输入密码后,可以顺利登录,则继续下面的步骤

删除默认端口22

打开ssh配置文件

sudo vi /etc/ssh/sshd_config

删除Port 22这一行,再重新启动ssh服务

sudo service ssh restart

参考

  1. https://blog.csdn.net/weixin_44233841/article/details/105812937
  2. https://blog.csdn.net/id19870510/article/details/5701227
  3. https://blog.csdn.net/alex1997222/article/details/79328965

Linux服务器被挖矿及解决办法相关推荐

  1. linux服务器被挖矿的解决办法

    一.前言 本周发现服务器很卡,明明什么实验也没跑(GPU是空的),然后重启后使用top指令后发现在自己账号下有个进程占用了所有的的cpu资源,尝试使用kill命令终止该进程后发现几秒钟进程又重启了,资 ...

  2. python自定义包或模块在Linux服务器导入错误的解决办法

    python自定义包或模块在Linux服务器导入错误的解决办法 在本地机器上跑python代码,自己定义的文件进行导包运行是没有问题,但是放到linux服务器上的时候就会提示 ImportError: ...

  3. linux服务器无法解析域名解决办法,Linux服务器内部无法解析域名

    Linux服务器内部无法解析域名 问题现象 Linux 服务器内部无法正常解析域名. 问题原因 可能的原因包括: DNS 设置问题 防火墙策略问题 NSCD 服务问题 处理办法 可以依次进行如下检查: ...

  4. 记录一次linux服务器被挖矿的解决

    闲来登录了一下腾讯云控制台,发现资源监控面板服务器的cpu利用率一直100%以上,甚至达到了130% 反常必有妖,毕竟我服务器除了挂了个docker几乎是没开其他应用的,一定有异常程序在作怪. 进入服 ...

  5. Linux服务器.Xr1挖矿病毒解决

    1. 发现问题 开发服务器启动一段时间后, tomcat挂掉, 重启时卡住, 通过free命令发现内存耗尽, 又查询不到占用高的进程 2. 问题定位 2.1 通过top命令查看, 发现 xr文件, C ...

  6. 阿里云服务器中挖矿病毒解决办法(已实践)

    1.cpu过高,中病毒了 2.进入Linux连接阿里云服务器 3.使用top命令动态查看cpu占用率 两种情况 1.未发现占用率很高的进程,跳到第七步 2.发现了占用率很高的进程,使用kill -9 ...

  7. linux服务器time wait,Linux服务器TIME_WAIT进程的解决与原因

    linux服务器上tcp有大量time_wait状态的解决方法和原因解释 毫无疑问,TCP中有关网络编程最不容易理解的是它的TIME_WAIT状态,TIME_WAIT状态存在于主动关闭socket连接 ...

  8. Linux磁盘空间使用率100%解决办法

    Linux磁盘空间使用率100%解决办法 磁盘空间使用率很高的解决办法 事情发生的原因 方法一:删除未被进程引用的大文件. 方法二:删除被磁盘引用的大文件 总结 磁盘空间使用率很高的解决办法 事情发生 ...

  9. linux 登录 忘记密码,redhat linux忘记登陆密码之解决办法

    redhat linux忘记登陆密码之解决办法 很简单的一个技巧,给大家介绍一下 在这个界面 按任意键 按 e键(编辑命令之前启动) 选择第二项 在按e键(修改选定的命令在启动) 输入single ( ...

最新文章

  1. linux 26,Linux常用26条命令
  2. go 实现 kafka 消息发送、接收
  3. Python 夺大满贯!三大编程语言榜即将全部“失守”!
  4. 2015年第46周五
  5. e2200网卡linux,Debian
  6. 如何在计算机添加打印机驱动程序,教你如何安装打印机驱动程序
  7. Redundant declaration: @SpringBootApplication already applies given @ComponentScan
  8. 【Python】绘制三维立体图
  9. 高质量作品集封面合集(含封面素材、字体包和作品集封面原始文档)
  10. Oracle的物化视图
  11. 常用开关电源芯片大全
  12. 使用Python实现微信群发每日一句
  13. 使用openGL,利用多边形填充的扫描线算法画出实心五边形
  14. C++库函数——sort
  15. OSI七层网络协议,网络协议的层次结构
  16. 反卷积原理 + pytorch反卷积层参数output_padding
  17. PyInstaller 带静态依赖文件打包教程
  18. 计算机网络relay系统,什么是中继网络(Relay Network)?
  19. 17090601_CentOS7(64位)永中Office安装卸载
  20. 标准c语言变长参数宏,Variadic arguments(变长参数宏)

热门文章

  1. 关于React报Too many re-renders. React limits the number of renders to prevent an infinite错误的解决方案
  2. Markdown还能这么玩?这款开源神器绝了!
  3. iOS屏幕旋转及其基本适配方法
  4. 中移动浦发联合发布四款产品 ,NFC手机年底上市
  5. 2021年「博客之星」参赛博主:南浔Pyer
  6. Vue 获取最近一个月,前三个月, 最近半年,最近一年, 当前月末日期
  7. Airbnb产品运营数据分析
  8. 行人重识别 (Re-ID)数据集介绍
  9. total是什么牌子的电脑_Total Control告诉你如何在电脑上发朋友圈
  10. 选项不属于HTML语言特点,JavaScript选择题