趋势科技的安全研究员发现了约8000个不受保护的 Redis 实例,可遭任意互联网用户访问。

这些不安全的 Redis 实例遍布全球,它缺少传输层安全 (TLS) 加密机制且不受密码保护。其中某些实例甚至被部署在公有云上。

作为开源的内存数据结构存储系统,Redis(远程字典服务器)用于可信环境中。因此,如不受保护且可从互联网访问,那么 Redis 易受所有类型的滥用,包括 SQL 注入、跨站点脚本攻击甚至是远程代码执行。

另外,网络犯罪分子如能连接至不受保护的部署,则能够查看、访问并修改存储数据并上传恶意文件。几年前,FairWare 勒索软件曾攻击1.8万余不受保护的 Redis 实例。

自 Redis 4.0 (2017年7月发布)起,开发人员就推出了受保护模式配置并可向后兼容至 Redis 3.2.0。当 Redis 在默认配置中不受密码保护的情况下执行时,该防护措施自动启用。

当位于这种模式下时,Redis 仅响应回环接口请求并向试图连接的其它客户端发送错误消息。然而,管理员可能仍然忽视该消息并手动绑定所有接口,甚至完全禁用该受保护模式。

安全研究员指出,Redis 非常热门,其官方 Docker Hub 镜像显示迄今已达到10多亿次下载量。研究人员借助 Shodan 引擎,找到遍布全球的8000多个不受保护的 Redis 实例,其中一些实例位于公有云中如 AWS、Azure 和 Google Cloud 上呢。

在默认情况下,Redis 监听 TCP 端口6379,该端口基于明文且并未提供使用 TLS 加密机制。另一方面,Redis 用户可能能够启用 TLS 并保护通信安全,但这样做仅能确保传输过程中的数据是安全的,无法保护部署免遭未授权访问。

在遭暴露的 Redis 服务器上,恶意行为者能够滥用命令导致安装崩溃(拒绝服务)、在服务器上下文中执行 LUA 脚本、检索或修改数据、清空或删除所有密钥并嗅探用户流量。

为保护 Redis 实例的安全,管理员应当确保部署保护得当且只有授权用户才可访问、使用 TLS 和密码认证、密切关注命令执行、使用容器时应用网络分段并避免在前端开发中使用 Redis。

原文链接

https://www.securityweek.com/8000-unprotected-redis-instances-accessible-internet

声明:本文来自代码卫士,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。