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

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

    • 一.出现问题现象以及原因
    • 二.解决方法

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

出现现象:阿里云控制台出现高危应急漏洞,其次CPU和内存都打满;经过问题详情的查看, 发现攻击者是在etc目录下植入一个zzh和zzhs的文件;
解决阿里云服务器被恶意挖矿问题_第1张图片
出现原因:在特定条件下,如果 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”表示执行权限;

你可能感兴趣的:(java,运维,服务器,阿里云,运维)