redis的安全策略

1.安装的时候使用非root账号安装
在linux上为redis单独建一个用户,root,zhangsan,mysql....然后使用建好的这个用户登录linux,然后进行安装和启动。
好处就是一些需要root用户操作的权限进行了必要的限制。
2.为redis增加一个访问密码
第480行redis.conf中requirepass设置项中填写密码。
注意:这个密码没有任何加密方式,是以明文存储的,无法防止拥有足够的访问网络权限的攻击者进行窃听,因为redis并不支持数据加密。
redis官方特意有一句话:redis运算速度非常快,防止其他人暴力破解密码。
3.以防有人更改我们的conf文件中的设置
通过设置config命令防止其他人执行config set xxx yyy的命令。
1)禁用config
495行rename-command CONFIG ""将config设置为""即可禁用。
2)将 config这个命令命名成一个很复杂的字符串
rename-command CONFIG "b840fc02d524045429941cc15f59e41cb7be6c52"
4.防火墙
推荐redis实例在局域网内访问,即程序和redis实例运行在同一个局域网。一般情况下一台直接暴露在Internet的计算机,防火墙应该防止外部用户访问它的redis端口,用户仍可以通过本地接口来访问redis。
不禁止外部访问redis的话,将会产生非常严重的后果。比如,一个FLUSHALL操作就可以当做外部攻击来删除redis上的所有数据。
5.加IP黑名单或者白名单
1)操作系统层面,设置白名单,只允许符合条件的IP访问,例如:ECS上有设置白名单的选项。
2)在redis层面,设置redis.conf中的bind选项,例如:bind 127.0.0.1
a.bind后面绑定的是允许访问的ip地址,如果有多个则IP之间用空格隔开
b.如果允许任何IP访问则将bind选项注销
6.做一些SSL安全访问代理
7.为redis实例增加日志记录
1)指定日志记录级别
# redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
# debug记录很多信息,用于开发和测试
# varbose有用的信息,不像debug会记录那么多
# notice普通的verbose,常用于生产环境
# warning只有非常重要或者严重的信息会记录到日志
loglevel debug
2)配置log文件地址
# 默认值为stdout,标准输出,若后台模式会输出到/dev/null
#logfile stdout
logfile /var/log/redis/redis.log
【redis的安全策略】


    推荐阅读