redis安全

Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将 Redis 服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下可以利用 Redis 的相关方法,可以成功在 Redis 服务器上写入公钥,进而可以使用对应私钥直接登录目标服务器。

入侵特征

  1. Redis 可能执行过 FLUSHALL 方法,整个 Redis 数据库被清空
  2. 在 Redis 数据库中新建了一个名为 crackit(网上流传的命令指令) 的键值对,内容为一个 SSH 公钥。
  3. 在 /root/.ssh 文件夹下新建或者修改了 authorized_keys 文件,内容为 Redis 生成的 db 文件,包含上述公钥

修复建议

  1. 禁止一些高危命令
修改redis.conf,添加
rename-command FLUSHALL  ""
rename-command CONFIG  ""
rename-command EVAL  ""
  1. 以低权限运行 Redis 服务
为 Redis 服务创建单独的用户和家目录,并且配置禁止登陆
  1. 为 Redis 添加密码验证
修改 redis.conf 文件,添加
requirepass mypassword
  1. 禁止外网访问Redis(也可以配置防火墙白名单)
修改 redis.conf 文件,添加或修改
bind 127.0.0.1

转自
http://ruby-china.org/topics/28094
http://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/

你可能感兴趣的:(redis安全)