根据RBS安全公司的报道,安全研究人员发现了6338台被恶意软件感染的Redis服务器,由于此前Redis服务器中存在的多个安全问题没有得到及时解决,使得Redis数据库服务器成为了攻击者们优先选择的攻击目标。
Redis是一种NoSQL类型的数据库服务器,非常适合存储“键-值”形式的数据。Redis是一个开源的数据库服务器,先进的“键-值”存储机制可用于构建高性能、可扩展的 Web 应用程序解决方案。Redis支持主从同步,数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。值得一提的是,同步对读取操作的可扩展性和数据冗余很有帮助。
因为Redis将数据库性能作为优先考虑的因素。所以在其默认配置下,数据库不仅没有提供任何形式的身份验证机制,而且也没有部署其他的安全防护措施。Redis 的开发者之所以放弃解决未授权访问导致的不安全性,是因为 99.99%使用Redis的场景都是在沙盒化的环境中, 为了0.01%的可能性增加安全规则的同时也增加了复杂性, 虽然这个问题的并不是不能解决的, 但是这在他的设计理念中仍是不划算的。
利用SSH密钥生成漏洞来攻击Redis服务器
这也就意味着,只要能够知道目标服务器的IP地址以及端口号,任何人都可以访问到数据库中存储的数据。使情况变得更糟糕的是,在2015年年底又出现了一个安全漏洞。对于任何一台Redis服务器,只要它没有设置任何的身份验证机制,那么这个漏洞将允许第三方程序可以将SSH密钥存储于 authorized_keys文件中。
据统计,目前在互联网中,总共有超过三万台Redis数据库服务器没有设置身份验证系统。根据RBS公司的安全研究人员透露的信息,其中有6338台这样的服务器已经被恶意软件感染了。
RBS公司的安全研究人员通过Shodan引擎进行了一次非入侵式的扫描检测。在此过程中, 一台设置了“crackit” SSH密钥的服务器成功引起了安全研究人员的注意。当然了,这台服务器在当时已经被攻击了。之所以这台服务器能引起他们的注意,是因为研究人员在此前遇到的攻击事件中,这个密钥曾与一个地址为“[ryan@exploit.im]的电子邮邮箱进行了绑定。”
通过Shodan引擎,安全研究人员扫描到了配置非标准SSH密钥的开放Redis数据库。安全研究人员发现了5892个实例,这些服务器的SSH密钥全部与电子邮件地址ryan@exploit.im绑定在一起。除此之外,他们还发现了385个与root@chickenmelone.chicken.com邮箱地址绑定的SSH密钥以及211个与root@dedi10243.hostsailor.com地址绑定的SSH密钥。
最常见的非标准密钥有"crackit", “crackit_key”, “qwe”, “ck”和 “crack”。据统计,RBS公司的安全研究人员总共发现了14个不同的电子邮箱地址以及40种不同的SSH密钥组合。RBS公司的安全研究人员解释称,这些被攻击的服务器基本上属于独立组织所有。
攻击者并不会针对特定版本的Redis服务器,他们可以对任何Redis数据库服务器进行攻击。
在对这些被攻击的Redis数据库版本进行了分析之后,安全研究人员发现了106个不同的Redis版本,从最早期的1.2.0版本到最新的3.2.1版本Redis都包括在了其中。
安全公司建议所有使用了Redis数据库的网站管理员尽快将数据库版本更新到最新版本,并开启数据库的“保护模式”。根据Redis的更新文档,从Redis 3.2版本开始,Redis允许用户使用“保护模式”。
目前为止,这6338台服务器仍然没有得到修复。这也就意味着,攻击者仍然可以对它们实施攻击。
====================================分割线================================
本文转自d1net(转载)