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的伪随机种子