首页 > Redis, 安全 > Redis安全性配置

Redis安全性配置

2015年11月17日
分类: Redis, 安全 标签: ,
发表评论 阅读评论

最近Redis刚爆出一个安全性漏洞,我的服务器就“光荣的”中招了。黑客攻击的基本方法是:

  • 扫描Redis端口,直接登录没有访问控制的Redis
  • 修改Redis存盘配置:config set dir /root/.ssh/; config set dbfilename /root/.ssh/authorized_keys
  • 添加key:crackit,将其值设置为新的公钥。然后就可以为所欲为了。

不影响客户端程序的修复办法:

  • 重命名config命令:rename-command CONFIG DO_NOT_USE_CONFIG
  • 重启Redis



现在我们就来认识一下Redis安全性方面的一些知识。

首先,Redis从设计上来说是用来被可信的客户端访问的,这就意味着不适于暴露给外部环境里的非可信客户端访问。最佳的实践方法是在Redis前面加一个访问控制层,校验用户请求。

其次,Redis本身提供了一些简单的配置以满足基本的安全控制。

  1. ip绑定。如果不需要直接对外提供服务,bind 127.0.0.1就行了,切忌bind 0.0.0.0!
  2. 端口设置。修改默认的6379,一定程度上避免被扫描。
  3. 设置密码。Redis的密码是通过requirepass以明文的形式配置在conf文件里的,所以要尽可能得长和复杂,降低被破解的风险。
  4. 重命名或禁用某些高危操作命令。向config、flushall、flushdb这些操作都是很关键的,不小心就会导致数据库不可用。可以在配置文件中通过rename-command重命名或禁用这些命令。

如果你想深入了解Redis实现原理,可以参考《Redis设计与实现》这本书。它从源码层介绍了Redis各种数据结构的实现细节,对于理解Redis运行机制有很大帮助。

您可能需要这些【参考资料】:
零一积流|IT参考 原创文章,转载请注明出处: http://www.it-refer.com/2015/11/17/redis-security-config


  1. 本文目前尚无任何评论.
您必须在 登录 后才能发布评论.