最近一台测试linux响应速度贼慢,检查发现cpu消耗高达100%!查看进程杀死后过段时间又重启了,一时间也摸不到头绪。无意间发现启动redis的时候cpu瞬间拉到了100%,主要就是zzh和newinit.sh两个脚本。百度了一下说是被植入了挖矿脚本,是因为redis没有设置密码。参考着搜到的博客处理了问题,但是系统好多命令和配置都被破坏了,还是有必要重装。

windows redis增加密码 redis密码怎么设置_windows redis增加密码


windows redis增加密码 redis密码怎么设置_Redis_02

windows redis增加密码 redis密码怎么设置_缓存_03

删除挖矿脚本
在网上搜索 zzh,发现 zzh 是一种挖矿脚本
然后就照着网上的教程去删除脚本

攻击者是在 etc 目录下植入一个 zzh 和 zzhs 的文件

zzhs可以删掉,直接删除 zzh 会提示没权限

windows redis增加密码 redis密码怎么设置_缓存_04


查看文件是否被禁止操作:lsattr zzh

删除 ia 参数 :chattr -ia zzh ,提示没有权限

进入/usr/bin目录,使用:ls -lh chattr;lsattr chattr,查看 chattr 命令的权限。

执行以下操作

[root@localhost bin]# cp chattr chattr.new
[root@localhost bin]# chmod a+x chattr.new
[root@localhost bin]# chattr.new -i chattr
[root@localhost bin]# rm -f chattr.new
[root@localhost bin]# chmod a+x chattr

然后再回到 etc 目录下,执行 chattr -ia zzh

这个时候再执行 rm -rf zzh 就能成功了

windows redis增加密码 redis密码怎么设置_windows redis增加密码_05


删除定时任务

先执行下面的命令,发现查到任务

windows redis增加密码 redis密码怎么设置_redis_06


再执行 cat /etc/crontab ,发现有一条定时任务

windows redis增加密码 redis密码怎么设置_缓存_07


打开脚本(脚本在服务器已经删除了)

windows redis增加密码 redis密码怎么设置_windows redis增加密码_08


删除定时任务和这个脚本

ps -ef | grep zzh
find / -name "zzh"

然后执行

发现还有相关联的目录 /etc/cron.d/zzh

windows redis增加密码 redis密码怎么设置_缓存_09

后续使用云服务器时的注意事项:
重要的端口不随便开放
迫不得已端口需要开放,请配置好相关密码,密码尽量不要太简单,要不然容易被暴力破解。
云服务器不使用了,也没有功能要用,尽量关机。


redis监听的是所有IP,redis没有设置密码,别人可以直接连接我们的redis进行攻击利用我们的服务器去攻击别人

redis如果不提供对外访问,直接把redis 监听改成127.0.0.1

redis端口默认 ,没有密码, 知道IP一下就可以连接过来了

Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将 Redis 服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下可以利用 Redis 的相关方法,可以成功在 Redis 服务器上写入公钥,进而可以使用对应私钥直接登录目标服务器。

修复建议:

1.禁止一些高危命令 修改 redis.conf 文件,添加 rename-command FLUSHALL "" rename-command CONFIG "" rename-command EVAL "" 来禁用远程修改 DB 文件地址

2.以低权限运行 Redis 服务 为 Redis 服务创建单独的用户和家目录,并且配置禁止登陆

3.为 Redis 添加密码验证 修改 redis.conf 文件,添加 requirepass mypassword

4.禁止外网访问 Redis 修改 redis.conf 文件,添加或修改 bind 127.0.0.1 使得 Redis 服务只在当前主机可用