当前位置: 首页 > 科技观察

最新Redis未授权访问漏洞,如何保护Redis安全?

时间:2023-03-16 14:00:30 科技观察

Redis是一个用ANSIC语言编写的开源日志型Key-Value数据库,支持网络,可以基于内存也可以持久化,提供多种语言的API。近日,Redis被曝存在主从复制Getshell的漏洞。在Redis4.x及以上版本中,由于新增模块功能,攻击者可以构造恶意代码使被攻击服务器加载恶意.so文件。如果以root权限启动redis-server,可以执行恶意代码,攻击者可以在服务器上创建任何他想创建的文件,危害很大。Redis作者的理念是“简单就是美”,所以没有为Redis设计复杂的安全配置,那么如何保证Redis的安全呢?配置防火墙保护redis通过配置防火墙来防止外部用户访问其redis端口。不使用redis默认端口,防止外部用户访问Redis,指定Redis可信IP,防止外部访问,只有可信用户IP才能访问Redis端口。如果不禁止,很可能在受到外界攻击时,所有数据都会被删除。设置访问redis时需要密码授权。Redis对经典网络实例强制开启密码认证。用户可以设置复杂的密码,防止密码被泄露。需要注意的是,密码的强度要设置得足够高,比如32位以上。redis的性能非常好。如果密码被暴力破解,可以达到每秒15万次。使用disable命令可以禁用Redis中的命令或者重命名为不可预知的名字,这样只有内部用户才能使用这些重命名的名字,而普通用户只能使用部分命令。将一些危险命令重命名可以防止恶意操作,相当于把命令名改成密码,只有内部人员知道。Redis在高性能和易用性方面下了很大的功夫,但是在安全性方面并没有尽力优化。因此,redis需要运行在一个安全的环境中,做好redis外部的安全工作是很有必要的。