ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

第一篇:Redis 未授权访问漏洞|原理、利用与生产防护方案

第一篇:Redis 未授权访问漏洞|原理、利用与生产防护方案 本系列为 Redis 安全专题从漏洞原理、攻击利用到生产加固循序渐进讲解 Redis 相关安全风险。内容包含未授权访问、主从复制 RCE、SSRFGopher 内网攻击、Redis 命令注入以及生产环境全套加固方案。适合网络安全初学者、运维工程师、Web 安全方向学习者阅读所有案例仅用于安全原理学习请勿在未授权环境进行测试。系列文章目录第一篇Redis 未授权访问漏洞原理、利用与生产防护方案第二篇Redis 主从复制 RCE 漏洞利用主从同步加载恶意模块获取服务器权限第三篇Redis 生产环境安全加固最佳实践一份可直接落地的配置清单第四篇SSRF 结合 Gopher 协议攻击内网 Redis内网穿透渗透思路解析第五篇Redis 命令注入漏洞成因、Payload 利用场景与代码层防御方案摘要Redis 未授权访问是运维高频踩坑的安全漏洞因配置不当无密码且公网开放 6379 端口攻击者可直接连接 Redis 写入 Webshell、SSH 公钥拿下服务器。本文通俗讲解漏洞成因、攻击手段、检测方法与完整防护配置。前言Redis 是当下最热门的内存数据库很多项目都会用到。但大量服务器因为偷懒不改默认配置直接把 6379 端口暴露在公网不需要账号密码任何人都能连接操作数据库这就是 Redis 未授权访问漏洞。很多人以为漏洞只是能看数据实际上攻击者可以写入 SSH 公钥拿到服务器权限、写入网站木马、篡改业务缓存数据危害非常严重。一、漏洞产生原因Redis 默认配置有两个坑默认没有密码requirepass为空保护模式关闭默认监听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查看是否设置密码。四、生产环境防护方案必做开启 Redis 密码认证修改redis.conf设置强密码requirepass 你的复杂密码重启 Redis客户端连接必须AUTH 密码才能操作。绑定内网 IP不要监听 0.0.0.0bind 127.0.0.1只允许本机访问 Redis如果多服务器使用只填写业务服务器内网 IP拒绝公网访问。开启保护模式protected-mode yesRedis3.2 默认开启不要手动关闭。防火墙限制端口使用 firewalld/iptables只放行可信内网 IP 访问 6379公网直接封禁 6379 端口。低权限运行 Redis禁止使用 root 账号启动 redis-server即使被入侵攻击者也很难拿到服务器 root 权限。重命名高危命令在 redis.conf 禁用危险命令防止攻击者修改配置、持久化写文件rename-command CONFIG rename-command FLUSHALL rename-command FLUSHDB rename-command SAVE rename-command BGSAVE 五、总结Redis 未授权访问是运维最常踩的安全大坑没有复杂漏洞利用链工具简单脚本小子都能批量扫描攻击。 记住核心安全准则数据库绝对不能直接裸奔到公网必须做身份认证 网络访问限制。免责声明本文仅用于安全学习禁止未经授权对任何服务器进行测试攻击违法必究。
返回列表