# 简介:
* Redis是一种非关系型数据库
* 使用ANSI C语言编写
* 支持网络
* 可基于没存亦可持久化的日志型,key-value数据库
* 提供多种语言的API
* 为保证效率,redis与memcached一样看,将数据缓存在内存中,周期性的把更新的数据写入磁盘或者修改操作写入追加的记录文件,在此基础上实现master-slave(主从)同步
* Redis未授权访问漏洞:入侵者访问到没有权限限制的Redis时可获取数据库中的所有数据
# 成因:
Redis默认开放6379端口,如果在配置服务器的时候,端口开放在了0.0.0.0上,而且防火墙也没有做防护,,就会导致其他机器可以访问该端口,如果没有设置链接密码,就形成了这个漏洞。
# 危害:
数据层面: 如果被访问到,可进行增删改查的操作
系统层面:需要跟Redis启动的权限相结合。如果以root身份启动Redis,将获得root权限。
# 检测方法:
扫描所有开了6379的IP
# 防御:
* Redis访问需要密码
* 对网络进行限制,如果是本机使用,可以将端口开放在127.0.0.1,如果要外部访问,设置防火墙白名单
* 将Redis启动权限降至nobody
* 测试Redis的时候,不能用带有flushall的exp,因为会清空数据库
# tip:
* web扫描器会有可能会影响客户业务
* 配合ssh_key不会对数据库的使用造成影响,但是有可能会利用不成功。