大量 Redis 服务器存在 SSH 权限窃取风险
当你把无安全验证的 Redis 服务器暴露在互联网上，任何人都可以在其上的 authorized_keys 文件中存储 SSH 密钥——这意味着，攻击者将不需要任何密码即可取得 Redis 服务器上的 SSH 访问权限。
Redis
当你把无安全验证的 Redis 服务器暴露在互联网上，任何人都可以在其上的 authorized_keys 文件中存储 SSH 密钥——这意味着，攻击者将不需要任何密码即可取得 Redis 服务器上的 SSH 访问权限。
完全无视安全功能的 Redis 服务器自创建以来饱受各种安全风险的困扰，Risk Based Security (RBS) 最近发现了 6338 台受到侵入的 Redis 服务器。


Redis 是一个在内存中以键值对方式存储数据的 NOSQL 数据库。据 DB-Engines 的统计数据，它在 2015 年度的数据库[流行度位列第十](http://db-engines.com/en/ranking)，而在键值对数据库中[排名第一](http://db-engines.com/en/article/Key-value+Stores)。


由于 Redis 以性能为第一考量，所以默认配置下该数据库没有任何的认证或其它的安全控制功能。


![](/data/attachment/album/201607/08/104933up96i4ppkk46t222.png)


### Redis 服务器存在 SSH 密钥创建漏洞


任何人只要知道你的 IP 地址和 Redis 的端口，就可以访问其中的任意内容。更糟糕的是，在 2015 年末，发现了[一种攻击方式](http://antirez.com/news/96)可以让任何人在你的 Redis 服务器上的 authorized\_keys 文件中存储 SSH 密钥——这意味着，攻击者将不需要任何密码即可取得 Redis 服务器上的 SSH 访问权限。


而现在，至少有三万台没有任何验证措施的 Redis 服务器暴露在互联网上，据 RBS 研究人员的称，已经有 6338 台 Redis 被窃取了 SSH 权限。


该公司在通过 Shodan 进行了非侵入式扫描之后得出了如上结论。RBS 的研究人员在分析了被入侵的服务器之后发现，它们上面存在着一个名为“crackit” 的 SSH 密钥，其关联的邮件地址 ryan@exploit.im 曾在之前的其它入侵事件中出现过。除了 ryan@exploit.im 这个地址出现过 5892 次之外，root@chickenmelone.chicken.com 和 root@dedi10243.hostsailor.com 也分别出现了 385 次和 211 次。除了“crackit” 之外，还有一些名为“crackit\_key”， “qwe” ，“ck” 和 “crack” 之类的密钥名。据 RBS 分析，这表明它们来自多个组织或个人。


### 攻击者并不针对特定的 Redis 版本，任何版本都可能被黑


这些被攻击的 Redis 服务器的版本多达 106 个，从早期的 1.2.0. 到最新的 3.2.1 都有。


“从对这些数据的分析中得不到更进一步的结果，只能确认两件事，第一件事是这并非新出现的漏洞，第二是，有些服务器只是被侵入了，但是并没有被利用。”[RBS 研究人员解释说](https://www.riskbasedsecurity.com/2016/07/redis-over-6000-installations-compromised/)。


该公司建议系统管理员们升级其 Redis 服务器到最新的版本，并启用 3.2 版本新引入的“保护模式”。另外，不要将 Redis 服务器或者其它的数据库暴露在互联网上是最起码的安全准则。


 

