大家好,欢迎来到IT知识分享网。
回顾
最近在服务器上面部署网站,刚开始使用还是没问题的,当时一段时间之后发现CPU和内存总是被打满,本地没有跑大的应用,主要有mysql、nginx、redis,一度还以为是nginx 的问题,但是后来排除了。之后使用htop发现有一个zzh的进程一直在占用,并且占用五个核心,将之kill掉之后CPU占用率立马就下来了,但是过段时间之后这个就又会上去…
kill进程之后CPU占用率下降到正常水平。
原因
在网上查阅资料之后,发现服务器是被恶意攻击了。在特定的场景下,如果redis以root身份运行,黑客可以使用root账号写入一个ssh文件,然后获得服务器权限和数据,当入侵成功之后,攻击者可以给用户的Redis运行环境以及Linux主机带来安全危险。
解决
# 进入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
预防
在redis.conf中将bind 后面的地址换成需要访问这台数据库的IP地址在,另外给redis设置密码,最后的话修改redis的运行章,以低一点的权限来运行redis服务,禁用这个账号的登录权限。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/156650.html