天天看点

Redis CSRF漏洞分析及云Redis安全措施介绍Redis CSRF漏洞分析CSRF介绍Redis CSRF攻击模型内核修复Redis安全风险阿里云Redis安全规范结束

近日有网友暴漏了redis的csrf漏洞,同时redis作者在最新发布的3.2.7也进行了修复,本文将对csrf攻击及如何安全使用redis进行介绍。阿里云云数据库redis版强制需要密码访问,不受该漏洞影响,而对于自建redis用户可以根据后续的一个建议措施进行修复。

csrf(cross-site request forgery)跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为csrf或者xsrf,是一种对网站的恶意利用。

Redis CSRF漏洞分析及云Redis安全措施介绍Redis CSRF漏洞分析CSRF介绍Redis CSRF攻击模型内核修复Redis安全风险阿里云Redis安全规范结束

上图为csrf攻击的一个简单模型用户访问恶意网站b,恶意网站b返回给用户的http信息中要求用户访问网站a,而由于用户和网站a之间可能已经有信任关系导致这个请求就像用户真实发送的一样会被执行。

Redis CSRF漏洞分析及云Redis安全措施介绍Redis CSRF漏洞分析CSRF介绍Redis CSRF攻击模型内核修复Redis安全风险阿里云Redis安全规范结束

根据上面csrf的原理恶意网站可以让用户发送一个http请求给redis,由于redis支持文本协议,而在解析协议过程中如果碰到非法的协议并不会断开链接,这个时候攻击者可以通过在正常的http请求之后携带redis命令从而在redis上执行命令,而如果用户和redis之间是没有密码验证的则可以正常执行redis命令并对数据进行加密勒索,就像之前mongodb赎金事件一样。

redis作者在3.2.7版本对该问题进行了一个修复,解决方案是对于post和host:的关键字进行特殊处理记录日志并断开该链接避免后续redis合法请求的执行。

阿里云redis只提供可信任的内网访问,用户不能通过公网访问到阿里云redis

阿里云redis物理机网络和用户网络物理隔离,用户虚拟机无法直接访问后端物理机网络

对于阿里云用户如果使用专有云vpc网络,则能够保证只有同一个vpc网络下的服务可以互相访问

阿里云redis支持白名单设置,目前未在控制台开放,后续用户可以在控制台设置可以访问的用户白名单

阿里云redis对于经典网络的实例强制开启密码鉴权,用户可以通过设置复杂的密码避免密码被攻破

阿里云redis后端每个实例进行权限和访问目录的隔离,每个实例都只能访问自己实例的路径,避免实例之间的互相影响

阿里云redis禁用了一些危险的系统管理命令config,save等,用户如果需要进行参数修改需要通过控制台二次验证之后才能修改,同时也避免了直接操作后端的配置文件及管理命令

阿里云redis具有完善的物理机安全监控,定期扫描和更新安全监控策略,提早发现安全风险

原生redis 3.0的cluster版本不支持密码验证,阿里云redis集群版本支持密码验证,提高了安全性