Redis使用认证密码登录
Redis 因配置不当存在未授权访问漏洞,可以被攻击者恶意利用。在特定条件下,如果 Redis 以 root 身份运行,黑客可以给 root 账号写入 SSH 公钥文件,直接通过 SSH 登录受害服务器,从而获取服务器权限和数据。一旦入侵成功,攻击者可直接添加账号用于 SSH 远程登录控制服务器,给用户的 Redis 运行环境以及 Linux 主机带来安全风险,如删除、泄露或加密重要数据,引发勒索
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
看到类似上面的输出,说明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
来源
更多推荐
所有评论(0)