Redis未授权访问漏洞怎么检测和修复?一文看懂6379端口安全风险

 更新时间:2026年10月02日 10:16:43   作者:螺蛳粉螺蛳粉  
Redis未授权访问漏洞是运维常见的安全隐患,因默认无密码且监听公网6379端口,攻击者可直连Redis写入Webshell或SSH公钥,进而控制服务器,本文详细讲解漏洞成因、攻击手法、检测方法及完整防护配置,帮助您快速排查和修复Redis安全风险,避免业务数据泄露或服务器被入侵

本系列为 Redis 安全专题,从漏洞原理、攻击利用到生产加固,循序渐进讲解 Redis 相关安全风险。内容包含未授权访问、主从复制 RCE、SSRF+Gopher 内网攻击、Redis 命令注入以及生产环境全套加固方案。适合网络安全初学者、运维工程师、Web 安全方向学习者阅读,所有案例仅用于安全原理学习,请勿在未授权环境进行测试。

摘要:Redis 未授权访问是运维高频踩坑的安全漏洞,因配置不当无密码且公网开放 6379 端口,攻击者可直接连接 Redis 写入 Webshell、SSH 公钥拿下服务器。本文通俗讲解漏洞成因、攻击手段、检测方法与完整防护配置。 

前言

Redis 是当下最热门的内存数据库,很多项目都会用到。但大量服务器因为偷懒不改默认配置,直接把 6379 端口暴露在公网,不需要账号密码,任何人都能连接操作数据库,这就是 Redis 未授权访问漏洞。

很多人以为漏洞只是能看数据,实际上攻击者可以写入 SSH 公钥拿到服务器权限、写入网站木马、篡改业务缓存数据,危害非常严重。

一、漏洞产生原因

Redis 默认配置有两个坑:

  1. 默认没有密码(requirepass为空),保护模式关闭;
  2. 默认监听0.0.0.0,监听本机所有网卡,公网可以直接访问 6379 端口。

只要满足这两点,攻击者直接用redis-cli -h 目标IP -p 6379就能连上 Redis,不需要任何认证。

注意:不是 Redis 代码本身有 bug,完全属于配置不当导致的安全缺陷。

二、攻击者能做什么?3 种常见攻击方式

1. 写入 Web 一句话木马(Webshell)

如果 Redis 和网站在同一台服务器,并且 Redis 进程有写入网站目录权限。 攻击者修改 Redis 持久化 RDB 文件的保存路径,把一句话木马存入 Redis,执行save落地成 php 文件,访问网页就可以控制网站。

CONFIG SET dir /var/www/html
CONFIG SET dbfilename shell.php
SET x "<?php @eval($_POST['cmd']);?>"
SAVE

限制前提:必须知道网站物理路径,并且 Redis 有权限写入该目录。

2. 写入 SSH 公钥,直接登录服务器

这是最经典的利用手法。 攻击者将自己的 SSH 公钥写入 Redis,保存到 root 家目录.ssh/authorized_keys,之后直接用 SSH 免密登录服务器,拿下服务器最高权限。

3. 恶意清空数据,业务瘫痪

直接执行FLUSHALL,一键清空 Redis 里面全部缓存数据,网站直接报错、业务雪崩。

三、怎么快速检测自己服务器是否中招

本地安装 redis-cli,执行命令:

redis-cli -h 你的服务器IP -p 6379

如果直接连接成功,不需要输入密码,说明存在未授权访问漏洞。 执行CONFIG GET requirepass查看是否设置密码。

四、生产环境防护方案(必做)

  1. 开启 Redis 密码认证 修改redis.conf,设置强密码:
  2. requirepass 你的复杂密码

重启 Redis,客户端连接必须AUTH 密码才能操作。

  1. 绑定内网 IP,不要监听 0.0.0.0
  2. bind 127.0.0.1

只允许本机访问 Redis;如果多服务器使用,只填写业务服务器内网 IP,拒绝公网访问。

  1. 开启保护模式(protected-mode yes) Redis3.2 + 默认开启,不要手动关闭。
  2. 防火墙限制端口 使用 firewalld/iptables,只放行可信内网 IP 访问 6379,公网直接封禁 6379 端口。
  3. 低权限运行 Redis 禁止使用 root 账号启动 redis-server,即使被入侵,攻击者也很难拿到服务器 root 权限。
  4. 重命名高危命令 在 redis.conf 禁用危险命令,防止攻击者修改配置、持久化写文件:
rename-command CONFIG ""
rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command SAVE ""
rename-command BGSAVE ""

五、总结

Redis 未授权访问是运维最常踩的安全大坑,没有复杂漏洞利用链,工具简单,脚本小子都能批量扫描攻击。 记住核心安全准则:数据库绝对不能直接裸奔到公网,必须做身份认证 + 网络访问限制。

免责声明:本文仅用于安全学习,禁止未经授权对任何服务器进行测试攻击,违法必究。

到此这篇关于Redis未授权访问漏洞怎么检测和修复?一文看懂6379端口安全风险的文章就介绍到这了,更多相关Redis未授权访问漏洞内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Redis中Bloom filter布隆过滤器的学习

    Redis中Bloom filter布隆过滤器的学习

    布隆过滤器是一个非常长的二进制向量和一系列随机哈希函数的组合,可用于检索一个元素是否存在,本文就详细的介绍一下Bloom filter布隆过滤器,具有一定的参考价值,感兴趣的可以了解一下
    2022-12-12
  • 在redisCluster中模糊获取key方式

    在redisCluster中模糊获取key方式

    这篇文章主要介绍了在redisCluster中模糊获取key方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Redis基本数据类型Zset有序集合常用操作

    Redis基本数据类型Zset有序集合常用操作

    这篇文章主要为大家介绍了redis基本数据类型Zset有序集合常用操作,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 关于使用Redisson订阅数问题

    关于使用Redisson订阅数问题

    本文主要介绍了关于使用Redisson订阅数问题,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 一文吃透 Redis 入门:NoSQL、五种数据结构、Jedis 与 SpringDataRedis 序列化踩坑全记录

    一文吃透 Redis 入门:NoSQL、五种数据结构、Jedis 与 SpringDataRedis 序列化踩

    Redis 作为高性能的键值对存储系统,已成为现代分布式架构中不可或缺的基础设施,本文给大家介绍Redis 入门:NoSQL、五种数据结构、Jedis 与 SpringDataRedis 序列化踩坑全记录,感兴趣的朋友跟随小编一起看看吧
    2026-09-09
  • 浅谈redis内存数据的持久化方式

    浅谈redis内存数据的持久化方式

    这篇文章主要介绍了浅谈redis内存数据的持久化方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Redis中的Hash和List类型常用命令及应用分析

    Redis中的Hash和List类型常用命令及应用分析

    Redis内存数据库中,除了基础的String类型外,Hash和List也是开发中频繁使用的两种数据结构,下面详细讲解Hash和List类型的特点、常用命令及典型应用场景,以便处理复杂业务需求,需要的朋友跟随小编一起看看吧
    2025-08-08
  • Redis锁完美解决高并发秒杀问题

    Redis锁完美解决高并发秒杀问题

    本文主要介绍了Redis锁完美解决高并发秒杀问题,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • redis通过redis-dump镜像实现数据迁移

    redis通过redis-dump镜像实现数据迁移

    本文主要介绍了redis通过redis-dump镜像实现数据迁移,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04
  • WINDOWS中REDIS主从配置实现代码解析

    WINDOWS中REDIS主从配置实现代码解析

    这篇文章主要介绍了WINDOWS中REDIS主从配置实现代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08

最新评论