Redis 因配置不当存在未授权访问漏洞,可以被攻击者恶意利用。
在特定条件下,如果 Redis 以 root 身份运行,黑客可以给 root 账号写入 SSH 公钥文件,直接通过 SSH 登录受害服务器,从而获取服务器权限和数据。一旦入侵成功,攻击者可直接添加账号用于 SSH 远程登录控制服务器,给用户的 Redis 运行环境以及 Linux 主机带来安全风险,如删除、泄露或加密重要数据,引发勒索事件等
Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用。这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安全性

修改配置文件

redis默认配置文件在/etc/redis.conf,注意修改时候备份文件一下,找到如下

# requirepass foobared

去掉前面的注释,并修改为所需要的密码:
requirepass myPassword (其中myPassword就是要设置的密码)

redis重新启动

如果Redis已经配置为service服务,可以通过以下方式重启

service redis restart

如果Redis没有配置为service服务,可以通过以下方式重启:

# 查看redis是否启动
ps -aux | grep redis
# 关闭
/usr/local/bin/redis-cli shutdown
# 再次查看redis是否启动
ps -aux | grep redis
# 启动redis
/usr/local/redis/src/redis-server /usr/local/redis/etc/redis.conf

登录验证

设置Redis认证密码后,客户端登录时需要使用-a参数输入认证密码,不添加该参数虽然也可以登录成功,但是没有任何操作权限

# 本地连接
redis-cli
# 查询所有的键
keys *
出现如下警告
(error) NOAUTH Authentication required

使用密码认证登录,并验证操作权限

redis-cli -h 127.0.0.1 -a redis20211227

20211227160228
看到类似上面的输出,说明Reids密码认证配置成功
使用-a参数输入登录密码,出现以下警告
Warning: Using a password with '-a' or '-u' option on the command line inter
也可以先登录,后面验证密码

# 客户端连接,默认端口-p 6379 -h 连接地址 127.0.0.1
redis-cli
# 验证密码
auth redis20211227
# 查询所有key
keys *
# 退出客户端
exit 

20211227160629

来源

  1. redis密码登录_Redis服务安全加固的说明
  2. 个人网站
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐