解决阿里云服务器被恶意挖矿问题

3 篇文章 0 订阅

解决阿里云服务器被恶意挖矿问题

一.出现问题现象以及原因

出现现象:阿里云控制台出现高危应急漏洞,其次CPU和内存都打满;经过问题详情的查看, 发现攻击者是在etc目录下植入一个zzh和zzhs的文件;
在这里插入图片描述
出现原因:在特定条件下,如果 Redis 以 root 身份运行,黑客可以给 root 账号写入 SSH 公钥文件,直接通过 SSH 登录受害服务器,从而获取服务器权限和数据。一旦入侵成功,攻击者可直接添加账号用于 SSH 远程登录控制服务器,给用户的 Redis 运行环境以及 Linux 主机带来安全风险,如删除、泄露或加密重要数据,引发勒索事件等;
预防方案:
①绑定需要访问数据库的IP,修改 redis.conf 中的 “bind 127.0.0.1” ,改成需要访问此数据库的IP地址;
②设置访问密码,在 redis.conf 中找到“requirepass”字段,在后面填上你需要的密码;
③修改redis服务运行账号,请以较低权限账号运行redis服务,且禁用该账号的登录权限。

二.解决方法

# 进入etc文件夹
cd /etc
# 查看zzh和zzhs文件的权限
ll | grep zzh
# rm删除zzhs文件,但zzh不能删除,权限不够
rm -rf zzhs
# 显示zzh的文件属性,会发现其带有ia参数
# a:Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
# i:Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
lsattr zzh
# 删除其ia属性
chattr -ia zzh
# 执行上一条命令,如果出现Permission denied,则进入/usr/bin目录;如果没出现则直接执行:rm -rf zzh 删除zzh文件
cd /usr/bin
# 查看chattr权限
ls -lh chattr;lsattr chattr
# 接下来更改该命令权限,复制chattr的副本chattr.new
cp chattr chattr.new
# 给所有用户文件可执行权限
chmod a+x chattr.new
# 用chattr.new修改chattr文件属性
chattr.new -i chattr
# 删除chattr.new文件
rm -f chattr.new
# 给chattr授权
chmod a+x chattr
# 重新查看chattr权限
ls -lh chattr;lsattr chattr
# 回到zzh所在的文件夹
cd /etc
# 删除其ia属性
chattr -ia zzh
# 删除zzh文件
rm -rf zzh

注:
chattr命令用于改变文件属性;
不带参数执行或使用–help获得帮助信息。

+ :在原有参数设定基础上,追加参数。
- :在原有参数设定基础上,移除参数。
= :更新为指定参数设定。
A:即Atime,告诉系统不要修改对这个文件的最后访问时间。
S:即Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:当dump程序执行时,该文件或目录不会被dump备份。
D:检查压缩文件中的错误。
i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域。
u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录。
t:文件系统支持尾部合并(tail-merging)。
X:可以直接访问压缩文件的内容。

chmod命令是修改文件权限,共10 位,第1位是文件类型,如下所示:

d 代表目录(directroy)
- 代表文件(regular file) 
s 代表套字文件(socket) 
p 代表管道文件(pipe)或命名管道文件(named pipe)
l 代表符号链接文件(symbolic link) 
b 代表该文件是面向块的设备文件(block-oriented devicefile) 
c 代表该文件是面向字符的设备文件(charcter-oriented device file)

2-4位表示文件所有者的权限值,5-7位表示群组用户的权限值,8-10位则表示其他用户的权限值。

r权限值为4,w权限值为2,x权限值为1,eg:7 = 4 + 2 + 1 读写运行权限,5 = 4 + 1 读和运行权限,4 = 4 只读权限;
“a”表示所有用户,“u”表示创建者、“g”表示创建者同组用户、“o”表示其他用户;
“+”表示添加权限,“-”表示取消权限;
“r”表示读权限、“w”表示写权限、“x”表示执行权限;

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
阿里云服务器(ECS)是阿里云提供的一种云计算服务,而Docker是一种开源的容器化平台。在阿里云服务器上使用Docker可以帮助用户更高效地部署和管理应用程序。 Docker的核心概念是容器,它是一种轻量级的虚拟化技术,可以将应用程序及其依赖打包成一个独立的可执行单元,称为容器。这样,应用程序可以在任何支持Docker的环境中运行,而不需要担心环境差异性带来的问题。 在阿里云服务器上使用Docker,您可以享受以下好处: 1. 灵活性:Docker容器可以快速部署和启动,使您的应用程序能够快速响应变化的需求。 2. 资源利用率:Docker容器共享主机操作系统的内核,因此可以更高效地利用服务器资源。 3. 可移植性:Docker容器可以在不同的环境中运行,无需担心环境差异性。 4. 可扩展性:通过使用Docker容器编排工具(如Docker Compose和Kubernetes),您可以轻松地扩展和管理多个容器。 如果您想在阿里云服务器上使用Docker,您可以按照以下步骤进行操作: 1. 在阿里云上创建一台ECS实例,并确保已安装Docker。 2. 使用Docker命令或Docker Compose编写Dockerfile和docker-compose.yml文件,描述您的应用程序和其依赖。 3. 构建Docker镜像并将其推送到阿里云的容器镜像仓库(如阿里云容器镜像服务)。 4. 在ECS实例上运行Docker容器,可以使用Docker命令或Docker Compose进行管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值