Redis遭遇新病毒,远程攻击惊魂一刻(redis 病毒)

Redis遭遇新病毒,远程攻击惊魂一刻

近日,Redis遭遇了一种新的病毒,该病毒可以通过远程攻击方式感染Redis服务器,从而窃取用户数据或控制服务器进行其他恶意行为。这对Redis的使用者来说也是一次惊魂之旅,下面我们来了解一下这个问题的背景以及如何避免受到这样的攻击。

1. 背景

Redis是一个高性能内存数据存储系统,广泛应用于互联网领域。不过,因为Redis的安全性设计略显简单,使其易受到攻击。著名的线索是2017年初发生的MongoDB攻击,大量MongoDB服务器被勒索软件黑客攻击,这件事对很多数据库服务商产生了震动,Redis也不例外。

最新的Redis远程攻击事件发生在2021年5月23号,而且该病毒传播速度极快,两天内就被国内安全厂商监测到了40多个感染节点。根据资料显示,该病毒是由一组号称“Sunpinyin”的黑客团队制作的,攻击主要针对的是Linux系统上运行的Redis服务。

2. 攻击方式

新型病毒主要通过定向扫描公网IP、破解弱口令等方式寻找Redis服务器,然后通过底层协议实现远程控制,攻击者可以对被感染的Redis服务器进行任意操作。具体攻击方式如下:

1)通过常规端口(如6379)连接Redis服务器;

2)使用SET命令将想要注入的字符串设置为变量的值;

3)使用漏洞的特性,把变量名设置为类名,把变量值设置为类函数的代码,从而执行任意代码。

这一攻击方式利用了Redis在支持用户定义命令的同时,没有对任意命令的长度和内容进行限制,这使得攻击者可以直接在被攻击的Redis服务器上注入恶意代码。由于该病毒传播速度极快,攻击者可以在短时间内控制大量服务器,从而窃取用户数据或者用来进行其他攻击。

3. 预防措施

为了避免被攻击,我们应该采取一系列的措施,包括:

1)安全策略:将Redis服务器暴露在公网上很危险,应该将Redis放在受信任的内网中,并限制外网的访问;

2)加强口令管理:设置复杂的口令、定期更换口令有助于防止弱口令攻击;

3)限制命令:可以利用Redis的命令限制机制,只允许使用必要的命令,从而限制攻击者的行动空间;

4)对Redis进行加固:对Redis进行安全加固,比如开启SSL、关闭服务的反射模式等,可以有效避免一些攻击。

要想有效防御这类攻击,就需要我们加强Redis的安全管理,遵循最佳实践,同时不断关注安全漏洞的最新信息,及时修复漏洞。除此之外,我们也需要不断学习新知识,提升自身的安全意识,以防被攻击者抓住漏洞进行钓鱼攻击等。

参考代码:

(1)禁止 Redis 服务在公网 IP 端口开启

在 Redis 配置文件 redis.conf 中设置 bind 127.0.0.1,或利用 Linux 防火墙策略,禁止 Redis 端口对公网的访问。

(2)强制 Redis 密码

在 Redis 配置文件 redis.conf 中设置 requirepass yourpassword。

(3)深度定制 Redis 命令

在 Redis 配置文件 redis.conf 的 SECURITY 配置中,利用 requirecommand arg arg 格式设置允许使用的 Redis 命令及相关参数。例如:

requirecommand setex 1 String

requirecommand get 1 String

(4)使用 Stunnel,创建 SSL 加密连接

如果不使用 TCP 隧道VPN 等加密方式,攻击者可以通过数据抓取工具,直接监听 Redis 的传输协议。安装、配置 SSL 证书及 Stunnel。


数据运维技术 » Redis遭遇新病毒,远程攻击惊魂一刻(redis 病毒)