redis 公网 安全_redis安全加固方案

一. redis及redis漏洞简介

Redis是美国毕威拓(Pivotal)公司赞助开发的一套开源的使用ANSI C语言编写的,基于内存和键值对存储的数据库系统。Redis默认情况下会开启6379端口,在认证未开启的情况下,可导致任意用户进行未授权访问操作。

Redis安全模型观念:请不要将Redis暴漏在公网之上,因为让不受信任的客户接触Redis是非常危险的。

Redis公开漏洞查询网站:http://cve.mitre.org/

http://cve.scap.org.cn/

Redis相应CVE编号:

二.redis漏洞影响范围

Redis暴漏在公网(即绑定在0.0.0.0:6379,目标IP公网可访问),且没有开启相关认证及设置相应安全策略的情况下,存在被攻击利用的风险。

三.漏洞修复方案

厂商修复方案:暂无

安全社区参考修复方案:

(1)网络加固

如果仅为本地通信,请确保redis监听在本地。具体设置:/etc/redis/redis.conf中配置如下:    bind 127.0.0.1

(二)防火墙设置

如果需要其他机器访问,或者设置了Master-Slave模式,需添加防火墙设置,具体参考如下:

/sbin/iptables  -A INPUT -s x.x.x.x -p tcp --dport 6379 -j ACCEPT

(三)添加认证

默认情况下,redis未开启密码认证。开启认证模式,具体参考如下配置:

打开 /etc/redis/redis.conf,找到requirepass参数,设置密码,保存redis.conf,最后重启redis服务,/etc/init.d/redis-server restart

(四)设置单独账户

可设置一个单独的redis账户。创建redis账户,通过该账户启动redis服务,具体操作如下:setsid sudo -u redis /usr/bin/redis-serer /etc/redis/redis.conf

(五)重命名重要命令

redis没有权限分离之说,无管理员账号和普通账户之分,导致攻击者登陆后可执行任意操作,因此需要隐藏重要命令,具体如下:FLUSHDB, FLUSHALL, KEYS,PEXPIRE, DEL, CONFIG, SHUTDOWN, BGREWRITEAOF, BGSAVE, SAVE, SPOP, SREM, RENAME,DEBUG, EVAL等。

在redis2.8.1 及 redis3.x(<3.0.2) 版本下存在eval沙箱逃逸漏洞,攻击者可通过该漏洞执行任意Lua代码。

具体缓解攻击操作,供参考:下述配置将config/flushdb/flushall设置为空,即禁用该命令;也可命名一些攻击者难以猜解的名字。

rename-command CONFIG “”

rename-command flushall ""

rename-command flushdb ""

rename-command shutdown shotdown_test

保存后,执行/etc/init.d/redis-server restart重启生效。

参考文章:

http://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/

http://antirez.com/news/96

文章归档:http://secscorpio.top/?p=111

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值