Redis 安全汇总小结

本文详细介绍了Redis的安全问题,包括未授权访问漏洞、敏感信息泄露、Webshell写入、SSH公钥种植及主从复制RCE的攻击利用方法。同时,文章提到了防御措施,如设置密码验证、修改默认端口、限制网络访问等,以增强Redis服务的安全性。
摘要由CSDN通过智能技术生成

Redis

redis 是一个C语言编写的 key-value 存储系统,可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。  Redis服务的默认端口是   6379。 

常用命令

  • 查看信息:info
  • 删除所有数据库内容:flushall
  • 刷新数据库:flushdb
  • 查看所有键:keys *,使用select num可以查看键值数据
  • 设置变量:set aaa “mi1k7ea”
  • 查看变量值:get aaa
  • 查看备份文件路径:config get dir
  • 设置备份文件路径:config set dir dirpath
  • 查看备份文件名:config get dbfilename
  • 设置备份文件名:config set dbfilename filename
  • 保存备份文件:save

漏洞环境搭建

这里搭建漏洞版本的Redis服务,同时配置服务进行全网监听:

# 下载并解压运行make
wget http://download.redis.io/releases/redis-3.2.11.tar.gz
tar zxf redis-3.2.11.tar.gz
cd redis-3.2.11/
make

# 进入src目录中将redis-server和redis-cli复制到/usr/bin目录下,方便命令识别
cd src
cp redis-server /usr/bin/
cp redis-cli /usr/bin/

# 将redis.conf复制到/etc/目录下
cd ..
cp redis.conf /etc/

# 编辑/etc/中的redis配置文件redis.conf
vim /etc/redis.conf
#	注释掉本地绑定,允许除本地外的主机远程访问Redis服务
#	#bind 127.0.0.1
#	关闭保护模式,允许远程连接Redis服务
#	protected-mode no   公网可连

# 使用/etc/目录下的redis.conf文件中的配置来启动Redis服务
redis-server /etc/redis.conf

链接 redis

redis-cli -h 公网IP或虚拟linux搭建的IP -p 6379

安全配置密码验证

我们可以通过Redis的配置文件设置密码参数,这样客户端连接到Redis服务就需要密码验证,这样可以让你的Redis服务更安全,进而杜绝了未授权访问漏洞。

我们可以通过以下命令查看是否设置了密码验证:

127.0.0.1:6379> CONFIG GET requirepass
1) "requirepass"
2) ""

默认情况下 requirepass 是控的,这就意味着你不用密码就能链接Redis 服务器

可以使用以下命令来修改该参数

127.0.0.1:6379> CONFIG set requirepass "snowy"
OK
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) "snowy"

这时候 你再 get reuirepass 的时候,他就会提示需要认证,否则无法执行命令:

密码验证 用到AUTH命令,如下:

AHUTH password</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值