千家信息网

如何加固Redis服务安全减少漏洞

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言
千家信息网最后更新 2026年11月01日如何加固Redis服务安全减少漏洞
Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

漏洞描述

Redis 因配置不当存在未授权访问漏洞,可以被恶意利用。

在特定条件下,如果 Redis 以 root 身份运行,给 root 账号写入 SSH 公钥文件,直接通过 SSH 登录受害服务器,从而获取服务器权限和数据。一旦成功,可直接添加账号用于 SSH 远程登录控制服务器,给用户的 Redis 运行环境以及 Linux 主机带来安全风险,如删除、泄露或加密重要数据,引发勒索事件等。

受影响范围

在 Redis 客户端,测试Redis是否设置密码:

root@kali:~# redis-cli -h 10.16.10.2redis 10.16.10.2:6379> keys *1) "1"`

从登录结果可以看出,该 Redis 服务对公网开放,且未启用认证。

修复方案

禁止监听在公网

指定 Redis 服务使用的网卡

默认情况下,Redis 监听 127.0.0.1。如果仅仅是本地通信,请确保监听在本地。

这种方式可以在一定程度上缓解 Redis 未授权访问的风险(例外情况下,如果 Redis 以 root 用户运行,借助已有的 webshell,就可以利用该 Redis 来反弹 shell 以实现提权)。

在redis.conf文件中找到 # bind 127.0.0.1,将前面的 # 去掉,然后保存。

该操作需要重启Redis 才能生效。

修改后只有本机才能访问 Redis,也可以指定访问源 IP 来访问 Redis。

bind 192.168.1.100 10.0.0.1

修改默认6379端口

port 6377

编辑文件redis的配置文件redis.conf,找到包含port的行,将默认的6379修改为自定义的端口号,重启`redis生效`

设置防火墙策略

如果正常业务中 Redis 服务需要被其他服务器来访问,可以通过 iptables 策略,仅允许指定的 IP 来访问 Redis 服务。

iptables -A INPUT -s x.x.x.x -p tcp --dport 6379 -j ACCEPT

账号与认证

设置访问密码:在 redis.conf中找到 requirepass字段,去掉其注释,并在后面填上需要的密码。Redis 客户端也需要使用此密码来访问 Redis 服务。

打开 /etc/redis/redis.conf配置文件:

requirepass www.dgstack.cn12332@@#$%@!%

确保密码的复杂度,配置完毕后重启服务即可生效。

服务运行权限最小化

使用root切换到redis用户启动服务:

useradd -s /sbin/nolog -M redis sudo -u redis //redis-server //redis.conf

注意:该操作需要重启 Redis 才能生效。

禁用或者重命名危险命令

隐藏重要命令:Redis 无权限分离,其管理员账号和普通账号无明显区分。登录后可执行任意操作,因此需要隐藏以下重要命令:FLUSHDB, FLUSHALL, KEYS,PEXPIRE, DEL, CONFIG, SHUTDOWN, BGREWRITEAOF, BGSAVE, SAVE, SPOP, SREM, RENAME,DEBUG, 。

另外,在 Redis 2.8.1 及 Redis 3.x (低于 3.0.2) 版本下存在 沙箱逃逸漏洞,可通过该漏洞执行任意 Lua 代码。

下述配置将 config/flushdb/flushall 设置为空,即禁用该命令;也可设置为一些复杂的、难以猜测的名字。

rename-command FLUSHALL ""rename-command FLUSHDB  ""rename-command CONFIG   ""rename-command KEYS     ""rename-command SHUTDOWN ""rename-command DEL ""rename-command  ""

然后重启redis。

重命名为"" 代表禁用命令,如想保留命令,可以重命名为不可猜测的字符串,如:

rename-command FLUSHALL joYAPNXRPmcarcR4ZDgC

打开保护模式

redis默认开启保护模式。要是配置里没有指定bind和密码,开启该参数后,redis只能本地访问,拒绝外部访问。

redis.conf安全设置: # 打开保护模式 protected-mode yes

安全补丁

定期关注最新软件版本,并及时升级 Redis 到最新版,防止新漏洞被恶意利用。

排查病毒思路(挖矿病毒)


服务 命令 密码 配置 漏洞 文件 账号 服务器 登录 运行 安全 重要 数据 权限 模式 用户 保护 监听 复杂 客户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技股 中智农互联网科技 广州紫鲸互联网科技有限公司 江苏根荣互联网科技 互联网科技工作委员会副主任毛军 互联网最新的科技有限公司 礼当家互联网科技 腾讯科技 互联网女皇 哈尔滨秒房互联网科技有限公司 互联网科技公司招聘 江苏南京365互联网科技 中国互联网有什么科技含量 互联网大会黑科技排名 互联网科技创新服务 来此购互联网科技有限公司 武汉健翔互联网络科技有限公司 特约风豹互联网科技为什么扣费 元气玛特互联网科技公司是外包吗 江苏苏星互联网科技有限公司 六子台科技互联网展会 互联网科技图片 科技互联网政务服务 美国互联网科技巨头监管 菲比寻常互联网科技 互联网养老 桔豆科技 福建科技产业互联网发展 科技互联网海报 智帮互联网科技公司最近动向 下一代互联网重大应用科技园 世界互联网科技成果奖
0