redis安全吗?

227 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第2天,点击查看活动详情

  • redis默认是没有密码的,这对于不少初次尝试安装redis的同学吃了不少的坑。当然Redis默认是没有密码的,如果要设置密码可以去配置文件中设置,我这里只是随便输内容,它也是能够访问的。 所以Redis的命令是在Redis的客户端执行的,它可以对服务器进行相应的操作。
  • 我这里的安全并不是字面意义的安全,我们要知道一个服务能够稳定的提供功能才叫安全服务。所以这里的安全更确切的应该是稳固。
  • 那么redis在哪些环境下会崩溃呢?

避免以下行为

  • keys 命令尽量不要使用。keys命令相当于mysql中的全表扫描。要知道redis正常存储都是缓存数据如果要进行全表扫描势必会造成资源的浪费,单线程下redis给我们的反馈就是卡顿。

  • redis产生的初衷就是扛下压力为数据库保驾护航,那么redis的兵法请求肯定很大,一旦我们服务稍微延迟放大到业务上可能就是一种灾害。所以我呼吁尽量少使用keys , 尤其是线上环境。

  • flushdb 和 flushall 会让redis的所有数据全部清空; 晴空所有数据和查询所有数据相比危害更大,查询顶多就是卡顿,清空则是直接删库跑路,如果你想跑路那倒是可以试试

如何避免

  • redis 可以提供 rename-command 指令可以将某些危险的指令,修改成特别的名称.
  • 作为专业的运维人员一定干过命令的alias的,这样就可以让使用者无法直接使用高危命令。redis也是如此我们直接隐藏这些命令不就行了。

总结

  • redis虽然性能友好,我们也得提高自身素养。不能一味靠硬件帮我们提升,内在提神也是必须的