Redis安全性简介

Redis安全性

常规安全模式

Redis被设计成仅有可信环境下的可信用户才可以访问

网路安全

仅可信的网络用户才可以访问Redis端口

redis.conf 修改 bind 127.0.0.1

认证的特性

Redis没有尝试去实现访问控制,提供了一个轻量级的认证方式,可以编辑redis.conf文件来启用

认证授权方式启用后,Redis会拒绝来自没有认证的用户的任何查询

密码是明文配置在redis.conf文件中的

Redis并不支持加密,需要实现新增的保护层,例如SSL代理

禁用特殊命令

在Redis可以禁用命令或者将他们重命名成难以推测的名称,这样普通用户就只能使用部分命令了

redis.conf

rename-command CONFIG basdadjdh23234j
或者删除这个命令
rename-command CONFIG ''

外部客户端通过仔细构造的输入触发的攻击

一个攻击者可以通过提交表单提交大量一样的字符串到哈希表里,是的O(1)的算法复杂度(平均时间)达到最差的O(N),Redis将需要更多的CPU来处理,到最后会导致无法提供服务

为了防止这类特殊的攻击,redis的哈希函数使用per-excution的伪随机种子